Shadow.

Shadow.

Shot Caller
postova
126
Kreiranih tema
0
Pridružio se
maj 04, 2020
Poslednja aktivnost
pre 5 godina
Trenutna aktivnost IDLE

Izgleda da Shadow. trenutno ne radi ništa

Aktivnost na forumu

Postovi i teme koje je kreirao ShadowMortar

Odgovorio na Aug 11, 2020
Podaci sa servera na web stranici
GTA San Andreas Multiplayer / Filterskripte & Include
Alhemičar v2 wrote on August 8, 2020, 11:19 pm:
Nene, ne pričam o tome, ja koristim totalno drugačije nešto ali evo za tvoj pimer
Konkretno ovde
mysql_tquery(sql, "SELECT * FROM `test`", "UcitajRekord");

Pod recimo da je OnGameModeInit ja bih uvek isao sa mysql_query jer mysql_query ZAMRZNE GLAVNI THREAD sto i jeste poenta kod UCITAVANJA!!!


O__o
Odgovorio na Aug 11, 2020
Dynamic Rent Locations
GTA San Andreas Multiplayer / Filterskripte & Include
inquisitiveemmett wrote on August 9, 2020, 10:50 pm:

#define WhiteRentColor                        "{FFFFFF}"
#define RedRentColor                          "{FF0000}"


Ovo si slobodno mogao

#define WHITE        "{FFFFFF}"
#define RED          "{FF0000}"


Zašto nisi koristio MySQL?

format(string, 85,


Bolje koristi
format(string, sizeof string,


new brojac;


Nemoj mešati babe i žabe, ako pišeš na engleskom funkcije, piši i varijable, nemoj pola eng, a pola srpskohrvatski.

if(Rentao{playerid}) return SendClientMessage(playerid, -1, "You already rented vehicle! Use /unrent");


Ovo može u novi red jebem li ga

if(Rentao{playerid})
    return SendClientMessage(playerid, -1, "You already rented vehicle! Use /unrent");

// Takođe i ovo možeš da bacaš u novi red
ShowPlayerDialog(playerid, dialog_TakeRent, DIALOG_STYLE_TABLIST_HEADERS, "Rent Location", "Vehicle\tPrice\nFaggio\t300$\nSentinel\t500$", "Ok", "Cancel");


Pravi razmake malo, da se zna šta je šta..

stock UnRentVehicle(playerid) {
    if(!Rentao{playerid}) return SendClientMessage(playerid, -1, "You didn't rent any vehicle!");
    DestroyVehicle(RentVozilo);
    Rentao{playerid} = false;
    RentVozilo = 0;
    SendClientMessage(playerid, -1, "You don't rent vehicle anymore!");
    return 1;
}

// U ovo

stock UnRentVehicle(playerid)
{
    if (!Rentao{playerid})
        return SendClientMessage(playerid, -1, "You didn't rent any vehicle!");
   

    DestroyVehicle(RentVozilo);

    Rentao{playerid} = false;
    RentVozilo = 0;

    SendClientMessage(playerid, -1, "You don't rent vehicle anymore!");

    return 1;
}


Ne mogu sve da gledam i da pišem, ne da mi se, mrzi me realno haha


Samo mi nije jasno zasto si 'kritizirao' njegov stil skriptanja? Ako je tvoj stil takav kakav je, ne znaci da svi moraju imati konkretno isti stil kao ti.
Odgovorio na Jul 15, 2020
Pomoc oko TextDraw
GTA San Andreas Multiplayer / Pitanja & Pomoć
Meni samo nije jasno zasto danasnji balkanski developeri samo vrjedjaju, brt, samo mu reci sta treba napravit, ne moras mu citav kod dat..

Ima samp forum, odes tamo kopiras link posaljes mu, nek sam skonta i vidi kako se koristi.

https://wiki.sa-mp.com/wiki/Textdraw
Imas
TextDrawCreate(pravi globalni td)
TextDrawDestroy(brise globalni td)
TextDrawHideForPlayer(sakriva globalni td za odredjenog igraca)
TextDrawHideForAll(sakriva globalni td za sve)
TextDrawShowForPlayer(pokazuje global td igracu)
TextDrawShowForAll(pokazuje svima global td)

CreatePlayerTextDraw(pravi player td(za odredjenog igraca))
PlayerTextDrawDestroy(brise player td(za odrjedjenog igraca))
PlayerTextDrawShow(pokazuje odrjedjenom igracu player td)
PlayerTextDrawHide(skriva player td odrjenjneom igracu)

Sad, ispod OnGameModeInit idu globalni TDovi, player tdovi pretezno ispod OnPlayerConnect, ako oces pokazati npr kad se treba login, fino nadjes funkciju koja provjerava je li igrac registriran/nije, pa pokazes td. Ako oces izbrisati kad se player logira, isto nadjes funkciju koja ga set-upa(ili je mozda sve ispod OnPlayerSpawn). Gore imas funkcije koje ce ti pomoc dostic do cilja koji zelis.
Odgovorio na Jul 11, 2020
Komanda
GTA San Andreas Multiplayer / Pitanja & Pomoć
koristis command processor:smsoglas
{
deklariras string za sto ce igrac napisat, i deklariras string za formatiranje
napravis provjeru je li igrac nema mobitel, ako ne, posaljes error msg
koristis sscanf ili isnull da provjeris ako je igrac nesto napisao
napravis provjeru je li igrac nema dovoljno para da posalje sms oglas, ako nema, posaljes mu error msg
formatiras string u koji ce sadrzavat igracev broj, ime, i oglas
posaljes poruku svim igracima na serveru
returnas ovdje
}
Odgovorio na Jul 08, 2020
Tutorial by V01D
GTA San Andreas Multiplayer / Filterskripte & Include
Ako se dobro sjecam "char" se koristi za packed strings.
Odgovorio na Jul 06, 2020
Tutorial by V01D
GTA San Andreas Multiplayer / Filterskripte & Include
Alhemičar wrote on July 5, 2020, 9:53 pm:
Da se ne lažemo - ovo i nije baš fino.

Mogao si u jedan enum da staviš sve Timer IDove i onda samo switch timerid unutar tog tajmera i to je to...

Ali ako ipak hoćeš ovako po 9 mini tajmera, ovo je stvarno katastrofa:
Ovo (važi za sve ostale tajmere):
timer OverLordPricaTimer(playerid) 
{
switch(OverLordTimer{playerid})
{
case 5:
{
TutorialMessage(playerid, "OverLord: Bravo-Six ovde OverLord, prijem!");
OverLordTimer{playerid}--;
defer OverLordPricaTimer(playerid);
return 1;
}
case 4:
{
TutorialMessage(playerid, "OverLord: Imam metu na vidiku, prijem!");
OverLordTimer{playerid}--;
TogglePlayerControllable(playerid, 0);
defer OverLordPricaTimer(playerid);
return 1;
}
case 3:
{
TutorialMessage(playerid, "OverLord: Trazim dozvolu za pucanje, prijem!");
OverLordTimer{playerid}--;
defer OverLordPricaTimer(playerid);
return 1;
}
case 2:
{
TutorialMessage(playerid, "Bravo-Six: OverLord ovde Bravo-Six, prijem!");
OverLordTimer{playerid}--;
defer OverLordPricaTimer(playerid);
return 1;
}
case 1:
{
TutorialMessage(playerid, "Bravo-Six: Odobravamo pucanje! Ne zaboravi da pokupis dokumenta, prijem!");
OverLordTimer{playerid}--;
defer OverLordPricaTimer(playerid);
return 1;
}
case 0:
{
TogglePlayerControllable(playerid, 1);
TutorialMessage(playerid, "Dobio si dozvolu za pucanje, upucaj metu!");
SetCameraBehindPlayer(playerid);
return 1;
}
}
return 1;
}

...je moglo i ovako:
timer OverLordPricaTimer(playerid, step) 
{
switch(step)
{
case 1:
{
TutorialMessage(playerid, "OverLord: Imam metu na vidiku, prijem!");
TogglePlayerControllable(playerid, 0);
defer OverLordPricaTimer(playerid, step + 1);
}
case 2:
{
TutorialMessage(playerid, "OverLord: Trazim dozvolu za pucanje, prijem!");
defer OverLordPricaTimer(playerid, step + 1);
}
case 3:
{
TutorialMessage(playerid, "Bravo-Six: OverLord ovde Bravo-Six, prijem!");
defer OverLordPricaTimer(playerid, step + 1);
}
case 4:
{
TutorialMessage(playerid, "Bravo-Six: Odobravamo pucanje! Ne zaboravi da pokupis dokumenta, prijem!");
defer OverLordPricaTimer(playerid, step + 1);
}
case 5:
{
TogglePlayerControllable(playerid, 1);
TutorialMessage(playerid, "Dobio si dozvolu za pucanje, upucaj metu!");
SetCameraBehindPlayer(playerid);
}
default:
{
TutorialMessage(playerid, "OverLord: Bravo-Six ovde OverLord, prijem!");
defer OverLordPricaTimer(playerid, step + 1);
}
}
}

// Ovako koristis
defer OverLordPricaTimer(playerid);


btw mogao je i default case da bude case 0 a poslednji da bude default 😄

I za neke od ovih varijabli poput UTutorialu si mogao da koristiš i PVar jer se koristi jako retko i onda nema potrebe da se pravi varijabla, ovo važi za sve varijable koje ćeš koristiti 2-3 puta 😄

Takodje ne moras posebnu varijablu za svaki delic tutoriala (npr ProveraVojnik{playerid}) nego kreiras jednu varijablu ili PVar za ceo tutorijal i stavljas vrednosti iz enum-a
timer KadaJePaoTimer(playerid)
{
switch(KadaJePao{playerid})
{
case 4:
{
TutorialMessage(playerid, "OverLord: Bravo-Six...");
//TextDrawShowForPlayer(playerid, CrniTD);
//TextDrawBoxColor(CrniTD, 0xFFFFFF15);
KadaJePao{playerid}--;
defer KadaJePaoTimer(playerid);
return 1;
}
case 3:
{
TutorialMessage(playerid, "OverLord: Zaseda..");
//TextDrawBoxColor(CrniTD, 0xFFFFFF30);
KadaJePao{playerid}--;
defer KadaJePaoTimer(playerid);
return 1;
}
case 2:
{
TutorialMessage(playerid, "Bravo-Six: OverLorde ovde Bravo-Six, ponovi, prijem!");
//TextDrawBoxColor(CrniTD, 0xFFFFFF70);
KadaJePao{playerid}--;
defer KadaJePaoTimer(playerid);
return 1;
}
case 1:
{
TutorialMessage(playerid, "Bravo-Six: SVE RASPOLOZIVE JEDINICE NEKA KRENU I IZVUKU DOKUMENTA!");
//TextDrawBoxColor(CrniTD, 0xFFFFFFFF);
KadaJePao{playerid}--;
defer KadaJePaoTimer(playerid);
return 1;
}
case 0:
{
TextDrawShowForPlayer(playerid, CrniTD);
TextDrawShowForPlayer(playerid, TeksticTD);
OcistiChatIgracu(playerid);
TextDrawSetString(TeksticTD, "Nakon par dana..");
defer IdeUBolnicuTimer(playerid);
return 1;
}
}
return 1;
}

Isto i ovaj timer moze da se doda jedna varijabla, razlog je sledeci:

- Manje koristis memorije
- Apstraktna masina radi na taj nacin da koristi look-up table za svaku varijablu sto bi znacilo da on mora 5 puta da u ovom primeru pristupa istoj varijabli u globalnoj tabli umesto da kreiras lokalnu varijablu i da lagano pristupi njoj jer ne mora da pretarzuje celu tablu od npr 500 varijabli nego samo direkt pristupi ovoj.


Nadam se da je bilo jasno 🙂

Pvars je sporije od normalnih varijabli, a sto se tice default-a, to je sve stvar navike.
https://wiki.sa-mp.com/wiki/Per-player_variable_system

Ja bih pvar koristio npr kad mi treba neka varijabla iz main GM u FS, al ovako zamijenim neku varijablu s pvar, ja ne bi.
Odgovorio na Jul 06, 2020
Help :D
GTA San Andreas Multiplayer / Pitanja & Pomoć
Klikni ovo
4

Novi Član

Nivo 4

Iskustvo 25 / 100 XP
Ukupno XP: 325 75 XP do sledećeg nivoa
6
Dostignuća
325
Ukupno XP
0
Trenutni Niz
0
Najduži Niz

Sva Dostignuća

6 / 20 otključano

Prikaži sve →
🎯
Početak
Početak
Napišite 10 postova na forumu
+25 XP
Aktivni Saradnik
Aktivni Saradnik
Napišite 50 postova na forumu
+50 XP
🏅
Klub Stotina
Klub Stotina
Napišite 100 postova na forumu
+100 XP
🏆
Legenda Foruma
Legenda Foruma
Napišite 500 postova na forumu
+250 XP
👥
Vođa Diskusija
Vođa Diskusija
Kreirajte 10 tema na forumu
+50 XP
🛡️
Uzoran Građanin
Uzoran Građanin
30 dana bez ikakvih upozorenja
+40 XP
🔰
Primerni Član
Primerni Član
90 dana bez ikakvih upozorenja
+100 XP
🚩
Čuvar Zajednice
Čuvar Zajednice
Pošaljite 5 korisnih prijava
+75 XP
📅
Nedeljni Ratnik
Nedeljni Ratnik
Prijavite se 7 dana zaredom
+35 XP
🔥
Posvećeni Fan
Posvećeni Fan
Prijavite se 30 dana zaredom
+150 XP
💬
Prvi Post
Prvi Post
Napišite svoj prvi post na forumu
+10 XP
📝
Pokretač Tema
Pokretač Tema
Kreirajte svoju prvu temu
+15 XP
❤️
Poštovalac
Poštovalac
Dajte svoj prvi lajk na post
+5 XP
👍
Prvo Priznanje
Prvo Priznanje
Primite svoj prvi lajk na post
+5 XP
👤
Identitet Otkriven
Identitet Otkriven
Popunite profil sa avatarom i biografijom
+20 XP

Nedavna XP Aktivnost

Vaši poslednji dobici iskustva

+100
Otključano: Primerni Član
pre 1 nedelju
Dostignuće
+40
Otključano: Uzoran Građanin
pre 1 nedelju
Dostignuće
+100
Otključano: Klub Stotina
pre 1 nedelju
Dostignuće
+50
Otključano: Aktivni Saradnik
pre 1 nedelju
Dostignuće
+25
Otključano: Početak
pre 1 nedelju
Dostignuće
+10
Otključano: Prvi Post
pre 1 nedelju
Dostignuće

O meni - Shadow.

Ovaj korisnik još nije napisao ništa o sebi.

Brze informacije

Prikazano ime Shadow.