viewing paste logon cmd | C

Posted on the | Last edited on
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
//===== eAthena Script =======================================
//= Commands activation on player's login
//===== By: ==================================================
//= Damlug, rev lighta
//===== Current Version: =====================================
//= 1.3
//===== Compatible With: =====================================
//= eAthena SVN 14250 (previous version untested but probably working)
//===== Description: =========================================
//= Allow a player to choose which commands activate automatically on login
//= Works for autoloot, showexp, guildhp, main, whosell
//= For autoloot, players can choose the percent limit
//= For whosell, players can choose 1 items ID
//Bits des commandes
        //Autoloot:     startCommands   bit 0 [0;1]
        //Showexp:                      bit 1 [1;2]
        //Guildhp:                      bit 2 [2;4]
        //Ally  chat    startCommands2  bit 0 [0;1]
        //Main chat                     bit 1 [1;2]
        //autosell                      bit 2 [2:4]
//===== Additional Comments: =================================
//= 1.0 - Works for autoloot, showexp, guildhp  [2010/09/07]
//= 1.1 - Updated revision for char with space  [2010/12/10]
//= 1.2 - Add Main chat and whosell             [2011/01/13]
//= 1.3 - Add Ally chat
//============================================================
 
lof_vana,91,134,5       script  Serge   89,{
//prontera,159,162,5    script  Serge   89,{   
        while(1) {
                mes "Etat des commandes de démarrage";
                mes "[" + ((startCommands>>0)%2?"^009900"+ startAutolootRate +"%":"^FF0000OFF") + "^000000] Autoloot";
                mes "[" + ((startCommands>>1)%2?"^FF0000OFF":"^009900ON") + "^000000] Showexp"; //On inverse, vu que activée par défaut
                mes "[" + ((startCommands>>2)%2?"^009900ON":"^FF0000OFF") + "^000000] Guildhp";
                mes "[" + ((startCommands2>>0)%2?"^009900ON":"^FF0000OFF") + "^000000] Ally chat";
                mes "[" + ((startCommands2>>1)%2?"^009900ON":"^FF0000OFF") + "^000000] Main chat";
                mes "[" + ((startCommands2>>2)%2?"^009900 Item "+whosellitem :"^FF0000OFF") + "^000000] Auto whosell";
                mes "Choisissez la commande à modifier";
                switch(select("Autoloot:Showexp:Guildhp:Ally chat:Main chat:Whosell")) {
                        case 1:                                                                                                 //Autoloot
                                if(! ((startCommands>>0)%2)) {                                                                  //Activation
                                        mes "Entrez le pourcentage maximal";
                                        //On limite la valeur entrée à 0-100
                                        do {
                                        input startAutolootRate;
                                        if (startAutolootRate<0 || startAutolootRate>100) mes "Rates invalide veuillez recommencez";
                                        } while (startAutolootRate<0 || startAutolootRate>100);
                                        //Et si la valeur est comprise entre 1 et 100, on active la commande
                                        if(startAutolootRate) set startCommands, startCommands +1;
                                }                                                                                               //Désactivation
                                else set startCommands, startCommands -1;
                                break;
                        case 2:                                                                                                 //Showexp
                                if(! ((startCommands>>1)%2)) set startCommands, startCommands +2;                               //Activation
                                else set startCommands, startCommands -2;                                                       //Désactivation
                                break;
                        case 3:                                                                                                 //Guildhp
                                if(! ((startCommands>>2)%2)) set startCommands, startCommands +4;                               //Activation
                                else set startCommands, startCommands -4;                                                       //Désactivation
                                break;
                        case 4:                                                                                                 //Ally chat
                                if(! ((startCommands2>>0)%2)) set startCommands2, startCommands2 +1;                            //Activation
                                else set startCommands2, startCommands2 -1;                                                     //Désactivation                                                                        break;
                        case 5:                                                                                                 //Main chat
                                if(! ((startCommands2>>1)%2)) set startCommands2, startCommands2 +2;                            //Activation
                                else set startCommands2, startCommands2 -2;                                                     //Désactivation
                                break;
                        case 6:                                                                                                 //Whosell
                                if(! ((startCommands2>>2)%2)) {                                                                 //Activation
                                        mes "Entrez l'ID de l'iteml";
                                        //On limite l'ID d'entrée à >0
                                        do {
                                                input whosellitem;
                                                if (whosellitem<0) mes "ID invalide veuillez recommencez";
                                        } while (whosellitem<0);                        //ID max ?
                                        if(whosellitem) set startCommands2, startCommands2 +4;
                                }                                                                                               //Désactivation
                                else set startCommands2, startCommands2 -4;
                                break;
                }
                mes "Modifications enregistrées !";
                next;
        }
       
        OnPCLoginEvent:         //Activation des commandes au moment du log
                if((startCommands>>0)%2) atcommand "@autoloot "+startAutolootRate;      //Autoloot
                if((startCommands>>1)%2) atcommand "@showexp";                          //Showexp
                if((startCommands>>2)%2) atcommand "@guildhp";                          //Guildhp
                if((startCommands2>>0)%2) atcommand "@ally on";                         //Ally chat
                if((startCommands2>>1)%2) atcommand "@main on";                         //Main chat
                if((startCommands2>>2)%2) atcommand "@whosell "+whosellitem;            //Auto whosell
                end;
}
Viewed 465 times, submitted by lighta.