18.09.2013, 05:03
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 999)
{
if(!response) return Kick(playerid);
if(listitem == 0)
{
SendClientMessage(playerid, COLOR_blue2, "You chose the Soldado as your class.");
ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "Soldado Class:", "Abilities:\nnone for now\n", "Play","");
gPlayerClass[playerid] = Soldado;
PickedClass[playerid] = 1;
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 1);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 31, 200);
GivePlayerWeapon(playerid, 25, 100);
GivePlayerWeapon(playerid, 24, 70);
GivePlayerWeapon(playerid, 46, 1);
GivePlayerWeapon(playerid, 27, 54);
}
if(listitem == 1)
{
SendClientMessage(playerid, COLOR_blue2, "You chose the Sniper as your class.");
ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "Sniper Class:", "Abilities:\n{no one for now\n", "Play","");
gPlayerClass[playerid] = Sniper;
PickedClass[playerid] = 1;
RemovePlayerMapIcon(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 1);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 34, 250);
GivePlayerWeapon(playerid, 29, 250);
GivePlayerWeapon(playerid, 4, 1);
GivePlayerWeapon(playerid, 46, 1);
GivePlayerWeapon(playerid, 23, 200);
}
if(listitem == 2)
{
SendClientMessage(playerid, COLOR_blue2, "You chose the Ingeniero as your class.");
ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "Ingeniero Class:", "Abilities:\n{no one for now\n", "Play","");
gPlayerClass[playerid] = Ingeniero;
PickedClass[playerid] = 1;
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 1);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 27, 200);
GivePlayerWeapon(playerid, 23, 200);
GivePlayerWeapon(playerid, 35, 2);
GivePlayerWeapon(playerid, 16, 2);
GivePlayerWeapon(playerid, 46, 1);
}
if(listitem == 3)
{
SendClientMessage(playerid, COLOR_blue2, "You chose the Pilot as your class.");
ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "Piloto Class:", "Abilities:\nPilotos can drive hydras/hunters\nAlso get more weapons for your class\n pilots can use /rbots\n", "Play","");
PickedClass[playerid] = 1;
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 1);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 24, 200);
GivePlayerWeapon(playerid, 17, 4);
GivePlayerWeapon(playerid, 25, 100);
GivePlayerWeapon(playerid, 46, 1);
}
if(listitem == 4)
{
SendClientMessage(playerid, COLOR_blue2, "You chose the Spy as your class.");
ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "Espia Class:", "Abilities:\nYou can change your color\nEspias can use /dis cmd and /healesp \nAlso get more weapons\n", "Play","");
gPlayerClass[playerid] = Espia;
PickedClass[playerid] = 1;
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 1);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 29, 200);
GivePlayerWeapon(playerid, 23, 200);
GivePlayerWeapon(playerid, 4, 1);
GivePlayerWeapon(playerid, 18, 2);
GivePlayerWeapon(playerid, 46, 1);
}
}
if(dialogid == 1000)
{
if(!response) return SendClientMessage(playerid, COLOR_red, "You selected nothing...!canceled!");
if(listitem == 0)
{
SetPlayerColor(playerid, COLOR_GREY);
SetPlayerSkin(playerid, 254);
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, COLOR_GREY, "Now you're like ECUADOR");
}
if(listitem == 1)
{
SetPlayerColor(playerid, COLOR_yellow);
SetPlayerSkin(playerid, 208);
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, COLOR_yellow,"Now You're like COLOMBIA");
}
if(listitem == 2)
{
SetPlayerColor(playerid, COLOR_orange);
SetPlayerSkin(playerid, 23);
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, COLOR_orange,"Now You're like BRAZIL");
}
if(listitem == 3)
{
SetPlayerColor(playerid, COLOR_green2);
SetPlayerSkin(playerid, 206);
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, COLOR_green2, "Now You're Like MEXICO");
}
if(listitem == 4)
{
SetPlayerColor(playerid, COLOR_blue2);
SetPlayerSkin(playerid, 122);
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, COLOR_blue2, "Now you're like ARGETINA");
}
}
if(dialogid == 67)
{
if(!response) return SendClientMessage(playerid, -1, "You've cancelled the weapon shop dialog.");
switch(listitem)
{
case 0:
{
if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, 0, "You don't have enough money to purchase this weapon.");
GivePlayerMoney(playerid, -100);
GivePlayerWeapon(playerid, 4, 1);
}
case 1:
{
if(GetPlayerMoney(playerid) < 120) return SendClientMessage(playerid, 0, "You don't have enough money to purchase this weapon.");
GivePlayerMoney(playerid, -120);
GivePlayerWeapon(playerid, 22, 120);
}
case 2:
{
if(GetPlayerMoney(playerid) < 250) return SendClientMessage(playerid, 0, "You don't have enough money to purchase this weapon.");
GivePlayerMoney(playerid, -250);
GivePlayerWeapon(playerid, 24, 150);
}
case 3:
{
if(GetPlayerMoney(playerid) < 200) return SendClientMessage(playerid, 0, "You don't have enough money to purchase this weapon.");
GivePlayerMoney(playerid, -200);
GivePlayerWeapon(playerid, 23, 130);
}
case 4:
{
if(GetPlayerMoney(playerid) < 400) return SendClientMessage(playerid, 0, "You don't have enough money to purchase this weapon.");
GivePlayerMoney(playerid, -400);
GivePlayerWeapon(playerid, 32, 200);
}
case 5:
{
if(GetPlayerMoney(playerid) < 450) return SendClientMessage(playerid, 0, "You don't have enough money to purchase this weapon.");
GivePlayerMoney(playerid, -450);
GivePlayerWeapon(playerid, 28, 200);
}
case 6:
{
if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, 0, "You don't have enough money to purchase this weapon.");
GivePlayerMoney(playerid, -500);
GivePlayerWeapon(playerid, 29, 300);
}
case 7:
{
if(GetPlayerMoney(playerid) < 650) return SendClientMessage(playerid, 0, "You don't have enough money to purchase this weapon.");
GivePlayerMoney(playerid, -650);
GivePlayerWeapon(playerid, 30, 200);
}
case 8:
{
if(GetPlayerMoney(playerid) < 650) return SendClientMessage(playerid, 0, "You don't have enough money to purchase this weapon.");
GivePlayerMoney(playerid, -650);
GivePlayerWeapon(playerid, 31, 200);
}
case 9:
{
if(GetPlayerMoney(playerid) < 200) return SendClientMessage(playerid, 0, "You don't have enough money to purchase this weapon.");
GivePlayerMoney(playerid, -200);
GivePlayerWeapon(playerid, 26, 80);
}
}
}
if(dialogid == 100)
{
if(!response) return SendClientMessage(playerid, COLOR_red," you canceled this dialog");
switch(listitem)
{
case 0:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,1642.3022,-2333.6287,13.5469);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid, COLOR_red2, "now attack him !!!!!! this is sparta !! :D! have fun");
}
case 1:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,1642.3022,-2333.6287,13.5469);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid, COLOR_red2, "now attack him !!!!!! this is sparta !! :D! have fun");
}
case 2:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,1642.3022,-2333.6287,13.5469);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid, COLOR_red2, "now attack him !!!!!! this is sparta !! :D! have fun");
}
case 3:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,1642.3022,-2333.6287,13.5469);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid, COLOR_red2, "now attack him !!!!!! this is sparta !! :D! have fun");
}
case 4:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,1642.3022,-2333.6287,13.5469);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid, COLOR_red2, "now attack him !!!!!! this is sparta !! :D! have fun");
}
}
}
if(dialogid == dregister)
{
if(!response) return Kick(playerid);
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,dregister,DIALOG_STYLE_PASSWORD,"Register","Welcome! This account is not registered.\nEnter your own password to create a new account.\nPlease enter the password!","Register","Quit");
}
new hashpass[129];
WP_Hash(hashpass,sizeof(hashpass),inputtext);
new INI:file = INI_Open(Path(playerid));
INI_SetTag(file,"Player's Data");
INI_WriteString(file,"Password",hashpass);
INI_WriteInt(file,"AdminLevel",0);
INI_WriteInt(file,"VIPLevel",0);
INI_WriteInt(file,"Money",0);
INI_WriteInt(file,"Scores",0);
INI_WriteInt(file,"Kills",0);
INI_WriteInt(file,"Deaths",0);
INI_WriteInt(file,"Ranks", 0);
INI_Close(file);
SendClientMessage(playerid,-1,"You have been successfully registered");
}
if(dialogid == dlogin)
{
if(!response) return Kick(playerid);
new hashpass[129];
WP_Hash(hashpass,sizeof(hashpass),inputtext);
if(!strcmp(hashpass,pInfo[playerid][Pass]))
{
INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid);
SetPlayerScore(playerid,pInfo[playerid][Scores]);
GivePlayerMoney(playerid,pInfo[playerid][Money]);
SetPlayerScore(playerid, GetPlayerScore(Rank[playerid]));
SendClientMessage(playerid,-1,"Welcome back! You have successfully logged in");
}
else
{
ShowPlayerDialog(playerid,dlogin,DIALOG_STYLE_PASSWORD,"Login","Welcome back. This account is registered. \nInsert your password to login to your account.\nIncorrect password!","Login","Quit");
}
}
return 1;
}
y no, no hay problema que pongas IDs altos siempre y cuando uses switch para que busque la ID del dialog mas rapido