Ayuda con un dialogo
#9

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;
}
ahora si deberнa de funcionarte..

y no, no hay problema que pongas IDs altos siempre y cuando uses switch para que busque la ID del dialog mas rapido
Reply


Messages In This Thread
Ayuda con un dialogo - by RafaelZam - 17.09.2013, 19:08
Respuesta: Ayuda con un dialogo - by EduGTA - 17.09.2013, 19:23
Respuesta: Ayuda con un dialogo - by Adoniiz - 17.09.2013, 19:29
Respuesta: Ayuda con un dialogo - by RafaelZam - 17.09.2013, 19:36
Respuesta: Ayuda con un dialogo - by Adoniiz - 18.09.2013, 00:16
Respuesta: Ayuda con un dialogo - by RafaelZam - 18.09.2013, 03:03
Respuesta: Ayuda con un dialogo - by Adoniiz - 18.09.2013, 04:06
Respuesta: Ayuda con un dialogo - by RafaelZam - 18.09.2013, 04:10
Respuesta: Ayuda con un dialogo - by Adoniiz - 18.09.2013, 05:03
Respuesta: Ayuda con un dialogo - by DesingMyCry - 18.09.2013, 06:27

Forum Jump:


Users browsing this thread: 1 Guest(s)