Hallo, liebe Community,
erneut wende ich mich an euch, da ich wieder einmal nciht weiter weiß. Ich bin immer noch dabei, das Scripten zu erlernen, und meine Fähigkeiten zu erweitern. Allerdings weis ich erneut nicht mehr weiter. Compilen usw. funktioniert. Aber Ingame gehts schief...
Also, es ist für ein Nebenjob, Taxifahrer. Der Befehl /fare [preis]. Die Server meldung kommt, das er Duty ist. Allerdings kommt darunter "Server unkown command", wenn jetzt jemand in das Taxi steigt, wird allerdings kein Geld abgezogen/gutgeschrieben.
Hier die Scriptteile...
new taxifahrerid;
ocmd:fare(playerid,params[])
{
new fp;
if(sscanf(params,"i",fp))return SendClientMessage(playerid,GRAU,"/fare [preis]");
new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
if(!IsATaxiCar(vehicleid))return SendClientMessage(playerid,GRAU,"Du bist in keinem Taxi Fahrzeug");
if(GetPVarInt(playerid,"Nebenjob")!=1)return SendClientMessage(playerid,GRAU,"Du bist kein Taxifahrer");
SetPVarInt(playerid,"Fahrpreis",fp);
new string[128];
format(string,sizeof(string),"Taxifahrer %s ist im Dienst. Fahrkosten betragen %i $",SpielerName(playerid),fp);
SendClientMessageToAll(GREEN,string);
SetPVarInt(playerid,"Taxiduty",1);
taxifahrerid = playerid;
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if (IsATaxiCar(vehicleid) && ispassenger)
{
if(GetPVarInt(taxifahrerid,"Nebenjob")==1)
{
if(GetPVarInt(taxifahrerid,"Taxiduty")==0) {}
else
{
GivePlayerMoney(playerid,-GetPVarInt(taxifahrerid,"Fahrpreis"));
GivePlayerMoney(taxifahrerid,GetPVarInt(taxifahrerid,"Fahrpreis"));
}
}
}
return 1;
}
Wo liegt mein fehler? (der Nebenjob hat die ID 1(ist der einzige )), die abfrage hab ich auch richtig(von Funktion isPlayerInFrak(playerid,frakid) abgeleitet).
Warum wird das Geld nicht übertragen
MFG
K41