Hallo, liebe Breadfish Community.
Ich habe einen Fehler in meinem Tankstellen-System. Das heißt nicht das man es nicht compilen kann sondern Ingame.
if(strcmp(cmd, "/tanken", true) == 0)
{
if(IsPlayerConnected(playerid))
{
for(new i = 0; i<MAX_TANKEN; i++) //Hier die Schleife
{
if(IsPlayerInRangeOfPoint(playerid, 8.0, TankenInfo[i][tPosX], TankenInfo[i][tPosY], TankenInfo[i][tPosZ])) //Ist der Spieler bei der Tanke?
{
//if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
//{
// SendClientMessage(playerid,COLOR_RED,"* Ein Fahrrad hat keinen Tank!"); //Erstmal entfernt.
//}
//else
//{
new VID;
new FillUp;
new string[256];
VID = GetPlayerVehicleID(i);
FillUp = GetGasMax(GetVehicleModel(VID)) - Gas[VID];
if(GetPlayerMoney(i) >= FillUp+4)
{
SetTimer("Fillup",RefuelWait,0);
Refueling[playerid] = 1;
FreezePlayer(playerid);
TankenInfo[i][tLiter] -= FillUp;
UpdateTankenLabel(i);
format(string, sizeof(string), "* Tankstelle: {FFFFFF}Du betankst dein Fahrzeug an der %s Tankstelle!", TankenInfo[i][tDescr]);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"* Tankstelle: {FFFFFF}Bitte warte bis es aufgetankt wurde!");
return 1;
}
else
{
format(string,sizeof(string),"* Du hast nicht genug Geld zum Tanken auf der Hand! Kosten: %d$",FillUp);
SendClientMessage(i,COLOR_LIGHTGREEN,string);
}
}
else
{
//SendClientMessage(playerid,COLOR_RED,"* Du befindest dich an keiner Tankstelle!");
//return 1;
GameTextForPlayer(playerid,"~r~DU BIST AN KEINER TANKSTELLE!",4000,3); //Kommt immer bei der zweiten Tanke die ich erstelle.
}
}
}
}
Fehlermeldung:
Immer wenn ich die erste Tankstelle mit einem Ingame Command erstelle (siehe unten), funktioniert es. Bei der zweiten Tanke die ich aber erstelle kommt immer:
"Du bist an keiner Tankstelle"
Ich wäre unheimlich dankbar wenn jemand den Fehler findet.
==> /createtanke Befehl:
ocmd:createtanke(playerid,params[])
{
new tstring[500];
if(!IsAAdmin(playerid))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
new Name[300],string[128];
if(sscanf(params,"s",Name))return SendClientMessage(playerid,COLOR_GREY,"Verwende: /createtanke [Name]");
format(tstring, sizeof(tstring), "Administrator %s hat eine Tankstelle erstellt! Name: %s", Spielername(playerid), Name);
TBroadCast(COLOR_LIGHTBLUE, tstring);
new i = GetTankenID(); if(i == -1) return SendClientMessage(playerid, COLOR_GREY, "Error: Maximale Anzahl an Tankstellen erreicht!");
format(string, sizeof string, "/Tankstellen/%d.ini", i);
dini_Create(string);
TankenInfo[i][tPosX] = GetX(playerid);
TankenInfo[i][tPosY] = GetY(playerid);
TankenInfo[i][tPosZ] = GetZ(playerid);
TankenInfo[i][tLiter] = 500;
format(TankenInfo[i][tDescr], 50, "%s", Name);
format(string, sizeof string, "{0087FF}|Tankstelle|\n{FFFFFF}%s\nVerfügare Liter: {00A500}%d/500", TankenInfo[i][tDescr], TankenInfo[i][tLiter]);
TankenInfo[i][tLabel] = CreateDynamic3DTextLabel(string, COLOR_WHITE, TankenInfo[i][tPosX], TankenInfo[i][tPosY], TankenInfo[i][tPosZ], 15, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, -1, -1, -1, 15);
TankenInfo[i][tPick] = CreateDynamicPickup(1650, 1, TankenInfo[i][tPosX], TankenInfo[i][tPosY], TankenInfo[i][tPosZ]);
return 1;
}
Mit freundlichen Grüßen
DirectX