|
Little Clucker
Join Date: Apr 2011
Location: Westland, MI
Posts: 49
Reputation: 0
|
Re: Simple GPS system
I looked at guides on wiki like how to make dialogs, and make like a select a beer thing, like a bar place. And i used the method they did (i think) but i get this error.
Code:
C:\Users\Administrator\Desktop\Test Server\filterscripts\Gps.pwn(128) : error 002: only a single statement (or expression) can follow each "case"
C:\Users\Administrator\Desktop\Test Server\filterscripts\Gps.pwn(128) : warning 215: expression has no effect
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
This is my script im using.....
pawn Code:
// This is a comment // uncomment the line below if you want to write a filterscript #define FILTERSCRIPT
#include <a_samp>
#define GPS 10000
#if defined FILTERSCRIPT
public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Simple Gps System Loaded"); print("--------------------------------------\n"); return 1; }
public OnFilterScriptExit() { return 1; }
#endif
public OnPlayerConnect(playerid) { return 1; }
public OnPlayerDisconnect(playerid, reason) { return 1; }
public OnPlayerSpawn(playerid) { return 1; }
public OnPlayerDeath(playerid, killerid, reason) { return 1; }
public OnVehicleSpawn(vehicleid) { return 1; }
public OnVehicleDeath(vehicleid, killerid) { return 1; }
public OnPlayerText(playerid, text[]) { return 1; }
public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/gps", cmdtext, false, 4) == 0) { ShowPlayerDialog(playerid, GPS, DIALOG_STYLE_LIST, "GPS","Los Santos Police Department\nAll Saints Hospital\nGas Station\nBank\nBinco\nGym\nCity Hall\nTen Green Bottles\nJefferson Motel","Locate","Close"); return 1; } return 0; }
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(response)// They pressed the first button. { switch(dialogid)// If you only have one dialog, then this isn't required, but it's neater for when you implement more dialogs. { case 1:// Our dialog! { switch(listitem)// Checking which listitem was selected { case 0: { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the LSPD."); SetPlayerCheckpoint(playerid, 1546.3517,-1675.6573,13.5621, 3.0); } case 1: { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at All Saints Hospital."); SetPlayerCheckpoint(playerid, 1185.5948,-1322.9104,13.5715, 3.0); } case 2: { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the Gas Station."); SetPlayerCheckpoint(playerid, 1941.3828,-1760.5978,13.3828, 3.0); } case 3: { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the Bank."); SetPlayerCheckpoint(playerid, 1462.6707,-1022.0826,23.8281, 3.0); } case 4: { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at Binco."); SetPlayerCheckpoint(playerid, 2245.0559,-1662.0505,15.4690, 3.0); } case 5: { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the Gym."); SetPlayerCheckpoint(playerid, 2227.4465,-1722.9207,13.5539, 3.0); } case 6: { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the City Hall."); SetPlayerCheckpoint(playerid, 1481.0353,-1745.7384,13.8007, 3.0); } case 7: { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at Ten Green Bottles (bar)"); SetPlayerCheckpoint(playerid, 2309.7632,-1649.3855,14.4330, 3.0); } case 8: { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the Jefferson Motel"); SetPlayerCheckpoint(playerid, 2220.1082,-1143.4906,25.3721, 3.0); } } } return 1; } return 0; }
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; }
public OnPlayerExitVehicle(playerid, vehicleid) { return 1; }
public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; }
public OnPlayerEnterCheckpoint(playerid) { return 1; }
public OnPlayerLeaveCheckpoint(playerid) { return 1; }
public OnPlayerEnterRaceCheckpoint(playerid) { return 1; }
public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; }
public OnRconCommand(cmd[]) { return 1; }
public OnPlayerRequestSpawn(playerid) { return 1; }
public OnObjectMoved(objectid) { return 1; }
public OnPlayerObjectMoved(playerid, objectid) { return 1; }
public OnPlayerPickUpPickup(playerid, pickupid) { return 1; }
public OnVehicleMod(playerid, vehicleid, componentid) { return 1; }
public OnVehiclePaintjob(playerid, vehicleid, paintjobid) { return 1; }
public OnVehicleRespray(playerid, vehicleid, color1, color2) { return 1; }
public OnPlayerSelectedMenuRow(playerid, row) { return 1; }
public OnPlayerExitedMenu(playerid) { return 1; }
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { return 1; }
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { return 1; }
public OnRconLoginAttempt(ip[], password[], success) { return 1; }
public OnPlayerUpdate(playerid) { return 1; }
public OnPlayerStreamIn(playerid, forplayerid) { return 1; }
public OnPlayerStreamOut(playerid, forplayerid) { return 1; }
public OnVehicleStreamIn(vehicleid, forplayerid) { return 1; }
public OnVehicleStreamOut(vehicleid, forplayerid) { return 1; }
public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; }
Quote:
Originally Posted by leong124
Your first code is more likely to be correct than the remake one, though this one is not efficient enough:
pawn Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == GPS) { if(response) { if(listitem == 0) { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the LSPD."); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1546.3517,-1675.6573,13.5621, 3.0); } if(listitem == 1) { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at All Saints Hospital."); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1185.5948,-1322.9104,13.5715, 3.0); } if(listitem == 2) { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the Gas Station."); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1941.3828,-1760.5978,13.3828, 3.0); } if(listitem == 3) { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the Bank."); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1462.6707,-1022.0826,23.8281, 3.0); } if(listitem == 4) { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at Binco."); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2245.0559,-1662.0505,15.4690, 3.0); } if(listitem == 5) { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the Gym."); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2227.4465,-1722.9207,13.5539, 3.0); } if(listitem == 6) { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the City Hall."); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1481.0353,-1745.7384,13.8007, 3.0); } if(listitem == 7) { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at Ten Green Bottles (bar)"); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2309.7632,-1649.3855,14.4330, 3.0); } if(listitem == 8) { SendClientMessage(playerid, 0xFFFFFFFF, "You have set a checkpoint at the Jefferson Motel"); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2220.1082,-1143.4906,25.3721, 3.0); } } return 1; } return 0; }
Also make sure your dialog IDs will not mix up with ANY other dialogs in the scripts(including the other scripts that you load)
pawn Code:
switch(dialogid == GPS) // Lookup the dialogid { case 1: {
I guess it cannot be done.
Doing
pawn Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case GPS: { //Your code return 1; } //Some more dialog here } return 0; }
should be correct, but I've no idea about why you can't do it.
Maybe you post the error messages?
|
This helped me, though im still having problems..
|