//===== 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;
}