Skripta koju koristim: Raven's
Detaljan opis problema: E ovako,uradio sam komandu /fill [Litara] , i sada kada ukucam /fill 23 npr. meni pise "Punjenje goriva molimo sacekajte" i onda me Freezuje i tako moze da stoji ko zna koliko, da li neko moze da pomogne ewo wam i public FillUp i /fill komanda.............. :'( :'( :'(
Dio skripte: Ewo komande:
if(strcmp(cmd, "/fill", true) == 0)// By: GaRaGaN
{
if(IsAtGasStation(playerid))
{
if(GetPlayerState(playerid)!=2)
{
SCM(playerid, COLOR_YELLOW,"Morate biti na mestu vozaca da bi napunili gorivo!");
return 1;
}
GetPlayerVehicleID(playerid);
new ammount;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /fill [Litara]");
return 1;
}
if(Gas[idcar] + ammount > 60) return SCM(playerid, COLOR_GRAD2, "U vas rezervoar ne moze da stane vise od 60 litara goriva!");
if(Gas[idcar] < 60)
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~~n~~n~~n~Punjenje goriva, molimo sacekajte",2000,3);
SetTimer("Fillup",RefuelWait,0);
Refueling[playerid] = ammount;
}
else GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~~n~~n~~n~~n~~n~Rezervoar je pun",2000,3);
}
else SCM(playerid,COLOR_GREY,"** Niste na pumpi!");
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno): Ewo i public-a
public Fillup()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new VID;
new FillUp;
new string[128];
VID = GetPlayerVehicleID(i);
FillUp = GasMax - Gas[VID];
if(Refueling[i] == 1)
{
if(IsACopCar(VID) || IsAnFbiCar(VID) || IsAnAmbulance(VID) || IsAnFiretruck(VID) || IsNgCar(VID) || IsAGovernmentCar(VID))
{
Gas[VID] += FillUp;
FillUp = FillUp * sBizzInfo[3][sbEntranceCost];
format(string,sizeof(string),"* Vozilo je napunjeno, za: $%d.",FillUp);
SendClientMessage(i,COLOR_WHITE,string);
GameTextForPlayer(i, "~w~Vlada je platila gorivo.", 5000, 1);
sBizzInfo[3][sbTill] += FillUp;
ExtortionSBiz(3, FillUp);
Refueling[i] = 0;
TogglePlayerControllable(i, 1);
}
else
{
if(GetPlayerMoney(i) >= FillUp+4)
{
Gas[VID] += FillUp;
FillUp = FillUp * sBizzInfo[3][sbEntranceCost];
format(string,sizeof(string),"* Vozilo napunjeno, za: $%d.",FillUp);
SendClientMessage(i,COLOR_WHITE,string);
SafeGivePlayerMoney(i, - FillUp);
sBizzInfo[3][sbTill] += FillUp;
ExtortionSBiz(3, FillUp);
Refueling[i] = 0;
TogglePlayerControllable(i, 1);
}
else
{
format(string,sizeof(string),"* Nemate dovoljno novca za gorivo, kosta $%d da biste napunili vozilo.",FillUp);
SendClientMessage(i,COLOR_WHITE,string);
TogglePlayerControllable(i, 1);
}
}
}
}
}
return 1;
}
Molim vas ko zna neka mi pomogne ako neko moze molim vas jer mi je ovo preko potrebno!!! Samo ovaj BUG imam na srw!
Najvjerovatnije kod timera nisi defajnao vrijeme kod kodmande, evo ovo dodaj na vrh skripe: #define RefuelWait 5000
Citat: Vuzimir poslato Novembar 13, 2012, 06:50:33 PRE PODNE
Najvjerovatnije kod timera nisi defajnao vrijeme kod kodmande, evo ovo dodaj na vrh skripe: #define RefuelWait 5000
Izvnite zbog Refresh-a,ali sam morao ponowo da stavim,da ne otvaram novu temu...
Jel zna nako kako da resim jer ni ovako ne moze,ko zna da mi kaze,ili da me doda na Skype:
nenad.milic.garagann Hvala.. :)
napravis callback i nek ti on ocitava tajmer, a u callbacku stavi da unfreeze igraca
Citat: Blaeks poslato Novembar 27, 2012, 14:40:28 POSLE PODNE
napravis callback i nek ti on ocitava tajmer, a u callbacku stavi da unfreeze igraca
Aj kazi kako,to nerazumem te bas super... :) xD :D
public Blaeks(playerid)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
na vrh stavis ovo forward Blaeks(playerid);
i tamo gde ti puni gorivo napravis tajmer SetTimerEx("Blaeks", 10000, false, "i", playerid);
Citat: Blaeks poslato Novembar 27, 2012, 14:48:48 POSLE PODNE
public Blaeks(playerid)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
na vrh stavis ovo forward Blaeks(playerid);
i tamo gde ti puni gorivo napravis tajmer SetTimerEx("Blaeks", 10000, false, "i", playerid);
Mislis u komandi /fill stavim SetTimerEx("Blaeks", 10000, false, "i", playerid);
ili stavim u public FillUp ????
stavi u komandi
Citat: Blaeks poslato Novembar 27, 2012, 15:23:36 POSLE PODNE
stavi u komandi
Pokusacu.
Usput jel znas animaciju kako da onaj covek kao oce da preskoci nesto a kao udari u "zid",kazi naziv sa onim jer mi treba za AntiBH
EDIT: Sada ga unfreeze posle neznam tacno koliko,ali nenapuni gorivom :(
mislim da ide ovako LoopingAnim(playerid,"PED","IDLE_tired",3.0,1,0,0,0,0);
REFRESH!! Da li neko zna kako da namestim ovo molim vas,neka mi neko pomogne :'( :'(
napisali su ti vec ba gore
Citat: [LC:RP]Blade poslato Decembar 02, 2012, 20:22:14 POSLE PODNE
napisali su ti vec ba gore
Brate,nece to citaj,ne skupljaj postove,vidis da sam napisao da nece da radi!!!
ni meni nije radilo kada sam prebacio iz zcmd u strcmp, a kada sam prebacio celu skriptu u zcmd sve je ok
REFRESH,da li neko zna kako da mi uradi ovu komandu,ali da igrac napise koliko zeli litara ko zna molim vas,neka mi pomogne!
probaj ovako, samo zameni sa svojim varijablama if(strcmp(cmd, "/fill", true) == 0)
{
if(IsAtGasStation(playerid))
{
if(GetPlayerState(playerid)!=2)
{
SCM(playerid, -1,"Morate biti na mestu vozaca da bi napunili gorivo!");
return 1;
}
new idcar = GetPlayerVehicleID(playerid);
if(!strlen(tmp))
{
SendClientMessage(playerid, -1, "Koriscenje: /fill [litara]");
return 1;
}
new ammount = strval(tmp);
if(Gas[idcar] + ammount > 60) return SCM(playerid, -1, "U vas rezervoar ne moze da stane vise od 60litara goriva!");
if(Gas[idcar] < 60)
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~~n~~n~~n~Punjenje goriva, molimo sacekajte",2000,3);
SetTimer("Fillup",RefuelWait,0);
Refueling[playerid] = ammount;
}
else GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~~n~~n~~n~~n~~n~Rezervoar je pun",2000,3);
}
else SCM(playerid,-1,"** Niste na pumpi!");
return 1;
}
Citat: Blaeks poslato Decembar 08, 2012, 12:32:00 POSLE PODNE
probaj ovako, samo zameni sa svojim varijablama if(strcmp(cmd, "/fill", true) == 0)
{
if(IsAtGasStation(playerid))
{
if(GetPlayerState(playerid)!=2)
{
SCM(playerid, -1,"Morate biti na mestu vozaca da bi napunili gorivo!");
return 1;
}
new idcar = GetPlayerVehicleID(playerid);
if(!strlen(tmp))
{
SendClientMessage(playerid, -1, "Koriscenje: /fill [litara]");
return 1;
}
new ammount = strval(tmp);
if(Gas[idcar] + ammount > 60) return SCM(playerid, -1, "U vas rezervoar ne moze da stane vise od 60litara goriva!");
if(Gas[idcar] < 60)
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~~n~~n~~n~Punjenje goriva, molimo sacekajte",2000,3);
SetTimer("Fillup",RefuelWait,0);
Refueling[playerid] = ammount;
}
else GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~~n~~n~~n~~n~~n~Rezervoar je pun",2000,3);
}
else SCM(playerid,-1,"** Niste na pumpi!");
return 1;
}
Sacu da probam pa cu da ti javim
Nece tako probao,sada mi izlazi samo /fill [litatara] i kada ukucam /fill 2 ono mi izadje /fill [litara] ??? Jel zna neko da mi pomogne ???
IZVINITE ZBOG DP!
a ovako if(strcmp(cmd, "/fill", true) == 0) // By Ivan_Rogulj
{
new gorivo, vozilo = GetPlayerVehicleID(playerid);
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_YELLOW, "INFO: /fill [kolicina] - cijena po litru 3$");
return 1;
}
gorivo = strval(tmp);
if(IsPlayerInVehicle(playerid, vozilo) && IsAtGasStation(playerid))
{
if(Gas[vozilo] == GasMax)
{
SendClientMessage( playerid,COLOR_WHITE, "Rezervoar je pun!" );
return 1;
}
Gas[vozilo] += gorivo;
if(Gas[vozilo] > 100)
{
Gas[vozilo] = 100;
}
format(string,sizeof(string),"* Vozilo napunjeno, za $%d.",gorivo*3);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
GivePlayerMoney(playerid, -gorivo*3);
}
else return SendClientMessage(playerid,COLOR_GREY," Niste na benzinskoj stanici ili nisi u vozilu!");
}
return 1;
}
?