Hallo liebe Comunity..
Ich wollte gerne machen das wenn man tankt das man reingehen muss und bezahlen muss..
So habe ich es gemacht :
if(strcmp(cmd, "/tanken", true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid,10,1004.0812,-939.4362,42.1797))
{
if(IsPlayerConnected(playerid))
{
if(IsAtGasStation(playerid))
{
if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
{
SendClientMessage(playerid,COLOR_YELLOW," Du kannst kein Fahrrad betanken!");
}
SetTimer("Fillup",RefuelWait,0);
Refueling[playerid] = 1;
FreezePlayer(playerid);
SendClientMessage(playerid,COLOR_WHITE," Dein Fahrzeug wird betankt, Bitte warten....");
}
return 1;
}
}
}
Function Fillup()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new VID;
new FillUp;
new string[256];
VID = GetPlayerVehicleID(i);
FillUp = GetGasMax(GetVehicleModel(VID)) - Gas[VID];
if(Refueling[i] == 1)
{
if(GetPlayerMoney(i) >= FillUp+4)
{
Gas[VID] += FillUp;
format(string,sizeof(string),"* Dein Fahrzeug wurde aufgetankt.Gehe rein und Bezahl.",FillUp,SBizzInfo[2][sbEntranceCost]);
SendClientMessage(i,COLOR_LIGHTBLUE,string);
Refueling[i] = 0;
UnFreezePlayer(i);
RemovePlayerFromVehicle(i);
}
else
{
format(string,sizeof(string),"* Du hast nicht genug Geld zum Tanken, Kosten: 500$ / Liter.",FillUp);
SendClientMessage(i,COLOR_LIGHTBLUE,string);
}
}
}
}
return 1;
}
if(dialogid == DIALOG_BEZAHLEN)
{
if(response)
{
if(listitem == 0)
{
new FillUp;
new bezahlen[276];
GivePlayerMoney(playerid, - FillUp);
SBizzInfo[2][sbTill] += FillUp/4;
ExtortionSBiz(2, FillUp);
GivePlayerMoney(playerid, - FillUp);
FillUp = SBizzInfo[2][sbEntranceCost] * FillUp;
format(bezahlen,sizeof(bezahlen), "Du musstest %d$ bezahlen", bezahlen);
SendClientMessage(playerid, COLOR_LIGHTBLUE,bezahlen);
}
}
}
Der normale Liter preis liegt bei 6$
aber wenn ich reingehe und bezahlen will steht dort immer das ich 0$ bezahlt habe und es
zieht auch kein Geld ab ? Also was habe ich falsch gemacht ?
MFG Rapture