Pomoc


Započeo Hunter.#, Decembar 30, 2019, 17:13:54 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Napravio sam Rent System, ali nzm kako da namestim kad neki drugi igrac zeli da udje u vozilo koje je rentano od neki drugi igrac da ne moze moze li pomoc?
Dio skripte: //
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
Poslednja Izmena: Decembar 31, 2019, 16:04:33 POSLE PODNE od BitchLasagna

napravis u enumu ili neki niz ili iterator ako znas. primer bool:Rentano[MAX_VEHICLES]; i kada igrac rentuje to vozilo u Rentano[id vozila] uneses vrednost true i kada igrac izadje sa srw ili unrenta ili istekne rent postavis na false a proversu vrsis (if Rentano[id] == true )  ovo ti je ako je rentano

Citat: malipablo poslato Decembar 30, 2019, 17:17:18 POSLE PODNE
napravis u enumu ili neki niz ili iterator ako znas. primer bool:Rentano[MAX_VEHICLES]; i kada igrac rentuje to vozilo u Rentano[id vozila] uneses vrednost true i kada igrac izadje sa srw ili unrenta ili istekne rent postavis na false a proversu vrsis (if Rentano[id] == true )  ovo ti je ako je rentano
foreach(Player, i)
   {
        if(VoziloRentano == GetPlayerVehicleID(playerid))
        {
           SCM(playerid,-1, ""ZELENA"[RENT]: "SIVA"Ne mozete uci vozilo koje vi niste rentali!");
           RemovePlayerFromVehicle(playerid); TogglePlayerControllable(playerid, 1);
           return 1;
          }
    }

OVAKO NES?

https://wiki.sa-mp.com/wroot/index.php?title=OnPlayerEnterVehicle&redirect=no

Ovo iznad ti je callback kada igrac ULAZI u vozilo. Znaci napravis nesto ovako: new Rentano[MAX_VEHICLES] za sva vozila koja imas ili odredi vec.
Onda kada igrac rentuje vozilo, uzmes id vozila: https://wiki.sa-mp.com/wiki/GetPlayerVehicleID i ako ga je rent postavis Rentano[idvozila] = true;
Cim unrenta ili istekne ili izadje postavis na false i respawnas vozilo. Naravno ako drugi igrac pokusa da udje samo napravis proveru u ovom callbacku sto sam ti dao na pocetku da ako je Rentano[idvozila] == true samo mu postavis poziciju na trenutnu i tjt

Citat: malipablo poslato Decembar 30, 2019, 17:40:18 POSLE PODNE
https://wiki.sa-mp.com/wroot/index.php?title=OnPlayerEnterVehicle&redirect=no

Ovo iznad ti je callback kada igrac ULAZI u vozilo. Znaci napravis nesto ovako: new Rentano[MAX_VEHICLES] za sva vozila koja imas ili odredi vec.
Onda kada igrac rentuje vozilo, uzmes id vozila: https://wiki.sa-mp.com/wiki/GetPlayerVehicleID i ako ga je rent postavis Rentano[idvozila] = true;
Cim unrenta ili istekne ili izadje postavis na false i respawnas vozilo. Naravno ako drugi igrac pokusa da udje samo napravis proveru u ovom callbacku sto sam ti dao na pocetku da ako je Rentano[idvozila] == true samo mu postavis poziciju na trenutnu i tjt
Tnx brate

Citat: malipablo poslato Decembar 30, 2019, 17:40:18 POSLE PODNE
https://wiki.sa-mp.com/wroot/index.php?title=OnPlayerEnterVehicle&redirect=no

Ovo iznad ti je callback kada igrac ULAZI u vozilo. Znaci napravis nesto ovako: new Rentano[MAX_VEHICLES] za sva vozila koja imas ili odredi vec.
Onda kada igrac rentuje vozilo, uzmes id vozila: https://wiki.sa-mp.com/wiki/GetPlayerVehicleID i ako ga je rent postavis Rentano[idvozila] = true;
Cim unrenta ili istekne ili izadje postavis na false i respawnas vozilo. Naravno ako drugi igrac pokusa da udje samo napravis proveru u ovom callbacku sto sam ti dao na pocetku da ako je Rentano[idvozila] == true samo mu postavis poziciju na trenutnu i tjt
Evo ovako sam napravio:
Prvo napravio sam ovo:
new Rentano[MAX_PLAYERS];

Onda
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
        foreach(Player, i)
	{
        if(Rentano[i] == GetPlayerVehicleID(playerid))
        {
     		SCM(playerid,-1, ""ZELENA"[RENT]: "SIVA"Ne mozete uci u vozilo koje je rentao neki drugi igrac!");
     		RemovePlayerFromVehicle(playerid); TogglePlayerControllable(playerid, 1);
     		return 1;
       	}
    }

I kad igrac renta vozilo:
                     
if(PlayerInfo[playerid][pNovacDzep] < 120) { SCM(playerid,-1,""SIVA"Nemate dovoljno novca "ZELENA"(120$)"SIVA"!"); RemovePlayerFromVehicle(playerid); TogglePlayerControllable(playerid, 1); return 1; }
			SCM(playerid,-1,""SRWBOJA"[INFO]: "BELA"Rentali ste Nebula za "ZELENA"120$.");
			new Float:xee, Float:yee, Float:zee;
			GetPlayerPos(playerid, xee, yee, zee);
  			vozilorentee[playerid] = CreateVehicle(516, xee, yee, zee, 0, -1, -1, -1, 1);
  			PutPlayerInVehicle(playerid,vozilorentee[playerid],0);
  			g_NovacMinus(playerid,120);
			Rentano[playerid] = GetPlayerVehicleID(playerid);
			return 1;

I ponovo nece, kad zeli neko da udje u vozilo koje je rentao neki drugi igrac ne zabranuje mu nego moze da udje slobodno, ja zelim da mu zabrani da ne moze da udje u vozilo, a igrac koji je rentrao vozilo da moze
Poslednja Izmena: Decembar 31, 2019, 12:39:26 POSLE PODNE od Legend..

Ne radis dobro.

Ovako definises prvu varijablu: new bool:Rentano[MAX_VEHICLES]; znaci za sva vozila a ne za igrace da ne moras da prolazis bezveze kroz sve

Znaci pod OnPlayerEnterVehicle ne radi foreach proveru jer vec imas playerid i vehicleid.
if( Rentano[vehicleid] == true ) { //zabranis mu ulaz npr setanjem iste pozicije sa SetPlayerPos }

Kada je vozilo rentano ono mora da ima vrednost Rentano[ ovde ide id vozila kao npr ono vehicleid ] = true;

A kada nije rentano Rentano[idvozila] = false;