-
for(new i = 0; i < MAX_VEHICLES; i++)
GetVehiclePos(i,x1,y1,z1);
if(!IsPlayerInRangeOfPoint(playerid, 2.0, x1,y1,z1))return SendClientMessage(playerid, piros, \"Nincs melletted jármû\");
if(sscanf(params,\"d\",liter))return SendClientMessage(playerid,piros,\"Használat: /tankol <LITER>\");
if(benzin+liter>100)return SendClientMessage(playerid,piros,\"A jármû tankjába nem fér ennyi üzemanyag!\");
benzin=benzin+liter;
Ez egy benzin srciptem egyik része de sajnos erre a két sorra:
if(benzin+liter>100)return SendClientMessage(playerid,piros,\"A jármû tankjába nem fér ennyi üzemanyag!\");
benzin=benzin+liter
Azt írja hogy az \"i\" nincs definiálva
köszi!
-
new
i;
for( ; i < MAX_VEHICLES; i++)
{
GetVehiclePos(i,x1,y1,z1);
if(!IsPlayerInRangeOfPoint(playerid, 2.0, x1,y1,z1))return SendClientMessage(playerid, piros, \"Nincs melletted jármû\");
}
if(sscanf(params,\"d\",liter))return SendClientMessage(playerid,piros,\"Használat: /tankol <LITER>\");
if(benzin+liter>100)return SendClientMessage(playerid,piros,\"A jármû tankjába nem fér ennyi üzemanyag!\");
benzin=benzin+liter;
-
köszönöm idáig jó de most meg
if(sscanf(params,\"d\",liter))return SendClientMessage(playerid,piros,\"Használat: /tankol <LITER>\");
folyton ezt írja beírom /tankol minden oké kiírja hogy Használat: /tankol <LITER> de beírom pl hogy /tankol 2 akkor kiírja hogy server unknow command
a sscanfem tuti jó mert adminscriptem is ugyanazt a sscanf.inc et használja és ott tökéletesen mûködik
-
CMD:tankol(playerid, params[])
{
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, piros, \"Jármûben ülve nem tudsz tankolni\");
new Float:x1, Float:y1, Float:z1,liter,string[125];
if(!IsPlayerInRangeOfPoint(playerid, 10.0, 655.0948,-564.5517,15.9609))return SendClientMessage(playerid, piros, \"Nem vagy benzinkutnál\");
new
i;
for( ; i < MAX_VEHICLES; i++)
GetVehiclePos(i,x1,y1,z1);
if(IsPlayerInRangeOfPoint(playerid, 2.0, x1,y1,z1))
{
if(sscanf(params,\"d\",liter))return SendClientMessage(playerid,piros,\"Használat: /tankol <LITER>\");
if(benzin+liter>100)return SendClientMessage(playerid,piros,\"A jármû tankjába nem fér ennyi üzemanyag!\");
benzin=benzin+liter;
format(string, sizeof(string), \"{FF8C00}Sikeressen tankoltál %d liter üzemanyagot a jármûvedbe (-%d Ft)\", liter,liter*BENZINÁR);
GivePlayerMoney(playerid,-liter*BENZINÁR);
if(motor==0) return SendClientMessage(playerid,piros,string);
new Float:x, Float:y, Float:z;
GetVehiclePos(i, x, y, z);
CreateExplosion(x, y, z, 12, 10.0);
ProxDetector(30.0, playerid, \"*Valakinek szétrobban a jármûve mert járó motorral akart tankolni!.\",lila,lila,lila,lila,lila);
}
else
{
SendClientMessage(playerid, piros, \"Nincs melletted jármû\");
}
return 1;
}
beírom /tankol kiírja hogy használat /tankol <LITER> idáig oké de beírom hogy /tankol 4 és kiírja hogy Server:Unknow command.... Köszi
-
A for ciklus csak erre a részre érvényes:
new
i;
for( ; i < MAX_VEHICLES; i++)
GetVehiclePos(i,x1,y1,z1);
if(IsPlayerInRangeOfPoint(playerid, 2.0, x1,y1,z1))
{
[/quote]
csak a pirossal kiemelt rész ismétlõdik 2000 szer.
A parancs felépítése nem logikus kísérletezz csak úgy fogod megérteni a dolgokat.
Ha leírom az egyik helyes variációt abból nem fogsz megérteni semmit.
-
Én most itt gondolkodtam ezen ,de nem tudok mit kitalálni. Ezek után mivel azonosítsam a jármûvet?
-
CMD:tankol(playerid, params[])
{
if(sscanf(params,\"d\",liter))return SendClientMessage(playerid,piros,\"Használat: /tankol <LITER>\");
if((benzin + liter) > 100)return SendClientMessage(playerid,piros,\"A jármû tankjába nem fér ennyi üzemanyag!\");
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, piros, \"Jármûben ülve nem tudsz tankolni\");
new Float:x1,
Float:y1,
Float:z1,
liter,
string[125];
if(!IsPlayerInRangeOfPoint(playerid, 10.0, 655.0948,-564.5517,15.9609))return SendClientMessage(playerid, piros, \"Nem vagy benzinkutnál\");
for(new i = 0; i < MAX_VEHICLES; i++)
{
GetVehiclePos(i,x1,y1,z1);
if(IsPlayerInRangeOfPoint(playerid, 2.0, x1,y1,z1))
{
benzin += liter;
format(string, sizeof(string), \"{FF8C00}Sikeressen tankoltál %d liter üzemanyagot a jármûvedbe (-%d Ft)\", liter,liter*BENZINÁR);
GivePlayerMoney(playerid,- (liter * BENZINÁR));
if(motor == 0) return SendClientMessage(playerid,piros,string);
new Float:x,
Float:y,
Float:z;
GetVehiclePos(i, x, y, z);
CreateExplosion(x, y, z, 12, 10.0);
ProxDetector(30.0, playerid, \"*Valakinek szétrobban a jármûve mert járó motorral akart tankolni!.\",lila,lila,lila,lila,lila);
break;
}
else SendClientMessage(playerid, piros, \"Nincs melletted jármû\");
}
return 1;
}
-
CMD:tankol(playerid, params[])
{
if(sscanf(params,\"d\",liter))return SendClientMessage(playerid,piros,\"Használat: /tankol <LITER>\");
if((benzin + liter) > 100)return SendClientMessage(playerid,piros,\"A jármû tankjába nem fér ennyi üzemanyag!\");
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, piros, \"Jármûben ülve nem tudsz tankolni\");
new Float:x1,
Float:y1,
Float:z1,
liter,
string[125];
if(!IsPlayerInRangeOfPoint(playerid, 10.0, 655.0948,-564.5517,15.9609))return SendClientMessage(playerid, piros, \"Nem vagy benzinkutnál\");
for(new i = 0; i < MAX_VEHICLES; i++)
{
GetVehiclePos(i,x1,y1,z1);
if(IsPlayerInRangeOfPoint(playerid, 2.0, x1,y1,z1))
{
benzin += liter;
format(string, sizeof(string), \"{FF8C00}Sikeressen tankoltál %d liter üzemanyagot a jármûvedbe (-%d Ft)\", liter,liter*BENZINÁR);
GivePlayerMoney(playerid,- (liter * BENZINÁR));
if(motor == 0) return SendClientMessage(playerid,piros,string);
new Float:x,
Float:y,
Float:z;
GetVehiclePos(i, x, y, z);
CreateExplosion(x, y, z, 12, 10.0);
ProxDetector(30.0, playerid, \"*Valakinek szétrobban a jármûve mert járó motorral akart tankolni!.\",lila,lila,lila,lila,lila);
break;
}
else SendClientMessage(playerid, piros, \"Nincs melletted jármû\");
}
return 1;
}
Sajnos ez se jó nem ismeri fel az i ket utána már nem rak bele benzint stb