Sicher, dass du "2" bei GetPlayerState willst? Das ist der Beifahrer, wenn ich mich nicht irre :p
Nene, ist schon richtig:
0 Empty (while initializing) - "PLAYER_STATE_NONE"1 Player is on foot - "PLAYER_STATE_ONFOOT"2 Player is driver of a vehicle - "PLAYER_STATE_DRIVER"3 Player is passenger of a vehicle - "PLAYER_STATE_PASSENGER"7 Player is wasted or on class selection - "PLAYER_STATE_WASTED"8 Player is spawned - "PLAYER_STATE_SPAWNED"9 Player is spectating - "PLAYER_STATE_SPECTATING"
Jedoch würde ich auch lieber die Definitionen, statt die Zahlen benutzen..
Vielleicht dein Code man durchprinten, um den Fehler besser zu finden:
if(strcmp(cmdtext, "/linie",true)==0)
{
print("linie1");
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
{
print("linie2");
if(GetPlayerState(playerid) == 2)
{
print("linie3");
if(SpielerInfo[playerid][pJob] == 14)
{
print("linie5.1");
tmp = strtok(cmdtext, idx);
print("linie5.2");
if(!strlen(tmp))
{
print("linie6.1");
SendClientMessage(playerid, COLOR_WHITE, "NUTZUNG: /Linie [Preis]");
print("linie6.2");
return 1;
}
moneys = strval(tmp);
print("linie5.3");
if(moneys < 1 || moneys > 30) { print("linie5.4"); SendClientMessage(playerid, COLOR_GREY, "Preis muss zwischen 1 und 30 Dollar liegen!"); return 1; }
BusDrivers += 1; TransportDuty[playerid] = 2; TransportValue[playerid]= moneys;
print("linie5.4");
GetPlayerName(playerid,sendername,sizeof(sendername));
print("linie5.5");
format(string, sizeof(string), "Busfahrer %s ist im Dienst, Kosten: $%d.", sendername, TransportValue[playerid]);
print("linie5.6");
OOCNews(TEAM_GROVE_COLOR,string);
print("linie5.7");
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du fährst den Bus nicht !");
print("linie7");
return 1;
}
print("linie8");
}
print("linie9");
}
print("linie10");
return 1;
}