[POMOC] /dopuni

Započeo xyzcod2, Jun 12, 2013, 10:11:59 PRE PODNE

prethodna tema - sledeća tema

0 članova i 4 gostiju pregledaju ovu temu.

Skripta koju koristim:moj mod od 0
Detaljan opis problema:Ovako,radio sam brzinomer i doso sa do komande /dopuni i /checkfuel.Komanda /chechfuel radi dobro,znaci dobro provjeri kolko goriva ima,ali komanda /dopuni mi nece nesto.Uvijek izbaci poruku "* Vas rezervoar vozila je pun!" i nista se ne dogada
Dio skripte:
KOMANDA /dopuni
CMD:dopuni(playerid, params[])
{
new gorivo;
new string[128];
if(sscanf(params,"i",gorivo)) return SendClientMessage(playerid,COLOR_GREY, "Koristi: /dopuni [Litara]");
if(gorivo > 55 || gorivo < 1) return SendClientMessage(playerid, COLOR_GREY, "Maximalno tocenje goriva je 55 litara,a najmanje 1 litara!");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GREY,"* Ne nalazite se u vozilu!");
if(GetPlayerMoney(playerid) <= 3) return SendClientMessage(playerid,COLOR_GREY,"* Nemate dovoljno novca!");
for(new i=0;i<MAX_VEHICLES;i++)
  {
new vid = GetPlayerVehicleID(vid);
if(fuel[vid] >= 55)
{
            fuel[vid] += gorivo;
            TogglePlayerControllable(i,0);
            GameTextForPlayer(i,"~n~~n~~n~~n~~g~Vozilo se puni,molimo pricekajte!",9000,5);
SetTimerEx("Timer_dopuna",9000,false,"i",i);
format(string, sizeof(string),"* Vase vozilo je napunjeno sa %d litara za %d$",gorivo,gorivo*3);
SendClientMessage(i,COLOR_GREEN,string);
GivePlayerMoney(i,-gorivo*3);
SetCameraBehindPlayer(i);
return 1;
}
SendClientMessage(playerid,COLOR_GREY,"* Vas rezervoar vozila je pun!");
  }
return 1;
}

A EVO I KOMANDA /chechfuel
CMD:checkfuel(playerid,params[])
{
new string[128];
    if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GREY,"* Ne nalazite se u vozilu!");
    for(new i=0;i<MAX_VEHICLES;i++)
    {
        new vid = GetPlayerVehicleID(i);
    format(string, sizeof(string),"(Rezervoar) Imate %d litara goriva u vasem rezervoaru.",fuel[vid]);
SendClientMessage(playerid,COLOR_GREY,string);
return 1;
    }
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):


[FS]Rent
[FS] Vremenska prognoza
[TuT] PayDay
[TuT]PayDay sistem[UPDATED]
Moja Biografija

Respect:Mr.Gagi,FlasH,Streetboy,David (Sabljak) A.k.A SABO(T)
ÄŒovjek nije stvoren za poraze, moze biti unisten, ali ne i pobjeÄ'en!

if(fuel[vid] >= 55)

ovo znaci da ukoliko je gorivo vece ili jednako odnosno ima vise ili jednako sa 55 litara onda si stavio da puni a treba ukoliko ima manje ili jednako... takodje promeni znak i kod onoga da izbaci poruku da je pun... :)
BIG RESPECT JOEY_
BIG RESPECT [BD] Mr.Gagi

BIG RESPECT David A.k.A Sabljak

Citat: David (Sabljak) A.k.A SABO(T) poslato Jun 12, 2013, 10:36:26 PRE PODNE
loopas kroz sva vozila.

zasto sve funckije saljes vozilu?

Scm,ToggleControlable,Camera i tako to? :S nemozes to vozilu slat.. to na playerid ide

a znak moras stavit =< ja msm
eto,stavio sam ovako
CMD:dopuni(playerid, params[])
{
new gorivo;
new string[128];
if(sscanf(params,"i",gorivo)) return SendClientMessage(playerid,COLOR_GREY, "Koristi: /dopuni [Litara]");
if(gorivo > 55 || gorivo < 1) return SendClientMessage(playerid, COLOR_GREY, "Maximalno tocenje goriva je 55 litara,a najmanje 1 litara!");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GREY,"* Ne nalazite se u vozilu!");
if(GetPlayerMoney(playerid) <= 3) return SendClientMessage(playerid,COLOR_GREY,"* Nemate dovoljno novca!");
if(isrefuelling[playerid] == 0)
{
for(new i=0;i<MAX_VEHICLES;i++)
  {
new vid = GetPlayerVehicleID(i);
if(fuel[vid] <= 55)
{
                        fuel[vid] += gorivo;
                        isrefuelling[playerid] = 1;
                        TogglePlayerControllable(playerid,0);
                        GameTextForPlayer(i,"~n~~n~~n~~n~~g~Vozilo se puni,molimo pricekajte!",9000,5);
SetTimerEx("Timer_dopuna",9000,false,"i",i);
format(string, sizeof(string),"* Vase vozilo je napunjeno sa %d litara za %d$",gorivo,gorivo*3);
SendClientMessage(playerid,COLOR_GREEN,string);
GivePlayerMoney(playerid,-gorivo*3);
SetCameraBehindPlayer(playerid);
return 1;
}
  SendClientMessage(playerid,COLOR_GREY,"* Vas rezervoar vozila je pun!");
    }
}
SendClientMessage(playerid,COLOR_GREY,"* Vec punite gorivo!");
return 1;
}

ali mi sad npr. imam 54L goriva,kucam /dopuni 2 i doda mi 2 litra znaci imam 56L i onda kad mi dode do 56 ne trosi se.Ja bih htio da nemoze nikako doci benzin iznad 55,znaci da je maksimalan iznos kolko moze bit u rezervaru 55 L


[FS]Rent
[FS] Vremenska prognoza
[TuT] PayDay
[TuT]PayDay sistem[UPDATED]
Moja Biografija

Respect:Mr.Gagi,FlasH,Streetboy,David (Sabljak) A.k.A SABO(T)
ÄŒovjek nije stvoren za poraze, moze biti unisten, ali ne i pobjeÄ'en!

Citat: David (Sabljak) A.k.A SABO(T) poslato Jun 12, 2013, 11:13:22 PRE PODNE
definiraj MAX_FUEL stavi na 50

i onda radis provjeru

if(fuel >= MAX_FUEL) return SCM(playerid,-1, "Gorivo je maximum!");
nope,
CMD:dopuni(playerid, params[])
{
new gorivo;
new string[128];
if(sscanf(params,"i",gorivo)) return SendClientMessage(playerid,COLOR_GREY, "Koristi: /dopuni [Litara]");
if(gorivo > 55 || gorivo < 1) return SendClientMessage(playerid, COLOR_GREY, "Maximalno tocenje goriva je 55 litara,a najmanje 1 litara!");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GREY,"* Ne nalazite se u vozilu!");
if(GetPlayerMoney(playerid) <= 3) return SendClientMessage(playerid,COLOR_GREY,"* Nemate dovoljno novca!");
if(isrefuelling[playerid] == 0)
{
for(new i=0;i<MAX_VEHICLES;i++)
  {
new vid = GetPlayerVehicleID(i);
if(fuel[vid] >= MAX_FUEL) return SendClientMessage(playerid,-1, "Gorivo je maximum!");
if(fuel[vid] <= 55)
{
            fuel[vid] += gorivo;
            isrefuelling[playerid] = 1;
            TogglePlayerControllable(playerid,0);
            GameTextForPlayer(i,"~n~~n~~n~~n~~g~Vozilo se puni,molimo pricekajte!",9000,5);
SetTimerEx("Timer_dopuna",9000,false,"i",i);
format(string, sizeof(string),"* Vase vozilo je napunjeno sa %d litara za %d$",gorivo,gorivo*3);
SendClientMessage(playerid,COLOR_GREEN,string);
GivePlayerMoney(playerid,-gorivo*3);
SetCameraBehindPlayer(playerid);
return 1;
}
  SendClientMessage(playerid,COLOR_GREY,"* Vas rezervoar vozila je pun!");
    }
}
SendClientMessage(playerid,COLOR_GREY,"* Vec punite gorivo!");
return 1;
}

ako imam npr. 55 litara nece punit sto je ok,kada imam 54 litre mogu kucat /dopuni 55 i doda mu 55 litre.Jel se moze kako naprimjer da se provjeri zbor goriva i fuela pa da ako je veci od 55 da mu neda da se puni?ili kako?ja bih htio da ako imas manje od 55 da mozes punit ali da gorivo nemoze proci iznad 55!


[FS]Rent
[FS] Vremenska prognoza
[TuT] PayDay
[TuT]PayDay sistem[UPDATED]
Moja Biografija

Respect:Mr.Gagi,FlasH,Streetboy,David (Sabljak) A.k.A SABO(T)
ÄŒovjek nije stvoren za poraze, moze biti unisten, ali ne i pobjeÄ'en!

a kako provjeru?


[FS]Rent
[FS] Vremenska prognoza
[TuT] PayDay
[TuT]PayDay sistem[UPDATED]
Moja Biografija

Respect:Mr.Gagi,FlasH,Streetboy,David (Sabljak) A.k.A SABO(T)
ÄŒovjek nije stvoren za poraze, moze biti unisten, ali ne i pobjeÄ'en!

pax95

CMD:dopuni(playerid, params[])
{
new gorivo;
new string[128];
if(sscanf(params,"i",gorivo)) return SendClientMessage(playerid,COLOR_GREY, "Koristi: /dopuni [Litara]");
if(gorivo > 55 || gorivo < 1) return SendClientMessage(playerid, COLOR_GREY, "Maximalno tocenje goriva je 55 litara,a najmanje 1 litara!");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GREY,"* Ne nalazite se u vozilu!");
if(GetPlayerMoney(playerid) <= 3) return SendClientMessage(playerid,COLOR_GREY,"* Nemate dovoljno novca!");
if(isrefuelling[playerid] == 0)
{
new vid = GetPlayerVehicleID(playerid);
if(fuel[vid] >= MAX_FUEL) return SendClientMessage(playerid,-1, "Gorivo je maximum!");
if(fuel[vid]+gorivo > MAX_FUEL) return SendClientMessage(playerid,-1, "Ne mozete dopuniti toliko litara, gorivo bi se prelivalo!");
if(fuel[vid] <= 55)
{
            fuel[vid] += gorivo;
            isrefuelling[playerid] = 1;
            TogglePlayerControllable(playerid,0);
            GameTextForPlayer(playerid,"~n~~n~~n~~n~~g~Vozilo se puni,molimo pricekajte!",9000,5);
SetTimerEx("Timer_dopuna",9000,false,"i",i);
format(string, sizeof(string),"* Vase vozilo je napunjeno sa %d litara za %d$",gorivo,gorivo*3);
SendClientMessage(playerid,COLOR_GREEN,string);
GivePlayerMoney(playerid,-gorivo*3);
SetCameraBehindPlayer(playerid);
return 1;
}
  SendClientMessage(playerid,COLOR_GREY,"* Vas rezervoar vozila je pun!");
    }
SendClientMessage(playerid,COLOR_GREY,"* Vec punite gorivo!");
return 1;
}

for petlja ne treba i pravila bi neke probleme u kodu...
Dodao sam ako dopunjava gorivo i onoliko koliko ima u rezervoara ako kada ta dva saberes probija MAX_FUEL da mu neda puniti, koliko sam ukapirao to ti treba.

da gagi dobro si ukapiro.Opet gagi resava problem.hvala,moze LOCK


[FS]Rent
[FS] Vremenska prognoza
[TuT] PayDay
[TuT]PayDay sistem[UPDATED]
Moja Biografija

Respect:Mr.Gagi,FlasH,Streetboy,David (Sabljak) A.k.A SABO(T)
ÄŒovjek nije stvoren za poraze, moze biti unisten, ali ne i pobjeÄ'en!