Par sitnih saveta koji će svima pomoći (nadam se)

Započeo malitoni
10. Feb. 2020. Zaključano
2,693
pregleda
18
postova
ToniSB
3
Hustler
10. Feb. 2020.
- Savet -


Nije me dugo bilo i primetio sam da dosta vas ovde ne koristi neke fine stvari koje dosta ubrzavaju vreme pisanja koda tj. potrebno vam je manje vremena za to, primer iz nekog random SA moda:
forward AdminGameMaster(color, const string[]);
public AdminGameMaster(color, const string[])
{
foreach(new i : Player)
{
if(PlayerInfo >= 1|| PlayerInfo >= 1)
{
SendClientMessage(i, color, string);
}
}
}
// I posle
new string;
format(string, sizeof(string), "Poruka od %s", GetName(playerid));
AdminGameMaster(-1, string);


Ovo bi moglo da bude mnogo drugačije:
stock AdminGameMaster(color, const string[], {Float,_}:...)
{
if(numargs() > 2)
{
foreach(new i : Player)
{
if(PlayerInfo >= 1 || PlayerInfo >= 1)
{
va_SendClientMessage(i, color, string, ___(2));
}
}
}
else
{
foreach(new i : Player)
{
if(PlayerInfo >= 1 || PlayerInfo >= 1)
{
SendClientMessage(i, color, string);
}
}
}
return 1;
}
// I sada:
AdminGameMaster(0xFF0000FF, "Poruka od %s", GetName(playerid));

Takodje, kad smo vec kod ovog parčeta koda, ovo bi moglo malo (mnogo, zavisi od broja igrača na serveru) brže da radi:
#include 

new Iterator:Admins;

public OnAccountLoaded(const playerid) // Recimo da ovo pozivate kada se igrac uloguje
{
if (PlayerInfo > 0) {
Iter_Add(Admins, playerid); // Dodajmo igraca u iterator Admins
}
}

public OnPlayerDisconnect(playerid, reason)
{
if (PlayerInfo > 0) {
Iter_Remove(Admins, playerid); // Maknimo taj ID igraca iz iteratora
}
}

YCMD:setadmin(playerid, const params[])
{
new tagetID, level; // Necu celu CMD pisati sada, podrazumeva se da dole ima sve tj. kod vas
// Kod

if (level <= 0) { // Namerno <=, vi dodajte zastite ostale
// Kod
Iter_Remove(Admins, targetID);
}
else {
// Kod
Iter_Add(Admins, targetID);
}

return COMMAND_OK;
}

// I sada kada sam sve objasnio (valjda)
stock AdminGameMaster(color, const string[], {Float,_}:...)
{
if(numargs() > 2)
{
foreach( new i : Admins ) { // Ime iteratora sa linije broj 3
va_SendClientMessage(i, color, string, ___(2));
}
}
else
{
foreach( new i : Admins ) { // Ime iteratora sa linije broj 3
SendClientMessage(i, color, string);
}
}
return 1;
}

// Sada umesto da npr loopujemo kroz 1000 igrača, mi loopujemo samo kroz one koji postoje u iteratoru (mnogo brže nego u primeru gore da uvek loopujemo kroz SVE igrače dok ovako loopujemo samo kroz slotove iteratora)
ᗪ乇Ҝ丂卂
5
Underboss
10. Feb. 2020.
fino boga mi, posluzice pocetnicima i tako tim...... 👍
ToniSB
3
Hustler
10. Feb. 2020.
YumikoJR wrote on February 10, 2020, 1:54 pm:
fino boga mi, posluzice pocetnicima i tako tim...... 👍

Zbog toga sam tu 😛
muamerkadusic
5
Godfather
10. Feb. 2020.
extrica
mus4
4
Made Man
10. Feb. 2020.
njesra
ToniSB
3
Hustler
10. Feb. 2020.
salqnovic wrote on February 10, 2020, 2:03 pm:
njesra

Ti pravi stringove, ne branim ja tebi 😄

Mumi. wrote on February 10, 2020, 2:03 pm:
extrica

Hvala <3
Vincenzo_Peruggia
5
OG Legend
10. Feb. 2020.
Stil pisanja koda treba biti individualan , u ostalom stil pisanja koda nije vazan ukoliko funkcija , komanda , sistem ili slicno radi normalno sto je najvaznije u celoj prici programiranja ne samo pawno nego i bilo koji drugi programski jezik 😉
ToniSB
3
Hustler
10. Feb. 2020.
#THEV1NNY_ wrote on February 10, 2020, 4:34 pm:
Stil pisanja koda treba biti individualan , u ostalom stil pisanja koda nije vazan ukoliko funkcija , komanda , sistem ili slicno radi normalno sto je najvaznije u celoj prici programiranja ne samo pawno nego i bilo koji drugi programski jezik 😉

Ko ovde pominje stil? 😄
Ja kažem da je mnogo lakše i brže ovako (performanse servera UP).

Ja nikome nisam rekao "E nemoj tako", zato se zove Savet a ne Naredba, dal' ces ti mene poslusati ili ne kgjb 😛

Svakako ovako je najbolje, posebno za Iteratore 🙂
Muma Rascall
6
Forum Don
10. Feb. 2020.
#THEV1NNY_ wrote on February 10, 2020, 4:34 pm:
Stil pisanja koda treba biti individualan , u ostalom stil pisanja koda nije vazan ukoliko funkcija , komanda , sistem ili slicno radi normalno sto je najvaznije u celoj prici programiranja ne samo pawno nego i bilo koji drugi programski jezik 😉
Nije ovo nikakav stil već kako bi trebalo da bude ili bolje ako zna onda super, a ne prahistorijski kurci kao što je već naveo gore
omcho
4
Enforcer
10. Feb. 2020.
#THEV1NNY_ wrote on February 10, 2020, 4:34 pm:
Stil pisanja koda treba biti individualan , u ostalom stil pisanja koda nije vazan ukoliko funkcija , komanda , sistem ili slicno radi normalno sto je najvaznije u celoj prici programiranja ne samo pawno nego i bilo koji drugi programski jezik 😉


ne slazem se bas toliko sa tobom o tome da treba biti individualan, losa praksa 'kod nas' sto se PAWN-a tice je npr sto lupaju 'forward + public' u istu liniju, bad code pracite ono bzvz ako je nesto lose i moze biti brze zasto ne bi bilo brze?

@tema i ja sam skoro saznao za `numargs` native i cini mi se da moze biti mnogo mnogoo koristan, i ne znam ako nisam ranije skontao za to 😄
Vincenzo_Peruggia
5
OG Legend
11. Feb. 2020.
omcho wrote on February 10, 2020, 11:54 pm:
ne slazem se bas toliko sa tobom o tome da treba biti individualan, losa praksa 'kod nas' sto se PAWN-a tice je npr sto lupaju 'forward + public' u istu liniju, bad code pracite ono bzvz ako je nesto lose i moze biti brze zasto ne bi bilo brze?

@tema i ja sam skoro saznao za `numargs` native i cini mi se da moze biti mnogo mnogoo koristan, i ne znam ako nisam ranije skontao za to 😄

Pa pazi bad code pada u drugi plan ukoliko funkcija , komanda ili sistem rade bez problema 😉
Neko je navikao na stariji sistem neko na noviji sistem pisanja sa novim opcijama ali ako ti umes da se snadjes u tom code-u i ako opet kao sto kazem code se pretvori u to da sistem radi onda ne treba menjati 🙂
Npr ja sam navikao da code pisem bez tih numargsa i iteratora i opet mi sistemi rade normalno 😄
omcho
4
Enforcer
11. Feb. 2020.
#THEV1NNY_ wrote on February 11, 2020, 12:03 am:
Pa pazi bad code pada u drugi plan ukoliko funkcija , komanda ili sistem rade bez problema 😉
Neko je navikao na stariji sistem neko na noviji sistem pisanja sa novim opcijama ali ako ti umes da se snadjes u tom code-u i ako opet kao sto kazem code se pretvori u to da sistem radi onda ne treba menjati 🙂
Npr ja sam navikao da code pisem bez tih numargsa i iteratora i opet mi sistemi rade normalno 😄


sistemi ti rade normalno, ali rade sporije nego sa iteratorima recimo...
rOLDen
4
Made Man
11. Feb. 2020.
OK su savjeti. Trebali bi pomoći početnicima, ali drugi put stavi više savjeta jer radi par njih se ne isplati otvarat temu. Pohvale za uloženi trud.
ToniSB
3
Hustler
11. Feb. 2020.
Aaron wrote on February 11, 2020, 7:19 am:
OK su savjeti. Trebali bi pomoći početnicima, ali drugi put stavi više savjeta jer radi par njih se ne isplati otvarat temu. Pohvale za uloženi trud.

Ako @Galardo bude dozvolio da apdejtam ovo, sve moze 😄

#THEV1NNY_ wrote on February 11, 2020, 12:03 am:
Pa pazi bad code pada u drugi plan ukoliko funkcija , komanda ili sistem rade bez problema 😉
Neko je navikao na stariji sistem neko na noviji sistem pisanja sa novim opcijama ali ako ti umes da se snadjes u tom code-u i ako opet kao sto kazem code se pretvori u to da sistem radi onda ne treba menjati 🙂
Npr ja sam navikao da code pisem bez tih numargsa i iteratora i opet mi sistemi rade normalno 😄

Uvrede bez baki ali nisam baš video da imaš server sa 500+ igraca 😄
Ovo pomaze mnogo ako imaš igrace, ovo tebi tehnicki nikada nece trebati

EDIT: Postoji loša praksa i dobra praksa, pa sam skontaj na sta mislim...
Zašto bi ti format poruku koja nema args posle stringa? Besmisleno je i dzaba vuce performance dole
Garadooo
5
Forum Don
11. Feb. 2020.
Naravno,posalji mi u privatnu poruku,veceras cu update.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha