Provera / Funkcija

Započeo markosimic, Jul 25, 2024, 17:59:17 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Pitanje/savjet: Provera / Funkcija
Opširnije: Listao sam neke modove koje sam preuzeo sa foruma, pa mi neke stvari nisu bas jasne. Ukoliko vrsis proveru na primer za Level igraca, zasto jednostavno ne napraviti fukniciju za sve provere, koju pozoves i upises parametar samo koji ti je potreban ? Zar nije lakse tako ? Isto sam primetio milion provera, proverava se level na primer za kupovinu oruzija, a onda proverava da li ima dozvolu za oruzije. - nije mi jasno, zasto tako nesto je ide kroz jednu proveru, dozvola za oruzije, na koju se postavi provera levela koji je potreban za kupovinu. Takodje slican princip sam primetio svuda, za sve zive sisteme, sto mi nema smisla. Koriscenje provere iznova i iznova umesto samo pozvati napravljenu funkciju i putem parametra izvrsiti, sto je mnogo lakse, po meni lepse. Takodje koriste se neke skracenice koje mi nisu jasne, kao PI, SCM, dok se takodje koriste normalni nazivi za ostale stvari, zasto ? Takodje primetio sam da ljudi definisu dialoge broj po broj, zar nije lakse samo napraviti startan broj i postaviti parametar koji ce prebrojati i dodati +1 ili nesto slicno putem enuma ? Takodje sam primetio definicije za textdraw, dodavanje broja za broj koliko ih ima u upotrebi, zar nije lakse isto tako putem enuma i samo dodati da od startnog broja nula, izlista i sam definise sebi broj, jednostavno ako dodajes ili menjas, ne moras da dodajes manualno...
Dodatno: Samo mi nije jasno, pa bih da se informisem.
HTML / CSS / Javascript / Inspect : Entry Masterclass.
ReactJS / Tailwind CSS / PWA / Axios / SCSS / Redux, ViteJS : Entry Masterclass.
C / C++ / C# / C-objective - kroz Pawn Lang : Entry Masterclass
Grupisano Pravljenje Objekata : Filterscript.


Sta je to web development?
To je nesto ono kao, kako bih to rekao, izgubis volju za zivotom i zelis da se ubijes, ali to je okej.
Onda jednostavno shvatis da si bio glup i resis problem, das sam sebi lajk,
skuvas NES 3u1 i pripremis se za sledeci projekat.

Dobrodosao na BSamp.. Rijetko ces naci koju skriptu bez takvih bolesti :s

Čekaj ti bi sve provjere kao ova iz priloga stavio u posebnu funkciju, a ovo za parametar te baš nisam najbolje shvatio
if(PlayerInfo[playerid][pAdmin] < 3)[code]
itd...


Citat: cozmic poslato Jul 25, 2024, 18:43:43 POSLE PODNEDobrodosao na BSamp.. Rijetko ces naci koju skriptu bez takvih bolesti :s

Nisam trazio skriptu bez toga, nego neko objasnjenje, zasto neke stvari rade tako i da li je izvodivo da bude na nacin koji sam ja naveo.

Citat: iv0dev poslato Jul 25, 2024, 18:52:37 POSLE PODNEČekaj ti bi sve provjere kao ova iz priloga stavio u posebnu funkciju, a ovo za parametar te baš nisam najbolje shvatio
if(PlayerInfo[playerid][pAdmin] < 3)[code]
itd...


Slicno tome samo sta je PlayerInfo, pAdmin ? Mislim da sam sve napisao koncizno i lako za razumeti.
HTML / CSS / Javascript / Inspect : Entry Masterclass.
ReactJS / Tailwind CSS / PWA / Axios / SCSS / Redux, ViteJS : Entry Masterclass.
C / C++ / C# / C-objective - kroz Pawn Lang : Entry Masterclass
Grupisano Pravljenje Objekata : Filterscript.


Sta je to web development?
To je nesto ono kao, kako bih to rekao, izgubis volju za zivotom i zelis da se ubijes, ali to je okej.
Onda jednostavno shvatis da si bio glup i resis problem, das sam sebi lajk,
skuvas NES 3u1 i pripremis se za sledeci projekat.

CitatOpširnije: Listao sam neke modove koje sam preuzeo sa foruma, pa mi neke stvari nisu bas jasne. Ukoliko vrsis proveru na primer za Level igraca, zasto jednostavno ne napraviti fukniciju za sve provere, koju pozoves i upises parametar samo koji ti je potreban ? Zar nije lakse tako ? Isto sam primetio milion provera, proverava se level na primer za kupovinu oruzija, a onda proverava da li ima dozvolu za oruzije. - nije mi jasno, zasto tako nesto je ide kroz jednu proveru, dozvola za oruzije, na koju se postavi provera levela koji je potreban za kupovinu. Takodje slican princip sam primetio svuda, za sve zive sisteme, sto mi nema smisla. Koriscenje provere iznova i iznova umesto samo pozvati napravljenu funkciju i putem parametra izvrsiti, sto je mnogo lakse, po meni lepse. Takodje koriste se neke skracenice koje mi nisu jasne, kao PI, SCM, dok se takodje koriste normalni nazivi za ostale stvari, zasto ? Takodje primetio sam da ljudi definisu dialoge broj po broj, zar nije lakse samo napraviti startan broj i postaviti parametar koji ce prebrojati i dodati +1 ili nesto slicno putem enuma ? Takodje sam primetio definicije za textdraw, dodavanje broja za broj koliko ih ima u upotrebi, zar nije lakse isto tako putem enuma i samo dodati da od startnog broja nula, izlista i sam definise sebi broj, jednostavno ako dodajes ili menjas, ne moras da dodajes manualno...

Prost odgovor: Zasto bi?

Svi su navikli na takve stvari i nece da mjenjaju jer bi se pogubili i bili bi kao muhe bez glave,
SCM - Send Client Message why not...
PI - U 99.99% slucajeva ti je to varijabla i nije skracenica to joj je puno ime
SPD - Show Player Dialog why not...

Sta si ocekivao, kao da je to nesto novo :P  ?
SPEED HACK (C++) https://github.com/nouddy/samp-speed-hack
Reliant GameMode (open.mp) https://github.com/nouddy/reliant-omp
SA:MP Landing Page https://github.com/nouddy/samp-landing-page


Kolko drama ima u 7 grama

Citat: noddy_ poslato Jul 26, 2024, 10:52:45 PRE PODNEProst odgovor: Zasto bi?

Svi su navikli na takve stvari i nece da mjenjaju jer bi se pogubili i bili bi kao muhe bez glave,
SCM - Send Client Message why not...
PI - U 99.99% slucajeva ti je to varijabla i nije skracenica to joj je puno ime
SPD - Show Player Dialog why not...

Sta si ocekivao, kao da je to nesto novo :P  ?

slazem se s tobom

Citat: noddy_ poslato Jul 26, 2024, 10:52:45 PRE PODNEProst odgovor: Zasto bi?

Svi su navikli na takve stvari i nece da mjenjaju jer bi se pogubili i bili bi kao muhe bez glave,
SCM - Send Client Message why not...
PI - U 99.99% slucajeva ti je to varijabla i nije skracenica to joj je puno ime
SPD - Show Player Dialog why not...

Sta si ocekivao, kao da je to nesto novo :P  ?
jos laksi odgovor: 90% "skriptera" na balkanu je naviklo na stvari iz 2009 i ne znaju radit bez toga.

Imaju modovi i skripte da valjaju, imaju ljudi da su radili razne ludosti i da nista od toga nije released.

Recimo ja sam radio za sebe:

//------------------------------------------------------------------------------
//--->>>Admin command ADMCMD:myadmincmd(adminid, params[], level)
//------------------------------------------------------------------------------
#define ADMCMD:%0(%1,%2,%3)\
    forward cmd_%0(%1,%2);\
    public cmd_%0(%1,%2)\
    {\
        AdminCheck(%1, %3);\
        return cmd2_%0(%1, params);\
    }\
    forward cmd2_%0(%1,%2); \
    public cmd2_%0(%1,%2)

I evo prosta komanda za disarm.
ADMCMD:disarm(adminid, params[], 1)
{
new playerid, reason[56];
if(sscanf(params, "k<player_name>S(Not Given)[56]", playerid, reason)) return SendUsage(adminid, "/disarm [Player ID/Name]", "Use /disarn [All/Everyone] to disarm everyone.");
if(pInfo[adminid][pAdmin] < 2 && playerid == -1) return SendError(adminid, "You do not haver permission to disarm everyone");

if(playerid == INVALID_PLAYER_ID) return SendError(adminid, "Invalid player!");
if(playerid == cellmin) return SendError(adminid, "Multiple players found!");

DisarmPlayer(playerid);
SendAdminClientMessage(adminid, playerid, "disarmed", reason);
return 1;
}
Ima tu vise stvari koje se koriste, od proste provere admin levela, do SendAdminClientMessage funkcije koja salje svima poruku o akciji admina, igracu drugaciju poruku da je admin izvrsio akciju nad njim, i samom adminu da je uspjesno izvrsio akciju nad igracem. Naravno formatira se sve, imena igraca, admina i slicno.

A onaj ko ima oko i cita sve a ne djelimicno moze da vidi da se koristi i K (Kustom) u sscanf-u i da umjesto imena/djela imena/id-a moze proslijediti All ili Everyone, i da ce komanda vaziti za sve igrace. Isto tako ako se unese deo imena a nadju vise igraca koji imaju taj deo u svom imenu, greska koja tacno specifira da ima vise igraca sa tim imenom.

Mislim sve se vidi u primeru, komanda koja bi sa svom funkcionalnoscu na ovom forumu imala jedno 300 linija je svedena na 10tak i sve te funkcije se opet koriste u ostalim komandama...

Ne znam generalno ovde na forumu nisam video to a ovo sto je napiso BitFrosty je istina mnogo stvari koji mi ne mozemo zamislit  postoje a nisu releaseovani.

Dobrodosao u programiranje. Legacy kod je nesto sa cime ces se susretati kroz odrzavanje i razvoj bilo kog starijeg koda. Pawno je u pocetku razvoja SAMP-a bila go-to solucija za editovanje modova. Modovi su pisani u jednom fajlu a definisanje skracenica koriscenjem macro-a je korisceno zbog nedostatka auto complete-a.

Vecina skriptera na Balkanu zapravo nisu programeri i ne zanimaju ih novi trendovi niti hoce da ih uce sto je sasvim logicno. Rijetko ko je od SAMP-a napravio full time posao da bi se toliko trudio oko istog. Ljudi su ucili sa GF i Raven's (kasnije i UP) modova gdje su koriscene sve prakse koje mozes vidjeti na nasim modovima.

Radi kako je tebi lakse i onako kako mozes sto brze i efikasnije da odradis neki feature.

Citat: // xunder poslato Jul 29, 2024, 17:13:51 POSLE PODNEDobrodosao u programiranje. Legacy kod je nesto sa cime ces se susretati kroz odrzavanje i razvoj bilo kog starijeg koda. Pawno je u pocetku razvoja SAMP-a bila go-to solucija za editovanje modova. Modovi su pisani u jednom fajlu a definisanje skracenica koriscenjem macro-a je korisceno zbog nedostatka auto complete-a.

Vecina skriptera na Balkanu zapravo nisu programeri i ne zanimaju ih novi trendovi niti hoce da ih uce sto je sasvim logicno. Rijetko ko je od SAMP-a napravio full time posao da bi se toliko trudio oko istog. Ljudi su ucili sa GF i Raven's (kasnije i UP) modova gdje su koriscene sve prakse koje mozes vidjeti na nasim modovima.

Radi kako je tebi lakse i onako kako mozes sto brze i efikasnije da odradis neki feature.
Jebote ja sam totalno zaboravio na Ravens i da je uopste postojao...Samo kad se sjetim koliko je ljudi to editovalo po samp forumu...

Znaci u definiciji svega ovoga, najlakse je sve napraviti custom sto tebi odgovara kako bi ti bilo lakse ?
HTML / CSS / Javascript / Inspect : Entry Masterclass.
ReactJS / Tailwind CSS / PWA / Axios / SCSS / Redux, ViteJS : Entry Masterclass.
C / C++ / C# / C-objective - kroz Pawn Lang : Entry Masterclass
Grupisano Pravljenje Objekata : Filterscript.


Sta je to web development?
To je nesto ono kao, kako bih to rekao, izgubis volju za zivotom i zelis da se ubijes, ali to je okej.
Onda jednostavno shvatis da si bio glup i resis problem, das sam sebi lajk,
skuvas NES 3u1 i pripremis se za sledeci projekat.

Citat: markosimic poslato Jul 30, 2024, 11:28:02 PRE PODNEZnaci u definiciji svega ovoga, najlakse je sve napraviti custom sto tebi odgovara kako bi ti bilo lakse ?
da

Dovoljno je da svako doda po jednu glupost u mod, jbg vecina nasih skriptera nisu programeri i ne razmisljaju tako nego vec kako je neko drugi radio koji isto ne zna nastavi sa tim. Isto sam i ja razmisljao. I ja sam poceo od skriptanja ni ja nisam bio nista bolji od ovog sto sam naveo ;D posle sam se prebacio na web development kad sam otisao na faks i tek sam na faksu naucio neke stvari trivijalne koje nisam znao, prost primer nisam znao razliku izmedju operatora || i && u ifu, mene je sramota kad vidim da moj mod iz 2018. ima 1000 downloadova i da se ljudi dive tom modu

credits: Xunder, Ino420, Muma

Citat: Pottus;3903994SetPlayerPos("dreni1998", 666.666, 666.666, 666.666, 666.666);    ///// GO IN HELL MOTHERFUCKER

https://i.imgur.com/XHLx9oj.gif
https://i.ibb.co/ZJqQKWT/NXRX.gif