01.11.2011, 22:31
(
Последний раз редактировалось knackworst; 01.11.2011 в 23:15.
)
Hello, I made a custom function to pack all my teleport lines in one single line...
so to do that I made this function:
so that's under OnPlayerCommandText...
now I made a dialog with all the teleports too
here's the response for my dialogs...
I compile, no errors nor warnings...
but then I go ingame and when I type one of the teleports I do get the message: teleported to "name" but my pos won't be set to the right place...
The same when I do it via the dialog, the dialog shows up and stuff, but when I click on teleport, I only get the message, and my pos won't be set
HOWEVER, for some teleports it does work...
for these:
island
ej
canyon
babel
and only those teleports work...
anybody please help me to fix this so I can easly make teleports...
thanks in advance
2-3 reps for helper
EDIT: sorry here's the stock:
so to do that I made this function:
pawn Код:
//==============================================================================
//Teleports
//==============================================================================
if(strcmp(cmdtext, "/island", true)==0)
return AddPlayerTeleport(playerid, "Chill-Island", 261.1905,-3271.4392,5.7316, 21, 0, true);
if(strcmp(cmdtext, "/chilliad", true)==0)
return AddPlayerTeleport(playerid, "MT Chilliad", -2344.8931,-1603.9287,489.2245, 12, 0, false);
if(strcmp(cmdtext, "/hh", true)==0)
return AddPlayerTeleport(playerid, "Huge Halfpipe", -1252.8372802734,-3572.2570800781,19.23807144165, 12, 0, false);
if(strcmp(cmdtext, "/bounce", true)==0)
return AddPlayerTeleport(playerid, "Trampoline", 1977.0219726563,-1272.712890625,4363.1166992188, 12, 0, false);
if(strcmp(cmdtext, "/coaster", true)==0)
return AddPlayerTeleport(playerid, "Coaster 1", 3394.7490234375,-2858.6318359375,586.51507568359, 12, 0, false);
if(strcmp(cmdtext, "/lvsz", true)==0)
return AddPlayerTeleport(playerid, "North Las Venturas Stuntzone", 2955.1484375,2718.0791015625,47.445892333984, 12, 0, false);
if(strcmp(cmdtext, "/ej", true)==0)
return AddPlayerTeleport(playerid, "Evel Knievel Jump", 830.79907226563,-1649.3950195313,96.727676391602, 12, 0, true);
if(strcmp(cmdtext, "/lvsky", true)==0)
return AddPlayerTeleport(playerid, "Las Venturas Sky Park", 2050.4905,2047.7407,304.1125, 12, 0, false);
if(strcmp(cmdtext, "/gj", true)==0)
return AddPlayerTeleport(playerid, "Grove Jump", 3378.9086914063,-1611.9787597656,517.35583496094, 12, 0, false);
if(strcmp(cmdtext, "/cj", true)==0)
return AddPlayerTeleport(playerid, "Coast Jump", 404.13891601563,-2888.9594726563,751.1493530273, 12, 0, false);
if(strcmp(cmdtext, "/pipe", true)==0)
return AddPlayerTeleport(playerid, "Pipes", 2672.00830100,-1076.75427200,301.88580300, 12, 0, false);
if(strcmp(cmdtext, "/driftcity", true)==0)
return AddPlayerTeleport(playerid, "Drift City", -1025.1023,1019.2966,2.9941, 12, 0, false);
if(strcmp(cmdtext, "/pd", true)==0)
return AddPlayerTeleport(playerid, "Parachute Drop (use /para for a chute)", 3075.26,-2053.21,355.5, 8, 0, true);
if(strcmp(cmdtext, "/kart", true)==0)
return AddPlayerTeleport(playerid, "Kart Race", 2570.8005,1893.9918,10.8280, 12, 0, false);
if(strcmp(cmdtext, "/da", true)==0)
return AddPlayerTeleport(playerid, "Desert Airport", 419.800018, 2531.705322, 16.157726, 12, 0, false);
if(strcmp(cmdtext, "/coaster2", true)==0)
return AddPlayerTeleport(playerid, "Coaster 2", 35.38744354248,-900.32940673828,1761.6329345703, 12, 0, false);
if(strcmp(cmdtext, "/babel", true)==0)
return AddPlayerTeleport(playerid, "The BabelTower", 1544.5788574219,-1399.7844238281,342.79623413086, 12, 0, true);
if(strcmp(cmdtext, "/coaster3", true)==0)
return AddPlayerTeleport(playerid, "Coaster3", -2840.8779296875,2202.1611328125,802.61181640625, 12, 0, false);
if(strcmp(cmdtext, "/canyon", true)==0)
return AddPlayerTeleport(playerid, "Canyon Jump", -672.6729,2311.8418,134.7830, 12, 0, true);
if(strcmp(cmdtext, "/farm", true)==0)
return AddPlayerTeleport(playerid, "Farm StuntPark", -1011.8487548828,-1024.7260742188,129.01875305176, 12, 0, false);
if(strcmp(cmdtext, "/cannon", true)==0)
return AddPlayerTeleport(playerid, "The Cannon", -556.0517,2580.0288,65.8368, 12, 0, true);
now I made a dialog with all the teleports too
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new string[1000];
if(dialogid == DIALOG)
{
if(!response) return 1;
else{
switch(listitem)
{
case 0:
{
strcat(string, "{FFFF00}|\t{FFFFFF}Huge Halfpipe\n\t\t/hh\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Las Venturas Stuntzone\n\t\t/lvsz\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Evel Knievel Jump\n\t\t/ej\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Las Venturas Sky Park\n\t\t/lvsky\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Grove Jump\n\t\t/gj\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Coast Jump\n\t\t/cj\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Desert Airstrip\n\t\t/da\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Babel Tower\n\t\t/babel\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Farm Stuntpark\n\t\t/farm\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Canyon Jump\n\t\t/canyon\n");
ShowPlayerDialog(playerid, DIALOG+1, DIALOG_STYLE_LIST,"{FFFF00}Stunt", string, "Select", "Exit");
}
case 1:
{
ShowPlayerDialog(playerid, DIALOG+2, DIALOG_STYLE_LIST,"{FFFF00}DM", "None yet", "Select", "Exit");
}
case 2:
{
strcat(string, "{FFFF00}|\t{FFFFFF}DriftCity\n\t\t/driftcity\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Karting Race\n\t\t/kart\n");
ShowPlayerDialog(playerid, DIALOG+3, DIALOG_STYLE_LIST,"{FFFF00}Race", string, "Select", "Exit");
}
case 3:
{
strcat(string, "{FFFF00}|\t{FFFFFF}Chill-Island\n\t\t/island\n");
strcat(string, "{FFFF00}|\t{FFFFFF}MT Chilliad\n\t\t/chilliad\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Trampoline\n\t\t/bounce\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Coaster 1\n\t\t/coaster1\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Coaster 2\n\t\t/coaster2\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Coaster 3\n\t\t/coaster3\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Pipes\n\t\t/pipe\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Parachute Drop\n\t\t/pd\n");
strcat(string, "{FFFF00}|\t{FFFFFF}Cannon\n\t\t/cannon\n");
ShowPlayerDialog(playerid, DIALOG+4, DIALOG_STYLE_LIST,"{FFFF00}Other", string, "Select", "Exit");
}
}
}
}
if(dialogid == DIALOG+1) // Stunt
{
new index;
index = listitem/2;
switch (index)
{
case 0: AddPlayerTeleport(playerid, "Huge Halfpipe", -1252.8372802734,-3572.2570800781,19.23807144165, 12, 0, false);
case 1: AddPlayerTeleport(playerid, "North Las Venturas Stuntzone", 2955.1484375,2718.0791015625,47.445892333984, 12, 0, false);
case 2: AddPlayerTeleport(playerid, "Evel Knievel Jump", 830.79907226563,-1649.3950195313,96.727676391602, 12, 0, true);
case 3: AddPlayerTeleport(playerid, "Las Venturas Sky Park", 2050.4905,2047.7407,304.1125, 12, 0, false);
case 4: AddPlayerTeleport(playerid, "Grove Jump", 3378.9086914063,-1611.9787597656,517.35583496094, 12, 0, false);
case 5: AddPlayerTeleport(playerid, "Coast Jump", 404.13891601563,-2888.9594726563,751.1493530273, 12, 0, false);
case 6: AddPlayerTeleport(playerid, "Desert Airport", 419.800018, 2531.705322, 16.157726, 12, 0, false);
case 7: AddPlayerTeleport(playerid, "The BabelTower", 1544.5788574219,-1399.7844238281,342.79623413086, 12, 0, true);
case 8: AddPlayerTeleport(playerid, "Farm StuntPark", -1011.8487548828,-1024.7260742188,129.01875305176, 12, 0, false);
case 9: AddPlayerTeleport(playerid, "Canyon Jump", -672.6729,2311.8418,134.7830, 12, 0, true);
}
}
//if(dialogid == DIALOG+2) DM
if(dialogid == DIALOG+3) // Race
{
switch (listitem)
{
case 0: AddPlayerTeleport(playerid, "Drift City", -1025.1023,1019.2966,2.9941, 12, 0, false);
case 1: AddPlayerTeleport(playerid, "Kart Race", 2570.8005,1893.9918,10.8280, 12, 0, false);
}
}
if(dialogid == DIALOG+4)
{
switch (listitem) // Other
{
case 0: AddPlayerTeleport(playerid, "Chill-Island", 261.1905,-3271.4392,5.7316, 21, 0, true);
case 1: AddPlayerTeleport(playerid, "MT Chilliad", -2344.8931,-1603.9287,489.2245, 12, 0, false);
case 2: AddPlayerTeleport(playerid, "Trampoline", 1977.0219726563,-1272.712890625,4363.1166992188, 12, 0, false);
case 3: AddPlayerTeleport(playerid, "Coaster 1", 3394.7490234375,-2858.6318359375,586.51507568359, 12, 0, false);
case 4: AddPlayerTeleport(playerid, "Coaster 2", 35.38744354248,-900.32940673828,1761.6329345703, 12, 0, false);
case 5: AddPlayerTeleport(playerid, "Coaster 3", -2840.8779296875,2202.1611328125,802.61181640625, 12, 0, false);
case 6: AddPlayerTeleport(playerid, "Pipes", 2672.00830100,-1076.75427200,301.88580300, 12, 0, false);
case 7: AddPlayerTeleport(playerid, "Parachute Drop (use /para for a chute)", 3075.26,-2053.21,355.5, 8, 0, true);
case 8: AddPlayerTeleport(playerid, "The Cannon", -556.0517,2580.0288,65.8368, 12, 0, true);
}
}
return 1;
}
I compile, no errors nor warnings...
but then I go ingame and when I type one of the teleports I do get the message: teleported to "name" but my pos won't be set to the right place...
The same when I do it via the dialog, the dialog shows up and stuff, but when I click on teleport, I only get the message, and my pos won't be set
HOWEVER, for some teleports it does work...
for these:
island
ej
canyon
babel
and only those teleports work...
anybody please help me to fix this so I can easly make teleports...
thanks in advance
2-3 reps for helper
EDIT: sorry here's the stock:
pawn Код:
stock AddPlayerTeleport(playerid, teleportname[], Float:x, Float:y, Float:z, TimeH, TimeM, bool:vehicleremove)
{
new
string[128],
cartype = GetPlayerVehicleID(playerid);
format(string, sizeof(string), "Teleported to %s", teleportname);
SendClientMessage(playerid, COLOR_SEXYGREEN, string);
ResetPlayerWeapons(playerid);
SetPlayerTime(playerid, TimeH ,TimeM);
if(vehicleremove == true)
{
RemovePlayerFromVehicle(playerid);
if(GetPlayerState(playerid) !=PLAYER_STATE_DRIVER)
return SetPlayerPos(playerid,x ,y ,z);
else if(IsPlayerInVehicle(playerid, cartype) == 1)
return SetVehiclePos(cartype,x, y, z);
}
return 1;
}