Monaco RP - Script template

Započeo Slade, April 14, 2023, 23:54:46 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.


Minor update: Link to commit

- Implementirao sam sugestije (ne sve naravno, neke stvari i dalje treba zavrsiti pa shodno tome se nakon uvezivanje mogu i korigovati, a ORM stoji kao primjer GM-a koji koristi isti, mozda u narednim budu i neki query-i sa joinima - depending on systems ofc).
- Buduci da je bilo izmjena u namingu vjerovatno bi trebalo i porukama dodati 'Send(User)' prefix, ali ovako mi je nekako bilo prakticnije pa sam to ostavio

Ako jos ko ima neke sugestije, pisite ili otvorite PR :D
Poslednja Izmena: April 16, 2023, 15:43:49 POSLE PODNE od Slade

Citat: Slade poslato April 16, 2023, 12:44:37 POSLE PODNE
4.Zab sam vec sta radi taj funcion ali mislim da je ime without underscore, u svakom slucaju ljepse mi je zvucalo nego ReturnPlayerNameWithoutUnderscore

Ovime dokazujes zasto je bitan naming scheme funkcije. Nazalost PAWN koji vecina ljudi koristi podrzava max 32 karaktera u imenima funkcija i callbackova. Ja sam pogrijesio jer sam dao los primjer.
"ReturnPlayerNameEx(playerid)" bi trebalo da bude zapravo "ReturnPlayerRPName(playerid)". Mnogo je lakse, kada se vratis na stari projekat nakon nekog vremena, sjetiti se sta je "RPName" nego "Ex".

Citat: Slade poslato April 16, 2023, 12:44:37 POSLE PODNE
2. U potpunosti se slazem, naming nije bas bio idealan iskreno, ali mi je lakse bilo kucati Auth nego IsPlayerAuthorized npr, na generalno team based projektima naming je vazan tako da se slazem, cas posla za replace tho

Slazem se da je lakse ali isto tako bi bilo lakse pisati "if (A(playerid, 2))" pa nije bas dobra ideja. Mislim da u danasnje vrijeme svi koristimo moderne IDEove i code editore da nam ne predstavlja problem to da li je funkcija 4 ili 24 karaktera.

Citat: Slade poslato April 16, 2023, 15:42:39 POSLE PODNE
Minor update: Link to commit

- Implementirao sam sugestije (ne sve naravno, neke stvari i dalje treba zavrsiti pa shodno tome se nakon uvezivanje mogu i korigovati, a ORM stoji kao primjer GM-a koji koristi isti, mozda u narednim budu i neki query-i sa joinima - depending on systems ofc).
- Buduci da je bilo izmjena u namingu vjerovatno bi trebalo i porukama dodati 'Send(User)' prefix, ali ovako mi je nekako bilo prakticnije pa sam to ostavio

Ako jos ko ima neke sugestije, pisite ili otvorite PR :D

Kul update. Vidim da je dodano dosta global stringova. Predlazem ti da ih packujes ukoliko se ne koriste sa "strunpack" jako cesto (OnPlayerUpdate, 1 sec timer itd).
Primjer: "pay_type_name" se koristi samo u PlayerTextDrawSetString i kada kao argument u passujes literal string cak ti i ne treba strunpack.

enum    E_DLS_PLAYER_PAY_TYPES
{
pay_type_name[18 char],
    e_PAY_TYPE:pay_type,
bool:pay_type_credit
}
static PayTypes[][E_DLS_PLAYER_PAY_TYPES] = {
{!"Cash", PAY_TYPE_POCKET,    false},
{!"Bankovni transfer", PAY_TYPE_BANK,      false},
{!"Kredit", PAY_TYPE_CREDIT,    true}
};

// Koriscenje na liniji -> https://github.com/daniscavalic/monaco-roleplay/blob/a72faac20bf483ff74c575ea6d28fb9e88f15154/gamemodes/backend/vehicles/car_dealership.pwn#L136:
PlayerTextDrawSetString(playerid, Contract_PTD[playerid][3], PayTypes[dealer_Player_PayType[playerid]][pay_type_name]); // zapravo se ne mijenja nista jer ga ne formatiramo


Svidja mi se sto si uvazio par mojih prijedloga i to sto ne mlataram u prazno kao obicno.


stock SetAdminVehicle(playerid, vehicleid) {
    return AdminVozilo[playerid] = vehicleid;
}


Ovakva funkcija moze u kasnijem kodu da stvara problem. "Set" funckije bi trebale da returnaju true ukoliko je izvrsena uspijesno i false ukoliko nije. Ukoliko kazemo "SetAdminVehicle(playerid, 0)" funkcija ce vratiti 0 (false) i moze da bude misleading u nekim slucajevima. Predlozio bih ti da, ukoliko zelis da koristis funkciju u provjerama uvijek returnas 1 (true) ili ukoliko ne zelis - pravi obicnu void funkciju koja nece ni imati return. Ovo je rijedak edge case ali zna se desiti i biti smor za debug.


stock GetStaffRankName( rank_level ) {
new rank_name[15];
switch(rank_level) {
case 1: form:rank_name("Server Moderator");
case 2: form:rank_name("Administrator");
case 3: form:rank_name("Lead Administrator");
case 4: form:rank_name("Manager");
}
return rank_name;
}


Nepotrebno je koristiti format kada ne formatiras string zapravo. Da ne bi pisali strmid svaki put u community verziji pawn stdliba postoji "strcopy".

stock strcopy(dest[], const source[], maxlength = sizeof (dest))
{
return strcat((dest[0] = EOS, dest), source, maxlength);
}

Citat: // xunder poslato April 16, 2023, 01:55:17 PRE PODNE
1. "E_PLAYERS" enum je totalno nepotreban. Ako vec zelis da radis modularan mod u PAWNu postoje static global varijable kojima je scope jedan fajl. Recimo da imamo modul karaktera - "character". Modul karaktera bi trebao da sadrzi neke base statistike karaktera (recimo): novac u dzepu, level, exp. Varijable koje ce cuvati novac, level i exp napravi u scope fajla (static) i napravi getter funkcije za svaku stvar koju zelis share izmedju modula. Prednost ovoga je sto getter funkcija moze u sebi da sadrzi logiku koju bi, bez iste, morao da ponavljas kroz svaki fajl.

Ima i static enum. Šta misliš o tome? Ja koristim to umesto varijabli. I njemu je scope taj fajl samo.

A što si sakrio ovaj warning?

#pragma warning disable 214

Zar a_samp već ne inkluduje sve ovo?


#include <a_samp>
#include <a_actor>
#include <a_objects>
#include <a_players>
#include <a_vehicles>


Isto tako mislim da ne treba da težiš da bude za početnike, već kao neka osnova, kao neki bare mode da od njega razviješ svoj mod. I takodje, slazem se sa xunderom za naming.


if(success != COMMAND_OK) {
Torq(playerid, "(komanda) Unesena komanda ne postoji, koristite '/help' za pomoc oko komandi.");
return COMMAND_OK;
}

Ne treba ti ovako. Ovako će svaka komanda koja bude odbijena biti nepostojeća.


COMMAND_ZERO_RET      = 0 , // The command returned 0.
COMMAND_OK            = 1 , // Called corectly.
COMMAND_UNDEFINED     = 2 , // Command doesn't exist.
COMMAND_DENIED        = 3 , // Can't use the command.
COMMAND_HIDDEN        = 4 , // Can't use the command don't let them know it exists.
COMMAND_NO_PLAYER     = 6 , // Used by a player who shouldn't exist.
COMMAND_DISABLED      = 7 , // All commands are disabled for this player.
COMMAND_BAD_PREFIX    = 8 , // Used "/" instead of "#", or something similar.
COMMAND_INVALID_INPUT = 10, // Didn't type "/something".
COMMAND_SILENT        = 11, // Just end.  Don't call the command or print anything.


Zašto ne probaš na omp da radiš? Bolji su tagovi, možeš da biraš kakve ćeš, imaju ysf funkcije integrisane, open sourced je, a realno pokrenućeš ga preko sampa.
- open.mp regional coordinator -

Takodje, pogledaj da li danas na githubu postoje neke biblioteke nove. Uzmeš njih, ne moraš da pišeš svoj kod. Tipa open-vehicle-plus, ne znam, propertiesi neki i tako to, što je fleksibilno da možeš od toga da napraviš svoj sistem, a funkcije već imaš, ne moraš da se bahćeš i pišeš iste.
- open.mp regional coordinator -

Evo vidiš, pogledaj defines.pwn, 20 boja. Y_Colours sve to ima već.

Napomena: Naravno, ne znači da sad ne treba tvog koda i tvojih sistema da bude. Nego jednostavno olakšaš malo, naravno, neće svaka boja baš koja tebi treba biti u y_colours, al pogledaj, ima sigurno veliki spektar boja koje bi ti bile od pomoći.


#define     Error(%0,%1)             SendClientMessageEx(%0, x_torq, "(greska) "%1)
#define     Usage(%0,%1)             SendClientMessageEx(%0, x_green, "(koristenje) "%1)
#define     CommandHelp(%0,%1)         SendClientMessageEx(%0, x_blue, "(komanda) "%1)
#define     Server(%0,%1)             SendClientMessageEx(%0, x_red,  "(server) "%1)

//          Coloured Messages
#define     Torq(%0,%1)             SendClientMessageEx(%0, x_torq,  %1)
#define     Red(%0,%1)                 SendClientMessageEx(%0, x_red,  %1)
#define     Blue(%0,%1)             SendClientMessageEx(%0, x_blue, %1)


Ovo Torq, Red i to, to nema smisla. Neko ko prvi put gleda moraće da se snalazi i neće znati o čemu je reč ovde. Naming već pomenuti. A i iskreno nepotrebno je zbog boje sa radiš makro da se stavi boja na poruku...

Ovo Error, Usage i Server. Možemo na mnogo lepši način.
Napravi jednu funkciju sa argumentom koji odredjuje šta šalješ, stavi tag MESSAGE_TYPE na njega naprimer i proveravaj dolje koja je poruka i šta hoćeš da radi. 
- open.mp regional coordinator -

Citat: // xunder poslato April 17, 2023, 00:02:43 PRE PODNE
Ovime dokazujes zasto je bitan naming scheme funkcije. Nazalost PAWN koji vecina ljudi koristi podrzava max 32 karaktera u imenima funkcija i callbackova. Ja sam pogrijesio jer sam dao los primjer.
"ReturnPlayerNameEx(playerid)" bi trebalo da bude zapravo "ReturnPlayerRPName(playerid)". Mnogo je lakse, kada se vratis na stari projekat nakon nekog vremena, sjetiti se sta je "RPName" nego "Ex".


Evo i ovde, prebaci se na 3.10.11 kompajler koji dobiješ u qawno folderu sa omp serverom. Možeš da ides na 62 karaktera sa imenima.
- open.mp regional coordinator -


Hvala na komentarima, adresirat ću šta stignem kada uhvatim vremena.

Citat: Mergevos poslato April 18, 2023, 00:37:26 PRE PODNE
Evo vidiš, pogledaj defines.pwn, 20 boja. Y_Colours sve to ima već.

Napomena: Naravno, ne znači da sad ne treba tvog koda i tvojih sistema da bude. Nego jednostavno olakšaš malo, naravno, neće svaka boja baš koja tebi treba biti u y_colours, al pogledaj, ima sigurno veliki spektar boja koje bi ti bile od pomoći.

Ovo Torq, Red i to, to nema smisla. Neko ko prvi put gleda moraće da se snalazi i neće znati o čemu je reč ovde. Naming već pomenuti. A i iskreno nepotrebno je zbog boje sa radiš makro da se stavi boja na poruku...

Moja crvena nije klasična FF0000, mislim, uz dužno poštovanje, da koristeći tuđi library za coloring je žešće sviranje k, valjda možeš definisat sam boje za svoj gamemode, moje boje su malo specifične, nijedna nije klasična (plava,zelena,crvena, tirkizna), sve imaju malo svijetliju-tamniju nijansu koja se slaže sa ostalim isto takvog tipa da se mogu mješati u chatu i da to lijepo izgleda, neke su boje naravno predefinirane u prethodno verziji odnosno izvornoj verziji moda, nisam ih dirao, ako se ne koriste, lako ih je obrisati svakako

Citat: Mergevos poslato April 18, 2023, 00:28:41 PRE PODNE
Takodje, pogledaj da li danas na githubu postoje neke biblioteke nove. Uzmeš njih, ne moraš da pišeš svoj kod. Tipa open-vehicle-plus, ne znam, propertiesi neki i tako to, što je fleksibilno da možeš od toga da napraviš svoj sistem, a funkcije već imaš, ne moraš da se bahćeš i pišeš iste.

Script template je, da radim sebi (planirao sam al nemam vremena iskreno), vjerovatno i bi, ma da te biblioteke generalno imaju 90% funkcija koje neću i 10% koje hoću koristit, lakše mi je izvadit tu jednu, ubacit je u neki utils fajl, i ostavit credits, nego includeovati čitavu biblioteku, uz to, naročito starije biblioteke, imaju jako loše hooks tako da je jako teško ubaciti recimo 2 includea koji vrše interakciju sa vozilima i da su kompatibilna jedan sa drugim (da nema errora).

Citat: Mergevos poslato April 18, 2023, 00:25:29 PRE PODNE
A što si sakrio ovaj warning?
#pragma warning disable 214

Ne sjećam se da ti budem iskren, mislim da sam našao guglanjem da je to neki compiler problem sa ovim tipom gamemodea gdje je kod razdvojen u fajlove sa hooksom, smetao mi je warning iako nije konzistentan pa sam ga sklonio, ako si klonirao mod mozes sklonit liniju pa probaj kompajlirati, vidjet ces o cemu se radi, ali nije relevant, ako nista na tu temu, ne mislim svakako da je lako reproducirati ovaj warning pa samim time i da je problem što stoji ta linija

Citat: Mergevos poslato April 18, 2023, 00:25:29 PRE PODNE
Zar a_samp već ne inkluduje sve ovo?


#include <a_samp>
#include <a_actor>
#include <a_objects>
#include <a_players>
#include <a_vehicles>


Mislim da da, nisam siguran, provjerim pa ako jeste, onda je redundant definitivno pa pobrišem ostale.

Citat: Mergevos poslato April 18, 2023, 00:25:29 PRE PODNE
Ne treba ti ovako. Ovako će svaka komanda koja bude odbijena biti nepostojeća.


COMMAND_ZERO_RET      = 0 , // The command returned 0.
COMMAND_OK            = 1 , // Called corectly.
COMMAND_UNDEFINED     = 2 , // Command doesn't exist.
COMMAND_DENIED        = 3 , // Can't use the command.
COMMAND_HIDDEN        = 4 , // Can't use the command don't let them know it exists.
COMMAND_NO_PLAYER     = 6 , // Used by a player who shouldn't exist.
COMMAND_DISABLED      = 7 , // All commands are disabled for this player.
COMMAND_BAD_PREFIX    = 8 , // Used "/" instead of "#", or something similar.
COMMAND_INVALID_INPUT = 10, // Didn't type "/something".
COMMAND_SILENT        = 11, // Just end.  Don't call the command or print anything.


U trenutnoj strukturi komandi je to okej, bio sam svjestan tagova, tako da sam stavio da ako je komanda, a nije validna, dal ne postoji ili je taj format, da ti vrati poruku da ne postoji, jer jednostavno nije tako ni definirana i shodno tome i ne postoji, možda ne izgleda bajno ali funkcioniše, ko misli da će doći u interakciju sa ostalim tagovima može zamjenit tu jednu liniju da ispiše zapravo da ne postoji samo kad je COMMAND_UNDEFINED case, u svakom slučaju nije mi se pravio edge case da vratim poruku/izvršim handling za svaki case tako da i nisam, ili je ispravna ili nije, if u know what I mean :D

Citat: Mergevos poslato April 18, 2023, 00:25:29 PRE PODNE
Isto tako mislim da ne treba da težiš da bude za početnike, već kao neka osnova, kao neki bare mode da od njega razviješ svoj mod. I takodje, slazem se sa xunderom za naming.
Zašto ne probaš na omp da radiš? Bolji su tagovi, možeš da biraš kakve ćeš, imaju ysf funkcije integrisane, open sourced je, a realno pokrenućeš ga preko sampa.

Ne težim da bude za početnike, svakako ima nekih stvari u TextDrawima koje ja lično ne bih znao ni pročitati kad sam tek kretao da učim programiranje, koje je generalno i počelo od samog SA-MPa, ovo je baš to što kažeš, template, za neki mod, ima predefinirane stvari, neke bazne sisteme, čak i neke TDove, vremenom ću ga i ja malo ažurirati vjerovatno, uglavnom dobar template, TD handling, sql (orm), neka osnovna baza, kul za početak.
A što se tiče omp, nemam iskreno dobar odgovor na tvoje pitanje, vjerovatno hoću nekada, generalno ni nemam vremena da radim, ali vjerovatno ću ako bih išta krenuo da pišem od 0, makar iz zabave, odabrati omp.

Nisam uopšte vidio ovaj komentar, pa mi je otišao ispod radara..  :D

Citat: // xunder poslato April 17, 2023, 00:02:43 PRE PODNE
Slazem se da je lakse ali isto tako bi bilo lakse pisati "if (A(playerid, 2))" pa nije bas dobra ideja. Mislim da u danasnje vrijeme svi koristimo moderne IDEove i code editore da nam ne predstavlja problem to da li je funkcija 4 ili 24 karaktera.

Ne oslanjam se previše na VSC, jednostavno mi ne ide, kao što npr mogu na IntelliJ, kad spominješ IDE, a što se tiče naminga, fair point, međutim, Auth može značit svašta nešto, u jednu ruku sam planirao vremenom dodati na neke komande i neki auth template, tipa kod za administratore head admin levela za neke operativne komande, pa bi auth išao malo dalje, trenutni template komande definitivno bolje izgleda sa IsPlayerAuthorized, ali ono, porediti A i Auth, really :D ?

Citat: // xunder poslato April 17, 2023, 00:02:43 PRE PODNEKul update. Vidim da je dodano dosta global stringova. Predlazem ti da ih packujes ukoliko se ne koriste sa "strunpack" jako cesto (OnPlayerUpdate, 1 sec timer itd).
Primjer: "pay_type_name" se koristi samo u PlayerTextDrawSetString i kada kao argument u passujes literal string cak ti i ne treba strunpack.

enum    E_DLS_PLAYER_PAY_TYPES
{
pay_type_name[18 char],
    e_PAY_TYPE:pay_type,
bool:pay_type_credit
}
static PayTypes[][E_DLS_PLAYER_PAY_TYPES] = {
{!"Cash", PAY_TYPE_POCKET,    false},
{!"Bankovni transfer", PAY_TYPE_BANK,      false},
{!"Kredit", PAY_TYPE_CREDIT,    true}
};

// Koriscenje na liniji -> https://github.com/daniscavalic/monaco-roleplay/blob/a72faac20bf483ff74c575ea6d28fb9e88f15154/gamemodes/backend/vehicles/car_dealership.pwn#L136:
PlayerTextDrawSetString(playerid, Contract_PTD[playerid][3], PayTypes[dealer_Player_PayType[playerid]][pay_type_name]); // zapravo se ne mijenja nista jer ga ne formatiramo


Svidja mi se sto si uvazio par mojih prijedloga i to sto ne mlataram u prazno kao obicno.

Slažem se da je ovo u ovom slučaju bolje, međutim, ovo je mikrooptimizacija, kada bi sad ušao i gledao svaku liniju našao bi još 300 komentara sigurno, mogu ispraviti, par sekundi posla, imamo li fakat tako velik benefit od ovoga? Htio sam koristiti PawnPlus tho, ali ipak sam odustao na kraju, znam da on ima one dinamičke stringove

Citat: Slade poslato April 19, 2023, 00:08:53 PRE PODNE
Hvala na komentarima, adresirat ću šta stignem kada uhvatim vremena.

Moja crvena nije klasična FF0000, mislim, uz dužno poštovanje, da koristeći tuđi library za coloring je žešće sviranje k, valjda možeš definisat sam boje za svoj gamemode, moje boje su malo specifične, nijedna nije klasična (plava,zelena,crvena, tirkizna), sve imaju malo svijetliju-tamniju nijansu koja se slaže sa ostalim isto takvog tipa da se mogu mješati u chatu i da to lijepo izgleda, neke su boje naravno predefinirane u prethodno verziji odnosno izvornoj verziji moda, nisam ih dirao, ako se ne koriste, lako ih je obrisati svakako

Script template je, da radim sebi (planirao sam al nemam vremena iskreno), vjerovatno i bi, ma da te biblioteke generalno imaju 90% funkcija koje neću i 10% koje hoću koristit, lakše mi je izvadit tu jednu, ubacit je u neki utils fajl, i ostavit credits, nego includeovati čitavu biblioteku, uz to, naročito starije biblioteke, imaju jako loše hooks tako da je jako teško ubaciti recimo 2 includea koji vrše interakciju sa vozilima i da su kompatibilna jedan sa drugim (da nema errora).

Ne sjećam se da ti budem iskren, mislim da sam našao guglanjem da je to neki compiler problem sa ovim tipom gamemodea gdje je kod razdvojen u fajlove sa hooksom, smetao mi je warning iako nije konzistentan pa sam ga sklonio, ako si klonirao mod mozes sklonit liniju pa probaj kompajlirati, vidjet ces o cemu se radi, ali nije relevant, ako nista na tu temu, ne mislim svakako da je lako reproducirati ovaj warning pa samim time i da je problem što stoji ta linija

Mislim da da, nisam siguran, provjerim pa ako jeste, onda je redundant definitivno pa pobrišem ostale.

U trenutnoj strukturi komandi je to okej, bio sam svjestan tagova, tako da sam stavio da ako je komanda, a nije validna, dal ne postoji ili je taj format, da ti vrati poruku da ne postoji, jer jednostavno nije tako ni definirana i shodno tome i ne postoji, možda ne izgleda bajno ali funkcioniše, ko misli da će doći u interakciju sa ostalim tagovima može zamjenit tu jednu liniju da ispiše zapravo da ne postoji samo kad je COMMAND_UNDEFINED case, u svakom slučaju nije mi se pravio edge case da vratim poruku/izvršim handling za svaki case tako da i nisam, ili je ispravna ili nije, if u know what I mean :D

Ne težim da bude za početnike, svakako ima nekih stvari u TextDrawima koje ja lično ne bih znao ni pročitati kad sam tek kretao da učim programiranje, koje je generalno i počelo od samog SA-MPa, ovo je baš to što kažeš, template, za neki mod, ima predefinirane stvari, neke bazne sisteme, čak i neke TDove, vremenom ću ga i ja malo ažurirati vjerovatno, uglavnom dobar template, TD handling, sql (orm), neka osnovna baza, kul za početak.
A što se tiče omp, nemam iskreno dobar odgovor na tvoje pitanje, vjerovatno hoću nekada, generalno ni nemam vremena da radim, ali vjerovatno ću ako bih išta krenuo da pišem od 0, makar iz zabave, odabrati omp.

Pošto sam na fonu staviću ti broj parafrafa na koji ti odgovaram.

1. Dobro, boja manje više. Zato sam i stavio napomenu. U potpunosti se slažem, samo sam ti napomenuo biblioteku da znaš čisto.

2. Iskren da budem dao sam ti svoju jako lepo napisanu i novu biblioteku ? pa sam zato spomenuo, ali generalno, ako ćeš tako posmatrati zbog 90% funkcija koje nećeš koristiti, izvadiš jednu, znaš, nije to, možda će ti baš zatrebati to, uostalom to i jeste biblioteka sa razlogom, neće ti te funkcije smetati i da ne koristiš, stvarno ima korisnih stvari, a nemoj da te to nekorišćenje funkcija brine. Koliko biblioteka ima da traže jednu stvar da bi one radile samo, a taj dependency je baš bespotreban tvom modu, ali ti je potrebna ova prethodna biblioteka i jebi ga. Moraš da skineš stvar koju ćeš koristiti samo u jednoj situaciji ?.

3. Ne znam za to, ali ako je warning za const, to se lako rešava.

4. //

5. //

6. Pa možda baš ovo da prebaciš. Iskreno, znaš, nije uopste toliko teško. Samo treba neke biblioteke da zameniš malo da sredis pluginove i komponente i da ubacis omp-server.exe i da se generiše config.json

Sve u svemu napisao sam samo, a ima 100 stvari, ali realno very simple i može da se uradi. Možda otvorim neki issue pa ti pomognem.

EDIT:

Imaju neke "?" u sred rečenica. Da znaš da su emoji neki
- open.mp regional coordinator -

Znam za tvoj library za vehicles, mislim da sam ga koristio u drugom modu, i da slažem se, ima tu vehicle offseta i svašta nešto, mnogo prebačenih definicija da bi se izvukla samo jedna funkcija, u jednu ruku i not worth it, ovaj mod i nema nešto generalno funkcija za sama vozila (engine i lights sistem, i to je to ako se ne varam)

Ako želiš i imaš vremena, slobodno ispravi/optimizuj, možeš i integrisat svoju biblioteku vozila u mod ako misliš da ima pozitivan efekat, makar za čitanje koda, i otvori pull request pa ćemo mergati, svaka kontribucija je dobrodošla, a ja ću gledat da adresiram stvari što ste ti i Xunder pisali, kad uhvatim vremena  :D

Citat: Slade poslato April 19, 2023, 00:31:02 PRE PODNE
Znam za tvoj library za vehicles, mislim da sam ga koristio u drugom modu, i da slažem se, ima tu vehicle offseta i svašta nešto, mnogo prebačenih definicija da bi se izvukla samo jedna funkcija, u jednu ruku i not worth it, ovaj mod i nema nešto generalno funkcija za sama vozila (engine i lights sistem, i to je to ako se ne varam)

Ako želiš i imaš vremena, slobodno ispravi/optimizuj, možeš i integrisat svoju biblioteku vozila u mod ako misliš da ima pozitivan efekat, makar za čitanje koda, i otvori pull request pa ćemo mergati, svaka kontribucija je dobrodošla, a ja ću gledat da adresiram stvari što ste ti i Xunder pisali, kad uhvatim vremena  :D

Brate u pravi čas si krenuo sa ovim. I ja pišem mod od 0 neki, ako si za mogao bih da migriram na open.mp tvoj mod. Pa da šaltam s njim iskreno. Imam lepih stvari, sigurno bi ti značilo.
- open.mp regional coordinator -

Može, forkaj, il ako želiš poslat ću ti contribute invitation, ako ćeš tako pošalji mi samo github mail/username, na ovaj repo pa ćemo verzionirat ovaj core na 0.1-SAMP, a naredna verzija i master da budu omp, svakako je SAMP stao sa razvijanjem, a OMP je budućnost

Citat: Slade poslato April 19, 2023, 00:39:06 PRE PODNE
Može, forkaj, il ako želiš poslat ću ti contribute invitation, ako ćeš tako pošalji mi samo github mail/username, na ovaj repo pa ćemo verzionirat ovaj core na 0.1-SAMP, a naredna verzija i master da budu omp, svakako je SAMP stao sa razvijanjem, a OMP je budućnost

Forkovacu, cim zavrsim nesto sutra. No, another question.

Iterator: ServerVehicles<MAX_VEHICLES>;


Zašto ovo? YSI vec ima iterator za vozila.
- open.mp regional coordinator -