Problema Dialog
#1

Pessoal estou com um problema no
Код:
Case 2:
D:\GM\larp.pwn(44909) : error 014: invalid statement; not in switch
D:\GM\larp.pwn(44909) : warning 215: expression has no effect
D:\GM\larp.pwn(44909) : error 001: expected token: ";", but found ":"
D:\GM\larp.pwn(44909) : error 029: invalid expression, assumed zero
D:\GM\larp.pwn(44909) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.


Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	new string[350];
	if(response)//they pressed the first button
    {
   		switch(dialogid)
	{
	    case 0:
	    {
			    if(PlayerInfo[playerid][pTraderPerk] > 0)
			    {
					new skill = 150 / 100;
					new price = (skill)*(PlayerInfo[playerid][pTraderPerk]);
					new payout = 150 - price;
			        format(string, sizeof(string), "~r~-$%d", payout);
					GameTextForPlayer(playerid, string, 5000, 1);
					SafeGivePlayerMoney(playerid,- payout);
					SBizzInfo[9][sbTill] += payout;
					ExtortionSBiz(9, payout);
			    }
			    else
			    {
			        format(string, sizeof(string), "~r~-$%d", 150);
					GameTextForPlayer(playerid, string, 5000, 1);
					SafeGivePlayerMoney(playerid,-150);
					SBizzInfo[9][sbTill] += 150;
					ExtortionSBiz(9, 150);
			    }
				PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
				new randphone = 100000 + random(899999);//minimum 1000  max 9999
				PlayerInfo[playerid][pPnumber] = randphone;
				format(string, sizeof(string), "Celular foi Comprado, o seu nъmero novo й %d", randphone);
				SendClientMessage(playerid, COLOR_GRAD4, string);
				SendClientMessage(playerid, COLOR_GRAD5, "Se vocк se esquecer, verifique em /stats");
				SendClientMessage(playerid, COLOR_WHITE, "DICA: Vocк pode digitar /help para ver os comandos do celular.");
				return 1;
			}
 		case 1:
	    {
	    		if(PlayerInfo[playerid][pTraderPerk] > 0)
			    {
					new skill = 10 / 100;
					new price = (skill)*(PlayerInfo[playerid][pTraderPerk]);
					new payout = 10 - price;
					SafeGivePlayerMoney(playerid,- payout);
					SBizzInfo[9][sbTill] += payout;
					ExtortionSBiz(9, payout);
					format(string, sizeof(string), "~r~-$%d", payout);
					GameTextForPlayer(playerid, string, 5000, 1);
				}
				else
				{
				    SafeGivePlayerMoney(playerid,-10);
					SBizzInfo[9][sbTill] += 10;
					ExtortionSBiz(9, 10);
					format(string, sizeof(string), "~r~-$%d", 10);
					GameTextForPlayer(playerid, string, 5000, 1);
				}
				PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
				gDice[playerid] = 1;
				format(string, sizeof(string), "   Dice Purchased you can throw your Dice.");
				SendClientMessage(playerid, COLOR_GRAD4, string);
				SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /dice ");
				return 1;
			}
		}
 		case 2:
	    {
			    PlayerInfo[playerid][pFuel] = 20;
			    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
			    SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /fillup");
			    GameTextForPlayer(playerid, "~r~-$20", 5000, 1);
				return 1;
	   }
   }
    	return 0;
}
Reply
#2

tenta agora xD

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new string[350];
    if(response)//they pressed the first button
    {
        switch(dialogid)
    {
        case 0:
        {
                if(PlayerInfo[playerid][pTraderPerk] > 0)
                {
                    new skill = 150 / 100;
                    new price = (skill)*(PlayerInfo[playerid][pTraderPerk]);
                    new payout = 150 - price;
                    format(string, sizeof(string), "~r~-$%d", payout);
                    GameTextForPlayer(playerid, string, 5000, 1);
                    SafeGivePlayerMoney(playerid,- payout);
                    SBizzInfo[9][sbTill] += payout;
                    ExtortionSBiz(9, payout);
                }
                else
                {
                    format(string, sizeof(string), "~r~-$%d", 150);
                    GameTextForPlayer(playerid, string, 5000, 1);
                    SafeGivePlayerMoney(playerid,-150);
                    SBizzInfo[9][sbTill] += 150;
                    ExtortionSBiz(9, 150);
                }
                PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                new randphone = 100000 + random(899999);//minimum 1000  max 9999
                PlayerInfo[playerid][pPnumber] = randphone;
                format(string, sizeof(string), "Celular foi Comprado, o seu nъmero novo й %d", randphone);
                SendClientMessage(playerid, COLOR_GRAD4, string);
                SendClientMessage(playerid, COLOR_GRAD5, "Se vocк se esquecer, verifique em /stats");
                SendClientMessage(playerid, COLOR_WHITE, "DICA: Vocк pode digitar /help para ver os comandos do celular.");
                return 1;
            }
        case 1:
        {
                if(PlayerInfo[playerid][pTraderPerk] > 0)
                {
                    new skill = 10 / 100;
                    new price = (skill)*(PlayerInfo[playerid][pTraderPerk]);
                    new payout = 10 - price;
                    SafeGivePlayerMoney(playerid,- payout);
                    SBizzInfo[9][sbTill] += payout;
                    ExtortionSBiz(9, payout);
                    format(string, sizeof(string), "~r~-$%d", payout);
                    GameTextForPlayer(playerid, string, 5000, 1);
                }
                else
                {
                    SafeGivePlayerMoney(playerid,-10);
                    SBizzInfo[9][sbTill] += 10;
                    ExtortionSBiz(9, 10);
                    format(string, sizeof(string), "~r~-$%d", 10);
                    GameTextForPlayer(playerid, string, 5000, 1);
                }
                PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                gDice[playerid] = 1;
                format(string, sizeof(string), "   Dice Purchased you can throw your Dice.");
                SendClientMessage(playerid, COLOR_GRAD4, string);
                SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /dice ");
               }
        case 2:
        {
                PlayerInfo[playerid][pFuel] = 20;
                PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /fillup");
                GameTextForPlayer(playerid, "~r~-$20", 5000, 1);
                return 1;
                 }
       }
        return 0;
}
Reply
#3

Nгo й switch(dialogid), dialogid й para identificar qual dialog vocк quer configurar. O cуdigo certo:

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new string[350];
    if(dialogid == NOME_DO_DIALOG && response)//they pressed the first button
    {
        switch(dialogid)
        {
            case 0:
            {
                    if(PlayerInfo[playerid][pTraderPerk] > 0)
                    {
                        new skill = 150 / 100;
                        new price = (skill)*(PlayerInfo[playerid][pTraderPerk]);
                        new payout = 150 - price;
                        format(string, sizeof(string), "~r~-$%d", payout);
                        GameTextForPlayer(playerid, string, 5000, 1);
                        SafeGivePlayerMoney(playerid,- payout);
                        SBizzInfo[9][sbTill] += payout;
                        ExtortionSBiz(9, payout);
                    }
                    else
                    {
                        format(string, sizeof(string), "~r~-$%d", 150);
                        GameTextForPlayer(playerid, string, 5000, 1);
                        SafeGivePlayerMoney(playerid,-150);
                        SBizzInfo[9][sbTill] += 150;
                        ExtortionSBiz(9, 150);
                    }
                    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                    new randphone = 100000 + random(899999);//minimum 1000  max 9999
                    PlayerInfo[playerid][pPnumber] = randphone;
                    format(string, sizeof(string), "Celular foi Comprado, o seu nъmero novo й %d", randphone);
                    SendClientMessage(playerid, COLOR_GRAD4, string);
                    SendClientMessage(playerid, COLOR_GRAD5, "Se vocк se esquecer, verifique em /stats");
                    SendClientMessage(playerid, COLOR_WHITE, "DICA: Vocк pode digitar /help para ver os comandos do celular.");
                    return 1;
            }
            case 1:
            {
                    if(PlayerInfo[playerid][pTraderPerk] > 0)
                    {
                        new skill = 10 / 100;
                        new price = (skill)*(PlayerInfo[playerid][pTraderPerk]);
                        new payout = 10 - price;
                        SafeGivePlayerMoney(playerid,- payout);
                        SBizzInfo[9][sbTill] += payout;
                        ExtortionSBiz(9, payout);
                        format(string, sizeof(string), "~r~-$%d", payout);
                        GameTextForPlayer(playerid, string, 5000, 1);
                    }
                    else
                    {
                        SafeGivePlayerMoney(playerid,-10);
                        SBizzInfo[9][sbTill] += 10;
                        ExtortionSBiz(9, 10);
                        format(string, sizeof(string), "~r~-$%d", 10);
                        GameTextForPlayer(playerid, string, 5000, 1);
                    }
                    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                    gDice[playerid] = 1;
                    format(string, sizeof(string), "   Dice Purchased you can throw your Dice.");
                    SendClientMessage(playerid, COLOR_GRAD4, string);
                    SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /dice ");
                    return 1;
            }
        case 2:
        {
                PlayerInfo[playerid][pFuel] = 20;
                PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /fillup");
                GameTextForPlayer(playerid, "~r~-$20", 5000, 1);
                return 1;
       }
   }
   return 1;
}
Tinha erros de fechamento de chaves incorreta, erros de return, erros do switch e o dialog nгo havia sido identificado. Substitua NOME_DO_DIALOG pelo nъmero ou nome do seu dialog, lembrando que o ID de um dialog sу pode ser um nъmero, se quiser dar um nome, defina:

pawn Код:
#define NOME_DO_DIALOG 1
#define DIALOG2 2
#define DIALOG3 3
Assim vai poder usar nomes em vez de nъmeros.
Reply
#4

Vlw cara, ow, e sobre os dialogs login do LARP, vocк tem?
Reply
#5

Quote:
Originally Posted by GuikBretas
Посмотреть сообщение
Vlw cara, ow, e sobre os dialogs login do LARP, vocк tem?
Й sу pesquisar no search sobre login box ou login dialog que vocк acha um monte. Estude e faзa seu prуprio, melhor que copiar. FikDik
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)