Pretraga

Pritisnite Enter za pretragu ili Escape za zatvaranje

[POMOC]Pomjesani id

Započeo Marchelo
pre 9 godina
1,159
pregleda
14
postova
Marchelo
Wheel Man
pre 9 godina
Moj Gamemode od 0:
Bio sam pravio rent sistem motora i sve radi nema erora niti nista i kad dodem ig prvo moram ukucati /unrent tek onda sjest na vozilo i rentati ga.Ali stvar
je u tome da meni skripta sva vozila stavlja pod rent ne samo ta odredena nego sve
:
Koji dio skripte da stavim:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Rudimental
OG Legend
pre 9 godina
Posalji nam kod gde ti se zapisuje rentano vozilo.
[CH] Michael
Shot Caller
pre 9 godina
new rentvozilo;

rentvozilo  = Addstaticvehicle......
Marko_Salvatorelo
Made Man
pre 9 godina
Moras da odredis broj vozila koliko imas za rent npr RentVozila;
I onda da definises u OnGameModeInit tih npr 20 rent vozila , RentVozilo = AddStaticVehicleEx(.....
i tako sva vozila sto imas za rent i onda u CMD:rent ili kako si vec stavio das uslov da igrac mora da bude u vozilima za rent
Marchelo
Wheel Man
pre 9 godina
Evo ovako sve je dobro definirano...
Imam jedno vozilo koje je probno
new Rent definirano je 1 jer dodajemo za 1 vise
i kada je tako definirano ne radi! znaci onda mi ne izbacuje poruku da mogu rentati to vozilo niti nista
a kada stavim za dva vise onda mi izbacuje poruku.....
i jos k tome mogu usvako vozilo sjest i ikucat rent sto nema logike a nisu definirana ta vozila
i kada udem na server prvo moram kucati /unrent da bi mogao rentati
ophion
OG Legend
pre 9 godina
pa pod onplayerdiscconect stavi da mu se unrenta -.-
Marchelo
Wheel Man
pre 9 godina
ophion wrote on June 10, 2016, 8:29 pm:
pa pod onplayerdiscconect stavi da mu se unrenta -.-

Da ali nisam rentao vozilo.Tako da nemoram unrent
Rudimental
OG Legend
pre 9 godina
Vidim da nikakve kodove nisi slao ali ajde da ti od prilike objasnim kako bi to trebalo da izgleda. Uzmemo primer 1 obicnu varijablu koju bi stavio negde na vrh scripte kod ostalih slicnih.
new RentVozilo;


Tu istu varijablu bi trebalo da u public OnPlayerConnect postavimo na 0.
RentVozilo = 0;


A isto tako bi trebali i kod publica OnPlayerDisconnect da ponistimo to da bi se ajd da kazemo vozilo rtc i da bi neko drugi mogao da ga iskoristi jer je ovaj otisao sa servera.

if (RentVozilo > 0) // Proveravamo da li igrac ima na sebi rentano vozilo jer ako je na 0 kao sto smo podesili na konekciji znaci da nema vozilo ako je vise od 0 znaci da imamo rent vozilo
{
    SetVehicleToRespawn(RentVozilo); // Rtc rent vozilo odnosno ID vozila koji smo zapisali na varijablu kada smo rentali vozilo
    RentVozilo = 0; // Takodje mozemo opet postaviti i varijablu na 0
}


I zatim kod samog renta trebas da postavis ID vozila na ovu varijablu... To je veoma jednostavno samo proveris ID vozila i zapises mu, naravno to stavljas tamo kod renta.
RentVozilo = GetPlayerVehicleID(playerid);


I to bi bila sva filozofija sada ako ces da pravis neku komandu /unrent jednostavno samo proveris da li igrac vec ima rent vozilo ili ne eno ti primer gore sto sam pisao za public OnPlayerDisconnect i onda mu sklonis isto to ili mu saljes poruku da nema rent vozilo...
Marchelo
Wheel Man
pre 9 godina
evo imamo ovako sve
new Rent;
#define RENT_VOZILA 999
new rvozila;
forward IstekRenta(playerid);
public IstekRenta(playerid)
{
    Rent = -1;
    SetVehicleToRespawn(Rent);
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}

 rvozila = AddStaticVehicleEx(522,1669.8160000,-1881.5861000,13.2070000,0.0000000,-1,-1,15000); //NRG-500
  rvozila = AddStaticVehicle(522,1669.8160000,-1881.5861000,13.2070000,0.0000000,-1,-1,15000); //NRG-500
  rvozila = AddStaticVehicle(522,1669.8160000,-1881.5861000,13.2070000,0.0000000,-1,-1,15000); //NRG-500


ali ja mogu sva vozila i dalje rentati
evo komande
 YCMD:rent(playerid, params[], help)
{
#pragma unused help
#pragma unused params
if(Rent != -1)//ovaj dio provjerava dali smo vec rentali neko od rentanih vozila
{
SCM(playerid, -1, "Vec si iznajmio vozilo, prvo vrati iznjamljeno pa mozes opet rentat");
return 1;
}
if(Rent == GetPlayerVehicleID(playerid))//ovaj dio provjerava dali je neko vec rentao to vozilo
{
SCM(playerid, -1, "Neko je vec rentao ovo vozilo.");
return 1;
}
if(GetPlayerVehicleID(playerid) >= rvozila)
{
SPD(playerid,RENT_VOZILA,DIALOG_STYLE_LIST, "Odaberite vrijeme","10 minuta\n20 minuta\n30 minuta\n60 minuta", "U redu", "Odustani");
}
else return SCM(playerid, -1, "Nisi u vozilu za iznjamljivanje vozila");
return 1;
}
YCMD:unrent(playerid, params[], help)
{
#pragma unused help
#pragma unused params
    new v= GetPlayerVehicleID(playerid);
if(Rent != -1)
{
if(v== Rent)
{
TogglePlayerControllable(playerid, 1);
  }
SetVehicleToRespawn(Rent);//respawna rentano vozilo
        RemovePlayerFromVehicle(playerid);//izbacuje igraca iz vozila
Rent = -1;//postavlja varijablu na -1 sto znaci da ce igrac ponovno moc rentat vozilo
SCM(playerid,-1,"Vratio si rentano vozilo");
      }
return 1;
}
YCMD:exit(playerid, params[], help)
{
#pragma unused help
#pragma unused params
if(GetPlayerVehicleID(playerid) >= rvozila && GetPlayerVehicleID(playerid) <= rvozila)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
}
return 1;
}
stock VecRentano(vehid)
{
foreach(Player,i)
{
if(Rent == vehid) return true;
}
return false;
}
Rudimental
OG Legend
pre 9 godina
Komanda za rent bi trebala ovako da ti bude.
YCMD:rent(playerid, params[], help)
{
#pragma unused help
#pragma unused params
new
    carid = GetPlayerVehicleID(playerid);
if (!RentVozila(carid)) return SCM (playerid, -1, "Nisi u vozilu za iznjamljivanje vozila");
if (Rent > 0) return SCM (playerid, -1, "Vec si iznajmio vozilo, prvo vrati iznjamljeno pa mozes opet rentat");
else
{
foreach (Player, i)
{
if (Rent == carid) return SCM(playerid, -1, "Neko je vec rentao ovo vozilo.");
}
SPD (playerid, RENT_VOZILA, DIALOG_STYLE_LIST, "Odaberite vrijeme","10 minuta\n20 minuta\n30 minuta\n60 minuta", "U redu", "Odustani");
}
return 1;
}


Takodje uradim sam public za ta rent vozila da bude jednostavnije jer ces mozda jos negde koristiti pa ako ga nemas evo.
forward RentVozila(carid);
public RentVozila(carid)
{
for (new i = 0; i < sizeof(rvozila); i++)
{
if (carid == rvozila) return 1;
}
return 0;
}


I to bi trebalo sada da ti bude ok ali ono sto mene sada isto brine jeste tvoj public IstekRenta znaci ti na varijablu na kojoj postavljas ID rent vozila isto tako mu i skidas to po -1 kao neko vreme i kako on sada da dobije tacno vreme renta odnosno tu se ustvari i desi problem do pomesanja ID-ova jer ti njemu kada zapises ID vozila koji je rentao isto tako odma mu i menjas taj ID zbog tog isteka. Moras napraviti 2 varijable jednu za rent gde ce biti samo ID da bi ti ove provere u komandi dobro radile i drugu za vreme renta i onda nece dolaziti do mesanja ID-ova...
Marchelo
Wheel Man
pre 9 godina
da ali kada kucam komandu /RENT onda mi izbacuje dialog u kojem biram koliko minuta zelim rentati vozilo
Rudimental
OG Legend
pre 9 godina
Jel me sada zaebavas ili sta ? 😄 Taj dialog si ti uradio... 😄
Marchelo
Wheel Man
pre 9 godina
normalno da ga nisam ja radio hahaha
Rudimental
OG Legend
pre 9 godina
Pa ne znam onda ko ga je radio ali si ti poslao kodove sa tim i ne vidim sta je tu problem 😄

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava