Pitanje ! ! !

Započeo Ahbab, Jul 02, 2023, 00:29:51 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

YCMD:preuzmitorbu(playerid, params[], help)
{
   if(IsPlayerInRangeOfPoint(playerid, 3.0, 1425.6038,-1080.5114,17.5583))
   GivePlayerMoney(playerid, 7500);
   SendClientMessage(playerid, -1, ""c_yellow"[Info] "c_white"Uspjesno ste preuzeli torbu sa novcem od 7500$ ! ! !");
   SendClientMessage(playerid, -1, ""c_yellow"[Info] "c_white"Sada idite do markera na mapi, odradite misiju ! ! !");

   return 1;
}
imam ovaj primjer komande i kako sada da napravim da se ta torba moze samo jednom preuzeti i da vise ne moze ili da se moze preuzeti tipa svaki 10 dana ovo pitam cisto jer me zanima i zelio bi znati kako se to radi ?



Citat: Ahbab poslato Jul 02, 2023, 14:01:00 POSLE PODNE
nisi mi pomogao
Vjerovao ili ne, dao ti je najbolju pomoc koju je mogao. Problem je sto svi zelite sve sad i odma, i niko ne uci one osnovne stvari.

To receno, da bi mogao samo jednom da preuzmes torbu je jako lako da se napravi, a da to bude recimo svakih XX vremena je u sustini isto kao i samo jednom, samo cuvas drugacije vrednosti.
Ova stranica ce ti biti najbolji prijatelj https://www.open.mp/docs i uvek ces je gledati (To je dokumentacija, niko ne zna na pamet sta i kako funkcionise u programiranju, tako da sta god da radis, u kojem god jeziku uvek ces gledati dokumentaciju).

Ako pogledas dokumentaciju vidjeces da ima funkcija gettime((&hour=0,&minute=0,&second=0), i vraca Unix Timestamp. Ja odmah znam da ti pojma nemas sta je Unix Timestamp, i to je jedan od razloga zasto ti je PazzOnee poslao pawn language dokumentaciju, i zasto mi vicemo naucite osnove. Unix timestamp je obican integer, i predstavlja broj sekundi od 1.1.1970  (svi kompjuteri, na ovaj ili onaj nacin broje vreme od tada).
Sada kada znas da ako pozoves gettime() i on ti vrati trenutni broj sekundi, onda mozes da sacuvas to i da znas kada je neko pokupio torbu. I onda mozes da dodas proveru, da na na to kad je zadnji put pokupio torbu, dodas XX vremena, i proveris da li je to vreme vece od trenutnoga (ako jeste, onda treba jos da ceka).

Tako da u sustini, jedan integer niz za svakog igraca, tu cuvas timestamp kad je pokupio torbu, i onda u proveri dodas na to sto si sacuvao koliko treba da se ceka do sledeceg puta, pa uporedjujes sa trenutnim vremenom, i ako je trenutno vreme vece, dozvolis da pokupi, ako nije, odbijes.
Naravno, sad kad napravis to, treba ti da cuvas to za igraca kada se connect/disconnect i da resetujes po potrebi (jbg opet kazem, to su principi programiranja, moras uciti od pocetka da bi mogao ovako proste stvari napraviti sam)



Tema koju ste postavili nije po pravilima foruma.
Razlog zakljucavanja: Tema nije po pravilima.

Molimo Vas da procitate glavna pravila foruma kao i pravila ovog podforuma.