Another "OnDialogResponse" problem.. again -
Kyance - 25.11.2013
So, I'm trying stuff with the mSelection, but i keep getting these OnDialogResponse errors/warnings..
List of errors/warnings:
Код:
test.pwn(1516) : error 002: only a single statement (or expression) can follow each "case"
test.pwn(1516) : warning 215: expression has no effect
Here's the script:
pawn Код:
case DIALOG_TUNING:
{
if( response )
{
switch(listitem)
{
case 0:
{
SetPlayerPos(playerid, -2688.6833,199.3060,6.6250);
new name[MAX_PLAYER_NAME];
new string[94];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "[TELEPORT] - %s[%d] has teleported to WAA!(Wheel Arch Angels)", name, playerid);
SendClientMessageToAll(COLOR_GREEN, string);
}
case 1:
{
SetPlayerPos(playerid, 2637.1890,-2011.6135,13.8139);
new name[MAX_PLAYER_NAME];
new string[94];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "[TELEPORT] - %s[%d] has teleported to the Low-Rider car tuning!", name, playerid);
SendClientMessageToAll(COLOR_GREEN, string);
}
return 1; //error line
}
}
(Next script under)
But if i remove the "return 1;"
I get these errors ->
Код:
test.pwn(1518) : warning 217: loose indentation
test.pwn(1518) : error 014: invalid statement; not in switch
test.pwn(1518) : warning 215: expression has no effect
test.pwn(1518) : error 001: expected token: ";", but found ":"
test.pwn(1518) : error 029: invalid expression, assumed zero
test.pwn(1518) : fatal error 107: too many error messages on one line
And here's the script again.
pawn Код:
case DIALOG_TUNING:
{
if( response )
{
switch(listitem)
{
case 0:
{
SetPlayerPos(playerid, -2688.6833,199.3060,6.6250);
new name[MAX_PLAYER_NAME];
new string[94];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "[TELEPORT] - %s[%d] has teleported to WAA!(Wheel Arch Angels)", name, playerid);
SendClientMessageToAll(COLOR_GREEN, string);
}
case 1:
{
SetPlayerPos(playerid, 2637.1890,-2011.6135,13.8139);
new name[MAX_PLAYER_NAME];
new string[94];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "[TELEPORT] - %s[%d] has teleported to the Low-Rider car tuning!", name, playerid);
SendClientMessageToAll(COLOR_GREEN, string);
}
}
}
case DIALOG_VEHICLES: //error line here
{
if( response )
{
switch(listitem)
{
case 0:
{
ShowModelSelectionMenu(playerid, bikelist , "Bikes");
return 1;
}
case 1:
{
ShowModelSelectionMenu(playerid, boatlist, "Boats");
return 1;
}
case 2:
{
ShowModelSelectionMenu(playerid, convertibleslist, "Converibles");
return 1;
}
case 3:
{
ShowModelSelectionMenu(playerid, helicopterlist, "Helicopters");
return 1;
}
case 4:
{
ShowModelSelectionMenu(playerid, industriallist, "Industrial Vehicles");
return 1;
}
case 5:
{
ShowModelSelectionMenu(playerid, lowriderlist, "Low-Riders");
return 1;
}
case 6:
{
ShowModelSelectionMenu(playerid, offroadlist, "Off-road Vehicles");
return 1;
}
case 7:
{
ShowModelSelectionMenu(playerid, planelist, "Planes");
return 1;
}
case 8:
{
ShowModelSelectionMenu(playerid, publicservicelist, "Public Services");
return 1;
}
case 9:
{
ShowModelSelectionMenu(playerid, saloonlist, "Saloons");
return 1;
}
case 10:
{
ShowModelSelectionMenu(playerid, stationwagonlist, "Station Wagons");
return 1;
}
case 11:
{
ShowModelSelectionMenu(playerid, sportvehiclelist, "Sport Vehicles");
return 1;
}
case 12:
{
ShowModelSelectionMenu(playerid, trailerlist, "Trailers");
return 1;
}
case 13:
{
ShowModelSelectionMenu(playerid, uniquevehiclelist, "Unique Vehicles");
return 1;
}
}
}
}
}
return 1;
}
Re: Another "OnDialogResponse" problem.. again -
Konstantinos - 25.11.2013
pawn Код:
switch(dialogid)
{
case DIALOG_TUNING:
{
if( response )
{
switch(listitem)
{
case 0:
{
SetPlayerPos(playerid, -2688.6833,199.3060,6.6250);
new name[MAX_PLAYER_NAME];
new string[94];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "[TELEPORT] - %s[%d] has teleported to WAA!(Wheel Arch Angels)", name, playerid);
SendClientMessageToAll(COLOR_GREEN, string);
}
case 1:
{
SetPlayerPos(playerid, 2637.1890,-2011.6135,13.8139);
new name[MAX_PLAYER_NAME];
new string[94];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "[TELEPORT] - %s[%d] has teleported to the Low-Rider car tuning!", name, playerid);
SendClientMessageToAll(COLOR_GREEN, string);
}
}
}
}
case DIALOG_VEHICLES: //error line here
{
if( response )
{
switch(listitem)
{
case 0: ShowModelSelectionMenu(playerid, bikelist , "Bikes");
case 1: ShowModelSelectionMenu(playerid, boatlist, "Boats");
case 2: ShowModelSelectionMenu(playerid, convertibleslist, "Converibles");
case 3: ShowModelSelectionMenu(playerid, helicopterlist, "Helicopters");
case 4: ShowModelSelectionMenu(playerid, industriallist, "Industrial Vehicles");
case 5: ShowModelSelectionMenu(playerid, lowriderlist, "Low-Riders");
case 6: ShowModelSelectionMenu(playerid, offroadlist, "Off-road Vehicles");
case 7: ShowModelSelectionMenu(playerid, planelist, "Planes");
case 8: ShowModelSelectionMenu(playerid, publicservicelist, "Public Services");
case 9: ShowModelSelectionMenu(playerid, saloonlist, "Saloons");
case 10: ShowModelSelectionMenu(playerid, stationwagonlist, "Station Wagons");
case 11: ShowModelSelectionMenu(playerid, sportvehiclelist, "Sport Vehicles");
case 12: ShowModelSelectionMenu(playerid, trailerlist, "Trailers");
case 13: ShowModelSelectionMenu(playerid, uniquevehiclelist, "Unique Vehicles");
}
}
}
}
Re: Another "OnDialogResponse" problem.. again -
Kyance - 25.11.2013
Uh, i already have the "switch(dialogid)" at the top of ondialogresponse
And i tried changing the spots of the script you gave, but i had some errors(talking to Konstantinos, in-case someone replied and i didnt notice)
Well, here's the full OnDialogResponse script..
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_FOOD1:
{
if(response)
{
switch(listitem)
{
case 0:
{
GameTextForPlayer(playerid, "Pizza chosen!", 3500, 1);
SetPlayerHealth(playerid, 99);
SendClientMessage(playerid, COLOR_ORANGE, "Health re-generated!");
}
case 1:
{
GameTextForPlayer(playerid, "Hamburger chosen!", 3500, 1);
SetPlayerHealth(playerid, 99);
SendClientMessage(playerid, COLOR_ORANGE, "Health re-generated!");
}
case 2:
{
GameTextForPlayer(playerid, "Fish chosen!", 3500, 1);
SetPlayerHealth(playerid, 87);
SendClientMessage(playerid, COLOR_RED, "The fish wasn't that good..");
}
case 3:
{
GameTextForPlayer(playerid, "Salad chosen!", 3500, 1);
SetPlayerHealth(playerid, 120);
SendClientMessage(playerid, COLOR_ORANGE, "Healthy food made you healthier :]");
}
case 4:
{
GameTextForPlayer(playerid, "Kebab chosen!", 3500, 1);
SetPlayerHealth(playerid, 95);
SendClientMessage(playerid, COLOR_ORANGE, "Not really the best kebab..");
}
case 5:
{
GameTextForPlayer(playerid, "Ice-Cream chosen!", 3500, 1);
SetPlayerHealth(playerid, 91);
SendClientMessage(playerid, COLOR_BLUE, "Brain-freeze..");
}
case 6:
{
GameTextForPlayer(playerid, "Cookies chosen!", 3500, 1);
SetPlayerHealth(playerid, 99);
SendClientMessage(playerid, COLOR_ORANGE, "COOKIE MONSTAR");
}
case 7:
{
GameTextForPlayer(playerid, "Spaghetti chosen!", 3500, 1);
SetPlayerHealth(playerid, 91);
SendClientMessage(playerid, COLOR_ORANGE, "You should wash your mouth now..");
}
case 8:
{
GameTextForPlayer(playerid, "Indian Paratha chosen!", 3500, 1);
SetPlayerHealth(playerid, 91);
SendClientMessage(playerid, COLOR_ORANGE, "Good good");
}
case 9:
{
GameTextForPlayer(playerid, "Indian Dosai chosen!", 3500, 1);
SetPlayerHealth(playerid, 95);
SendClientMessage(playerid, COLOR_ORANGE, "Well, not bad..");
}
}
}
return 1;
}
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registration","You have entered an invalid password.\nType your password below to register a new account.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Kills",0);
INI_WriteInt(File,"Deaths",0);
INI_WriteInt(File,"Score",0);
INI_WriteInt(File,"Muted",0);
INI_Close(File);
SpawnPlayer(playerid);
}
}
case DIALOG_LOGIN:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,"Success!","You have successfully logged in!","Ok","");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Login","You have entered an incorrect password.\nType your password below to login.","Login","Quit");
}
return 1;
}
}
case DIALOG_RULES:
{
if( response )
{
new name[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid, name, sizeof(name));
SendClientMessage(playerid, COLOR_GREEN, "[RULES] - Since you've read and hopefully understood the rules, admins will be able to take actions against you!");
SendClientMessage(playerid, COLOR_GREEN, "[RULES] - If you will constantly breaking rules, you may end up getting banned!");
SendClientMessage(playerid, COLOR_GREEN, "[RULES] - Now, if you have any questions, use /helpme or /pm an admin.");//checkpoint3
format(string, sizeof(string), "[RULES] - %s has read the rules, you may award him, and/or make sure that he follows them", name);
SendMessageToAdmins(string);
}
return 1;
}
case DIALOG_CREDITS:
{
if( response )
{
SendClientMessage(playerid, COLOR_GREEN,"[CREDITS] - In-case you have any questions/suggestions, you can add Kyance on skype - patriksfr");
}
return 1;
}
case DIALOG_TUNING:
{
if( response )
{
switch(listitem)
{
case 0:
{
SetPlayerPos(playerid, -2688.6833,199.3060,6.6250);
new name[MAX_PLAYER_NAME];
new string[94];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "[TELEPORT] - %s[%d] has teleported to WAA!(Wheel Arch Angels)", name, playerid);
SendClientMessageToAll(COLOR_GREEN, string);
}
case 1:
{
SetPlayerPos(playerid, 2637.1890,-2011.6135,13.8139);
new name[MAX_PLAYER_NAME];
new string[94];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "[TELEPORT] - %s[%d] has teleported to the Low-Rider car tuning!", name, playerid);
SendClientMessageToAll(COLOR_GREEN, string);
}
}
}
case DIALOG_VEHICLES:
{
if( response )
{
switch(listitem)
{
case 0:
{
ShowModelSelectionMenu(playerid, bikelist , "Bikes");
return 1;
}
case 1:
{
ShowModelSelectionMenu(playerid, boatlist, "Boats");
return 1;
}
case 2:
{
ShowModelSelectionMenu(playerid, convertibleslist, "Converibles");
return 1;
}
case 3:
{
ShowModelSelectionMenu(playerid, helicopterlist, "Helicopters");
return 1;
}
case 4:
{
ShowModelSelectionMenu(playerid, industriallist, "Industrial Vehicles");
return 1;
}
case 5:
{
ShowModelSelectionMenu(playerid, lowriderlist, "Low-Riders");
return 1;
}
case 6:
{
ShowModelSelectionMenu(playerid, offroadlist, "Off-road Vehicles");
return 1;
}
case 7:
{
ShowModelSelectionMenu(playerid, planelist, "Planes");
return 1;
}
case 8:
{
ShowModelSelectionMenu(playerid, publicservicelist, "Public Services");
return 1;
}
case 9:
{
ShowModelSelectionMenu(playerid, saloonlist, "Saloons");
return 1;
}
case 10:
{
ShowModelSelectionMenu(playerid, stationwagonlist, "Station Wagons");
return 1;
}
case 11:
{
ShowModelSelectionMenu(playerid, sportvehiclelist, "Sport Vehicles");
return 1;
}
case 12:
{
ShowModelSelectionMenu(playerid, trailerlist, "Trailers");
return 1;
}
case 13:
{
ShowModelSelectionMenu(playerid, uniquevehiclelist, "Unique Vehicles");
return 1;
}
}
}
}
}
return 1;
}
And yes, i didn't change it, cause i didn't know where to place it >:[
Re: Another "OnDialogResponse" problem.. again -
Konstantinos - 25.11.2013
You missed few brackets and I switched the dialogid because I didn't want to confuse you.
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_FOOD1:
{
if(response)
{
switch(listitem)
{
case 0:
{
GameTextForPlayer(playerid, "Pizza chosen!", 3500, 1);
SetPlayerHealth(playerid, 99);
SendClientMessage(playerid, COLOR_ORANGE, "Health re-generated!");
}
case 1:
{
GameTextForPlayer(playerid, "Hamburger chosen!", 3500, 1);
SetPlayerHealth(playerid, 99);
SendClientMessage(playerid, COLOR_ORANGE, "Health re-generated!");
}
case 2:
{
GameTextForPlayer(playerid, "Fish chosen!", 3500, 1);
SetPlayerHealth(playerid, 87);
SendClientMessage(playerid, COLOR_RED, "The fish wasn't that good..");
}
case 3:
{
GameTextForPlayer(playerid, "Salad chosen!", 3500, 1);
SetPlayerHealth(playerid, 120);
SendClientMessage(playerid, COLOR_ORANGE, "Healthy food made you healthier :]");
}
case 4:
{
GameTextForPlayer(playerid, "Kebab chosen!", 3500, 1);
SetPlayerHealth(playerid, 95);
SendClientMessage(playerid, COLOR_ORANGE, "Not really the best kebab..");
}
case 5:
{
GameTextForPlayer(playerid, "Ice-Cream chosen!", 3500, 1);
SetPlayerHealth(playerid, 91);
SendClientMessage(playerid, COLOR_BLUE, "Brain-freeze..");
}
case 6:
{
GameTextForPlayer(playerid, "Cookies chosen!", 3500, 1);
SetPlayerHealth(playerid, 99);
SendClientMessage(playerid, COLOR_ORANGE, "COOKIE MONSTAR");
}
case 7:
{
GameTextForPlayer(playerid, "Spaghetti chosen!", 3500, 1);
SetPlayerHealth(playerid, 91);
SendClientMessage(playerid, COLOR_ORANGE, "You should wash your mouth now..");
}
case 8:
{
GameTextForPlayer(playerid, "Indian Paratha chosen!", 3500, 1);
SetPlayerHealth(playerid, 91);
SendClientMessage(playerid, COLOR_ORANGE, "Good good");
}
case 9:
{
GameTextForPlayer(playerid, "Indian Dosai chosen!", 3500, 1);
SetPlayerHealth(playerid, 95);
SendClientMessage(playerid, COLOR_ORANGE, "Well, not bad..");
}
}
}
}
case DIALOG_REGISTER:
{
if (!response) Kick(playerid);
else
{
if(!strlen(inputtext)) ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registration","You have entered an invalid password.\nType your password below to register a new account.","Register","Quit");
else
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Kills",0);
INI_WriteInt(File,"Deaths",0);
INI_WriteInt(File,"Score",0);
INI_WriteInt(File,"Muted",0);
INI_Close(File);
SpawnPlayer(playerid);
}
}
}
case DIALOG_LOGIN:
{
if ( !response ) Kick ( playerid );
else
{
if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,"Success!","You have successfully logged in!","Ok","");
}
else ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Login","You have entered an incorrect password.\nType your password below to login.","Login","Quit");
}
}
case DIALOG_RULES:
{
if( response )
{
new name[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid, name, sizeof(name));
SendClientMessage(playerid, COLOR_GREEN, "[RULES] - Since you've read and hopefully understood the rules, admins will be able to take actions against you!");
SendClientMessage(playerid, COLOR_GREEN, "[RULES] - If you will constantly breaking rules, you may end up getting banned!");
SendClientMessage(playerid, COLOR_GREEN, "[RULES] - Now, if you have any questions, use /helpme or /pm an admin.");//checkpoint3
format(string, sizeof(string), "[RULES] - %s has read the rules, you may award him, and/or make sure that he follows them", name);
SendMessageToAdmins(string);
}
}
case DIALOG_CREDITS:
{
if( response ) SendClientMessage(playerid, COLOR_GREEN,"[CREDITS] - In-case you have any questions/suggestions, you can add Kyance on skype - patriksfr");
}
case DIALOG_TUNING:
{
if( response )
{
switch(listitem)
{
case 0:
{
SetPlayerPos(playerid, -2688.6833,199.3060,6.6250);
new name[MAX_PLAYER_NAME];
new string[94];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "[TELEPORT] - %s[%d] has teleported to WAA!(Wheel Arch Angels)", name, playerid);
SendClientMessageToAll(COLOR_GREEN, string);
}
case 1:
{
SetPlayerPos(playerid, 2637.1890,-2011.6135,13.8139);
new name[MAX_PLAYER_NAME];
new string[94];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "[TELEPORT] - %s[%d] has teleported to the Low-Rider car tuning!", name, playerid);
SendClientMessageToAll(COLOR_GREEN, string);
}
}
}
}
case DIALOG_VEHICLES:
{
if( response )
{
switch(listitem)
{
case 0: ShowModelSelectionMenu(playerid, bikelist , "Bikes");
case 1: ShowModelSelectionMenu(playerid, boatlist, "Boats");
case 2: ShowModelSelectionMenu(playerid, convertibleslist, "Converibles");
case 3: ShowModelSelectionMenu(playerid, helicopterlist, "Helicopters");
case 4: ShowModelSelectionMenu(playerid, industriallist, "Industrial Vehicles");
case 5: ShowModelSelectionMenu(playerid, lowriderlist, "Low-Riders");
case 6: ShowModelSelectionMenu(playerid, offroadlist, "Off-road Vehicles");
case 7: ShowModelSelectionMenu(playerid, planelist, "Planes");
case 8: ShowModelSelectionMenu(playerid, publicservicelist, "Public Services");
case 9: ShowModelSelectionMenu(playerid, saloonlist, "Saloons");
case 10: ShowModelSelectionMenu(playerid, stationwagonlist, "Station Wagons");
case 11: ShowModelSelectionMenu(playerid, sportvehiclelist, "Sport Vehicles");
case 12: ShowModelSelectionMenu(playerid, trailerlist, "Trailers");
case 13: ShowModelSelectionMenu(playerid, uniquevehiclelist, "Unique Vehicles");
}
}
}
}
return 1;
}
You may need to return 0 at the end like OnPlayerCommandText to force it search for that dialogid in other scripts in case it doesn't find it on it.
Re: Another "OnDialogResponse" problem.. again -
Kyance - 25.11.2013
Sorry for the (possibly) late answer, and thanks Konstantinos.
If i could i would seriously pay money for all the help you've given me.
EDIT: Also i need to spread some reputation before to +rep you.