16
Maps / Re: Mapa RP Seta
« on: November 26, 2024, 09:09:21 PM »
Nije lose
!!
Kao gost imaš ograničen pristup forumu.
Registracijom dobijaš pristup svim temama, možeš pisati poruke, učestvovati u diskusijama i biti dio naše zajednice.
|
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to. 17
Maps / Re: Zapadni BalkanBet« on: November 26, 2024, 09:08:54 PM »
Lose texture, fali jos detaljaaaa
18
Filterscipts | Includes | Plugins / Re: Winter Update« on: November 26, 2024, 09:08:15 PM »"nece napraviti neku DRASTICNU razliku", U PRAVU SI Da, nece napraviti bog zna koliko drasticnu razliku, radite SAMP server, ne pravite sistem za NASU.... 20
Filterscipts | Includes | Plugins / Re: Winter Update« on: November 26, 2024, 07:55:17 PM »
Okej par stvari koje mi nemaju smisla :
Promenljive za Jelke : Text3D:label[sizeof(JelkaInfo)], NapravljenaJelka;Nemaju potrebu da postoje xD Label nigde konkretno ne koristis, ne brises, ne pomeras tako da nema neke potrebe da ga cuvas u promenljivu Sto se objekta tice, imalo bi smisla da si koristi NapravljenaJelka[MAX_JELKI], tako da taj kreirani objekat cuvas u promenljivu, posto je globalna promenljiva, gubice staru vrednost i ostace samo ona koja je zadnja ucitana ili kreirana. U prevodu jedini nacin da obrises objekat je da obrises fajl. Pritom ovako kako je napravljeno ne mozes da napravis da funkcionise brisanje preko komande kako treba, zato sto gubis vrednost objekta. Cuvanje je takodje problem, zato sto ce dobiti ID objekta koji si kreirao. Pravilnije bi bilo da se odradi ovako : stock getNextTreeID(const len) { //uzima prvi slobodan ID za kreiranje jelkeUglavnom, cuvamo ID kako treba, tako da ce krenuti od 1 pa nadalje, takodje stavljamo NapravljenaJelka da bude niz, koji je vezan za ID drveta ( fajl ) Sada ce ti cuvati jelka_1.ini pa jelka_2.ini pa jelka_3.ini itd do 500... Sada mozes da radis i brisanje kako treba, ucitavanje itd... Dalje... Ovo : task dah_system[2500]() {Tutnuti u : ptask dah_system[2500](i) {Kada vec postoji xDD Za jelke umesto CreateObject koristiti dinamicne objekta, takodje bilo bi dobro dodati EditObject ( da ga moze pomeriti pri kreiranju ) Ovo : public OnPlayerUpdate( playerid ) {Takodje moze u ptask mada manje vise isti kurac, nece napraviti neku DRASTICNU razliku Uglavnom ima par stvari koje treba doraditi, ali ako si ti sve pravio, nije lose. Poraditi na ucitavanju i cuvanju ovih jelki. Ne znam da li si testao da ucitas u nekom malo vecem modu ovu FS? Po ovome kako jeste jelke ne bi trebalo da ucitavanju kako treba Sve u svemu, pohvale za trud 27
SAMP Tutorijali / [TUTORIAL] Samp Voice« on: November 24, 2024, 09:05:14 PM »Samp Voice Tutorial E ovako, vec dosta vas je sigurno culo za sampvoice, ubacivanje voice chat-a itd.. Odlucio sam da napravim ovaj tutorial opet sa razlogom na ima nesto malo detaljnije objasnjeno na ovom forumu, pa da sami mozete iskoristiti za nesto svoje. Pre svega, sta je samp voice? - Samp voice je plugin i include koji omogucava implementaciju voice chat-a tacnije pricanja unutar samp igre. - Za samp voice su potrebni server-side ( plugin i include ) i client-side ( fajl koji igrac skida i ubacuje u gta sa ) Za sta se koristi? - Pricanje ingame, ali njegove mogucnosti su mnogo sire od toga, pored raznih voice kanala koje igraci mogu koristiti, i dobra stvar ovoga je sto se moze staviti na skoro bilo koju tipku koja postoji na tastaturi Gde se moze skinuti sampvoice? You are not allowed to view links. Register or Login Na github linku mozete naci server-side i client-side, kao i source kod client-side dela koji mozete build-ati i napraviti neku svoju modifikaciju. Kako da ubacim sampvoice u svoj server? - Pre svega, u sampvoice pluginu je moguce napraviti 2 vrste stream-a, jedan globalni, drugi lokalni. Globalni nije vezan za lokaciju ili bilo sta slicno, dok lokalni moze biti vezan za objekat, lokaciju, igraca ili slicno.. - Jako prosto, bice objasnjeno u kodu ispod - Sada cu sa slicnim koracima objasniti i drugi nacin upotrebe ( oba slucaja cu staviti u jedan kod i detaljno objasniti unutar koda ) - Na primer, u ovom slucaju zelimo da svaka banda i mafija na serveru imaju poseban voice chat izmedju sebe - I takodje da mogu da se cuju globalno, bilo gde - Ovo moze da sluzi kao radio za PD, radio za bande/mafije, moze da se koristi za razne stvari #include <sampvoice> //Prvo negde pri vrhu skripte include-amo sampvoice.incKako promeniti neki key koji zelimo da koristimo?
- KEY-eve mozemo da menjamo koristeci ASCII tabelu i hex vrednosti odredjenih karaktera ( You are not allowed to view links. Register or Login ) - Sada, sve sto treba da uradimo je da izvucemo hexadecimalnu vrednost karaktera koji zelimo da koristimo - Primer : Ako zelimo da koristimo slovo 'P' za pokretanje voice chat-a ( You are not allowed to view links. Register or Login ) - Isto vazi za svaki karakter, kada smo nasli odgovarajuci broj, dodamo 0x ispred njega i stavimo umesto naseg define-a za key Zakljucak? - Interesantan include i plugin koji nije za svakoga. Onaj koji zeli da koristi nadam se da ce pomocu ovoga uspeti da napravi nesto novo i zanimljivo koristeci plugin, posto ima ogroman broj mogucnosti koji koristimo samo kao lokalni chat.. Na GitHub linku imaju prikazane funkcije i za sta zapravo sluze. Sada je ostalo samo na vama na pustite masti na volju i odradimo nesto zanimljivo sa ovim <328
SAMP Tutorijali / [TUTORIAL] Ternary Operator« on: November 24, 2024, 09:01:43 PM »TERNARY OPERATOR UPOTREBA Pravim ovaj tutorial zato sto ljudi idalje ne znaju zasto se koristi niti da uopste postoji ternary operator. Trudio sam se da objasnim najbanalnije moguce i najosnovnije tako da kada pocetnici vide da neko ovo koriste, ne pomisle da je neka crna magija u pitanju.. new bool:isPlayerHelper[MAX_PLAYERS]; //Uzmimo za primer jednu bool promenljivuE sada, u primeru iznad, zamenili smo argument string iz SendClientMessage funckije i iskoristili ternary operator u istoj U prevodu proverili smo vrednost promenljive isPlayerHelper[playerid] i na osnovu vrednosti iste poslali odredjenu poruku Ternary Operator je zapravo kraca verzija if/else provere, i moze dosta da skrati posao Kako bi ovaj primer izgledao sa IF/ELSE ? CMD:jesamlihelper(playerid) { //Banalan primer u komandiSta se zapravo desava? Ternary operator funkcionise tako sto prvo postavimo odredjeni uslov, a zatim sta ce se desiti ako je uslov ispunjen ili nije ispunjen USLOV ? akoJeIspunjen : akoNijeIspunjenTakodje, ternary operator se moze koristiti u raznim slucajevima, takodje jos jedan banalniji primer sa brojevima : new a = 3,Nadam se da je sada malo jasnije cemu ovo sve sluzi, zasto se koristi i koliko je zapravo korisno za upotrebu Ukoliko nekome bilo sta iz ovog tutoriala nije jasno, slobodno moze da pita 29
SAMP Tutorijali / [TUTORIAL] Y_TIMERS« on: November 24, 2024, 08:56:03 PM »Y_TIMERS Posto vidim da ljudi idalje, iz bog zna kog razloga, koriste SetTimer i SetTimerEx, odlucio sam napraviti cool tutorial na temu Y_Timers koji su definitivno laksa i bolja varijanta..NAMENJENO POCETNICIMA Ovaj include se nalazi unutar YSI! Pa da pocnemo.. POZIVANJE TIMERA Pre svega, kako pozivamo najobcniji timer Za pozivanje koristimo "defer" defer NekiTimer(vrednosti koje zelimo preneti);Ovo deluje zbunjujuce, ali sada cu pokazati upotrebu u tipa robu banke.. CMD:robbanka(playerid, params[])Iznad se nalazi najprostija komanda za rob banke.. Pre svega, defer sluzi kao i SetTimer, pritom kod njega ne moramo da definisemo timer, vec samo da ga "upotrebimo" Unutar ( ) mozemo videti "playerid", znaci da prenosimo varijablu playerid, takodje mozemo preneti bilo koju varijablu i da pritom moze da se iskoristi unutar samog timera..Kako oznaciti kraj timera?? timer BankaRobTimer[90000](playerid)Za to koristimo "timer", prosto, brzo, lako i jednostavno ![]() Sta ovo sve znaci?? timer BankaRobTimer[90000](playerid) -> timer -> Naznacavamo da je timer, da ne objasnjavam previse xD BankaRobTimer -> Ovde navodimo ime timera [90000] -> Broj u milisekundama nakon koga ce se timer zavrsiti (playerid) -> varijabla koju smo preneli u timer Sve ovo unutar timera : TogglePlayerControllable(playerid, 1);Je zapravo ono sto se desi kada se timer zavrsi.. PTASK Ovo je zanimljiva stvar, za sta sluzi PTASK? PTASK je timer koji vrti za svakog igraca posebno, nesto nalik onoga sto vidjate na mnogo modova za PlayerTD-ove, banka, plata.. To je jedan nacin na koji moze da se koristi, on se ponavlja neogranicen broj puta ukoliko se ne zaustavi.. ptask TimerIgrac[1000](playerid)Ovo je jedan primer, na svaku jednu sekundu da se igracu "update-uju" tdovi za platu, zlato, level i novac u banci.. Ukoliko samo odradite ovo, timer ce sam da se automatski pokrene kada igrac udje na server, tako da ne morate da brinete gde ce te ga staviti itd itd.. TASK Task je ista stvar kao i PTASK, ponavljajuci timer koji vrti za sve igrace.. Ovo bi mozda biti neke server poruke ili tako nesto, zavisi sta preferirate. Takodje se koristi isto kao i PTASK, samo bez varijabli task ImeTimera[vreme]()STOPIRANJE TIMERA Ukoliko ipak zelite da zaustavite odredjeni timer, ide malo na cudniji nacin :/ new Timer:NovoImeTimera; //Prvo cemo napraviti novu varijablu NovoImeTimeraTakodje, NasTimer koristimo kao i obican timer, pozivamo ga, zatim koristimo "timer" da bi oznacili sta ce se desiti kada se zavrsi "Stop" koristimo kada zelimo da timer prestane a pritom ne dodje do kraja, tako da ukoliko ga "stopiramo", ono sto smo stavili da se desi u "timer" se nece ni desiti.. ZAKLJUCAK Po meni, jako korisna stvar, pogotovo za pocetnike, takodje je mnogo "optimizovanija" nego SetTimer i SetTimerEx.. Svako ima svoje misljenje.. Prvi mi je tutorial, tako da prihvatam svaku kritiku.. Tutorial je takodje namenjen pocetnicima, tako da sam se potrudio pojasnim uz razne primere, sto bolje mogu. Hvala na citanju <3 ![]() |