Error with dialog. -
iLcke - 05.10.2010
Im on a roll at first and then i get an error : >
error:
Код:
:\Users\iLcke\Desktop\zomg\gamemodes\IRP1.pwn(23515) : error 030: compound statement not closed at the end of file (started at line 23466)
(The error line is in bold)
Dialog:
Код:
if(dialogid == BUY_WEAPON) // Buy Weapon at ammunation
{
if(response)
{
if(listitem == 0)
{
if(GetPlayerMoney(playerid) < 1200) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
AntiHack(playerid, -1200);
GivePlayerWeapon(playerid, 24, 100);
}
else if(listitem == 1)
{
if(GetPlayerMoney(playerid) < 600) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
AntiHack(playerid, -600);
GivePlayerWeapon(playerid, 23, 100);
}
else if(listitem == 2)
{
if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
AntiHack(playerid, -1000);
GivePlayerWeapon(playerid, 25, 100);
}
else if(listitem == 3)
{
if(GetPlayerMoney(playerid) < 1500) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
AntiHack(playerid, -1500);
GivePlayerWeapon(playerid, 29, 100);
}
else if(listitem == 4)
{
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
AntiHack(playerid, -2000);
GivePlayerWeapon(playerid, 31, 100);
}
else if(listitem == 5)
{
if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
AntiHack(playerid, -100);
SetPlayerArmour(playerid, 100);
}
else if(listitem == 6)
{
if(PlayerInfo[playerid][pJob] != 12){SendClientMessage(playerid, COLOR_RED, "ERROR: Gun Dealer's Only!");
if(PlayerInfo[playerid][pCash] < 10000){SendClientMessage(playerid, COLOR_RED, "ERROR: Not enough money!");
if(materials[playerid] >= 10){SendClientMessage(playerid, COLOR_RED, "ERROR: You already have maximum supplies!");
AntiHack(playerid, -10000);
materials[playerid] = 10;
SendClientMessage(playerid, COLOR_RED, "You bought 10 Boxes of supplies");
}
}
}
return 1;
}
Thanks to the ones who atleast try to help also.
Re: Error with dialog. -
Caine Toth - 05.10.2010
try taking out a bracket or moving the brackets with the tab button
Re: Error with dialog. -
iLcke - 05.10.2010
did, didnt work.
Re: Error with dialog. -
iLcke - 05.10.2010
Double post, i found what it was, after i did some editting to it, i broke the following up;
if(PlayerInfo[playerid][pJob] != 12){SendClientMessage(playerid, COLOR_RED, "ERROR: Gun Dealer's Only!");
if(PlayerInfo[playerid][pCash] < 10000){SendClientMessage(playerid, COLOR_RED, "ERROR: Not enough money!");
if(materials[playerid] >= 10){SendClientMessage(playerid, COLOR_RED, "ERROR: You already have maximum supplies!");
and found i was missing 3 } thanks anyway
Re: Error with dialog. -
iFriSki - 05.10.2010
You're missing one bracket, to my belief. And you need to close up the statements at the end.
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == BUY_WEAPON) // Buy Weapon at ammunation
{
if(response)
{
if(listitem == 0)
{
GivePlayerWeapon(playerid, 24, 100);
}
else if(listitem == 1)
{
GivePlayerWeapon(playerid, 23, 100);
}
else if(listitem == 2)
{
GivePlayerWeapon(playerid, 25, 100);
}
else if(listitem == 3)
{
GivePlayerWeapon(playerid, 29, 100);
}
else if(listitem == 4)
{
GivePlayerWeapon(playerid, 31, 100);
}
else if(listitem == 5)
{
SetPlayerArmour(playerid, 100);
}
else if(listitem == 6)
{
}
}
}
return 1;
}
And I suggest switching over to case.
pawn Код:
if(dialogid == 5 && response)
{
switch(listitem)
{
case 0: // bla bla
{
return 1;
}
case 1: // bla bla
{
return 1;
}
case 2: // bla bla
{
return 1;
}
case 3: // bla bla
{
return 1;
}
case 4: // bla bla
{
return 1;
}
case 5: // bla bla
{
return 1;
}
} // end switch
} // end if dialogid == 5
Re: Error with dialog. -
iLcke - 06.10.2010
It was the } brackets i was talking about, with out them it would look like this;
Код:
if(PlayerInfo[playerid][pJob] != 12)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: Gun Dealer's Only!");
if(PlayerInfo[playerid][pCash] < 10000)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: Not enough money!");
if(materials[playerid] >= 10)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: You already have maximum supplies!");
But meh
and @ case's, i usally use listitem, but, would that actually effect performance?