hey ich habe nun ein bus job das heisst die checkpoints über ein public laufen und dafür brauche ich ja ein timer wie mache ich den ? ich habe ein aber irwie funkt damit nix.
hier mal alles was ich dafür gemacht habe also bus.-
if(strcmp(cmd, "/linie", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Spieler[playerid][Job] == 2)
{
if(IsPlayerInAnyVehicle(playerid))
{
new veh = GetPlayerVehicleID(playerid);
for(new i = 0;i<sizeof(buscars);i++)
{
if(veh == buscars[i])
{
ShowPlayerDialog(playerid, DIALOG_LINIE, DIALOG_STYLE_LIST, "Busfahrer - Linie auswählen", "Linie 1\nLinie 2-In Arbeit\nLinie 3 LS-SF-In Arbeit\nLinie 4 SF-LS-In Arbeit", "Auswählen", "Abbrechen");
return 1;
}
}
SendClientMessage(playerid, ROT, "Du bist in keinem Bus.");
return 1;
}
}
else return SendClientMessage(playerid, ROT, "Du bist kein Busfahrer.");
}
return 1;
}
das der dialog wo mit ich meine linie aussuchen kan.
forward BusCountdown(playerid);
SetTimer("BusCountdown", 1000, 1);
public BusCountdown(playerid)
{
if(IsPlayerConnected(playerid))
{
new string[128];
if(Spieler[playerid][Job] == 2)
{
for(new i=0;i<sizeof(buscars);i++)
{
new vID = GetPlayerVehicleID(playerid);
if(vID == buscars[i])
{
if(IsPlayerInCheckpoint(playerid))
{
if(buscd[playerid] == 10)
{
buscd[playerid] = 9;
GameTextForPlayer(playerid, "~w~Warten ...~n~~b~9", 500, 1);
}
else if(buscd[playerid] == 9)
{
buscd[playerid] = 8;
GameTextForPlayer(playerid, "~w~Warten ...~n~~b~8", 500, 1);
}
else if(buscd[playerid] ==
{
buscd[playerid] = 7;
GameTextForPlayer(playerid, "~w~Warten ...~n~~b~7", 500, 1);
}
else if(buscd[playerid] == 7)
{
buscd[playerid] = 6;
GameTextForPlayer(playerid, "~w~Warten ...~n~~b~6", 500, 1);
}
else if(buscd[playerid] == 6)
{
buscd[playerid] = 5;
GameTextForPlayer(playerid, "~w~Warten ...~n~~b~5", 500, 1);
}
else if(buscd[playerid] == 5)
{
buscd[playerid] = 4;
GameTextForPlayer(playerid, "~w~Warten ...~n~~b~4", 500, 1);
}
else if(buscd[playerid] == 4)
{
buscd[playerid] = 3;
GameTextForPlayer(playerid, "~w~Warten ...~n~~b~3", 500, 1);
}
else if(buscd[playerid] == 3)
{
buscd[playerid] = 2;
GameTextForPlayer(playerid, "~w~Warten ...~n~~b~2", 500, 1);
}
else if(buscd[playerid] == 1)
{
buscd[playerid] = 11;
GameTextForPlayer(playerid, "~w~Warten ...~n~~b~1", 500, 1);
if(pCP[playerid] == CHECKPOINT_BUSSTART)
{
SetPlayerCheckpoint(playerid, 794.1573,-1096.1975,23.5284, 5.0);
pCP[playerid] = CHECKPOINT_BUSCP1;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Nächste Haltestelle: Vinewood.");
}
else if(pCP[playerid] == CHECKPOINT_BUSCP1)
{
SetPlayerCheckpoint(playerid, 742.7133,-1393.4297,13.0455, 5.0);
pCP[playerid] = CHECKPOINT_BUSCP2;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Nächste Haltestelle: Vinewood - Intercars.");
}
else if(pCP[playerid] == CHECKPOINT_BUSCP2)
{
SetPlayerCheckpoint(playerid, 301.2852,-1397.0028,13.5145, 5.0);
pCP[playerid] = CHECKPOINT_BUSCP3;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Nächste Haltestelle: Rodeo.");
}
else if(pCP[playerid] == CHECKPOINT_BUSCP3)
{
SetPlayerCheckpoint(playerid, 354.8143,-1648.1133,32.4861, 5.0);
pCP[playerid] = CHECKPOINT_BUSCP4;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Nächste Haltestelle: Rodeo.");
}
else if(pCP[playerid] == CHECKPOINT_BUSCP4)
{
SetPlayerCheckpoint(playerid, 678.2159,-1760.6434,12.9662, 5.0);
pCP[playerid] = CHECKPOINT_BUSCP5;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Nächste Haltestelle: Marina.");
}
else if(pCP[playerid] == CHECKPOINT_BUSCP5)
{
SetPlayerCheckpoint(playerid, 1153.5178,-1714.3553,13.4061, 5.0);
pCP[playerid] = CHECKPOINT_BUSCP6;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Nächste Haltestelle: Conference Center.");
}
else if(pCP[playerid] == CHECKPOINT_BUSCP6)
{
SetPlayerCheckpoint(playerid, 1479.6708,-1735.2942,13.0075, 5.0);
pCP[playerid] = CHECKPOINT_BUSCP7;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Nächste Haltestelle: Commerce.");
}
else if(pCP[playerid] == CHECKPOINT_BUSCP7)
{
SetPlayerCheckpoint(playerid, 1442.5582,-1524.2251,13.0075, 5.0);
pCP[playerid] = CHECKPOINT_BUSCP8;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Nächste Haltestelle: Commerce.");
}
else if(pCP[playerid] == CHECKPOINT_BUSCP8)
{
SetPlayerCheckpoint(playerid, 1483.9996,-1065.5348,23.2813, 5.0);
pCP[playerid] = CHECKPOINT_BUSCPENDE;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Nächste Haltestelle: Mulholland Intersection.");
}
else if(pCP[playerid] == CHECKPOINT_BUSCPENDE)
{
new rand = 3000 + random(5000);
Spieler[playerid][PayDayGeld] += rand;
format(string, sizeof(string), "Die Fahrt ist nun zuende. Du hast $%d verdient und erhälst es am nächsten Zahltag.", rand);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Bus-Erfahrungspunkte sind um 5 aufgestiegen.");
Spieler[playerid][BusExp] += 5;
}
}
}
}
return 1;
}
SendClientMessage(playerid, COLOR_GRAD2, "Du bist in keinem Bus.");
buscd[playerid] = 10;
KillTimer(bustimer[playerid]);
return 1;
}
}
return 1;
}
ist das so richtig ih möchte halt wen ich linie 1 nehme das halt automatisch die checkpoints kommen.
hoffe mir kan jemand helfen bei dem problem
ich denke es klappt nicht weil was mit dem timer nicht stimmt