Dynamic Map Icon System | by Vasic

Započeo Vasic, Jul 09, 2019, 23:19:24 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 3 gostiju pregledaju ovu temu.

Citat: mumitza. poslato Jul 10, 2019, 13:27:37 POSLE PODNE
nek me jebe cijeli bsamp ako sam shvatio šta si htio reći
Mislio je kao ono u singleplayeru ikonice za misije, a ovo za vozilo je mislio dok je ono u pokretu da se pomera i ikonica gde i vozilo
• Website: www.vasic.dev
Web Development & Cyber Security

Citat: mumitza. poslato Jul 10, 2019, 13:27:37 POSLE PODNE
nek me jebe cijeli bsamp ako sam shvatio šta si htio reći
Ja cu prvi da te bem

Facebook - Klik



Tema nije postavljena po formularu.
LOCK

Ma zajebavam te  :D :D :D :D

10 od 10  8) @Vasic




Give Honor To The One Who Deserve It






Citat: imnaithan poslato Jul 10, 2019, 16:16:12 POSLE PODNE
Tema nije postavljena po formularu.
LOCK

Ma zajebavam te  :D :D :D :D

10 od 10  8) @Vasic
<3 <3 <3
• Website: www.vasic.dev
Web Development & Cyber Security

Solidno, samo guraj, nema većih grešaka.
[pawn]stock GetNearestMapIcon( playerid ) {
    for( new b = 1; b < sizeof( MI ); b++) {
        if( IsPlayerInRangeOfPoint( playerid, 300.0, MI[ b ][ miX ], MI[ b ][ miY ] , MI[ b ][ miZ ]  ) ) return b; }
    return -1;
}[/pawn]
Ovdje će ti uvijek returnati ranije generiran mapicon ukoliko imaš više kreiranih icona u radijusu od 300.0, trebao si eventualno dodati privremenu varijablu za udaljenost izmedju igraca i najblizeg mapicona, pa ostaviti loop do kraja da uporedi da li je generiran neki mapicon sa kraćom udaljenošću.

Kod će ti prepoznati npr. ovog od 250.0 kao najbližeg, a ne ovog 60.0


[pawn]    GetPlayerPos( playerid, x, y, z );
    MI[ mid ][ miX ] = x;
    MI[ mid ][ miY ] = y;
    MI[ mid ][ miZ ] = z;[/pawn]
bez x, y, z:
[pawn] GetPlayerPos( playerid, MI[ mid ][ miX ], MI[ mid ][ miY ], MI[ mid ][ miZ ] );[/pawn]

Ostalo je sasvim ok, nauči sql, lagan je


bilo je lijepo dok je trajalo.


Citat: psychosomatic poslato Jul 10, 2019, 23:10:08 POSLE PODNE
Solidno, samo guraj, nema većih grešaka.
[pawn]stock GetNearestMapIcon( playerid ) {
    for( new b = 1; b < sizeof( MI ); b++) {
        if( IsPlayerInRangeOfPoint( playerid, 300.0, MI[ b ][ miX ], MI[ b ][ miY ] , MI[ b ][ miZ ]  ) ) return b; }
    return -1;
}[/pawn]
Ovdje će ti uvijek returnati ranije generiran mapicon ukoliko imaš više kreiranih icona u radijusu od 300.0, trebao si eventualno dodati privremenu varijablu za udaljenost izmedju igraca i najblizeg mapicona, pa ostaviti loop do kraja da uporedi da li je generiran neki mapicon sa kraćom udaljenošću.

Kod će ti prepoznati npr. ovog od 250.0 kao najbližeg, a ne ovog 60.0


[pawn]    GetPlayerPos( playerid, x, y, z );
    MI[ mid ][ miX ] = x;
    MI[ mid ][ miY ] = y;
    MI[ mid ][ miZ ] = z;[/pawn]
bez x, y, z:
[pawn] GetPlayerPos( playerid, MI[ mid ][ miX ], MI[ mid ][ miY ], MI[ mid ][ miZ ] );[/pawn]

Ostalo je sasvim ok, nauči sql, lagan je
Za ovo
[pawn]stock GetNearestMapIcon( playerid ) {
    for( new b = 1; b < sizeof( MI ); b++) {
        if( IsPlayerInRangeOfPoint( playerid, 300.0, MI[ b ][ miX ], MI[ b ][ miY ] , MI[ b ][ miZ ]  ) ) return b; }
    return -1;
}[/pawn]
sam vec rekao u nekim od komentara u ovoj temi (omaklo mi se pa stavio misleci da cu uraditi na drugi nacin).
A ovo za visible distance sto si rekao, upravu si. Zapravo, razmisljao sam na pocetku da li da stavim da igrac postavlja distance ili ja u skripti automatski. Hvala ti svakako, sql ucim ali radim jos uvek na iniju.
• Website: www.vasic.dev
Web Development & Cyber Security

Upravu je Bashovski, na to se treba obratiti pažnja. 300 bi ti označavalo jednostavno radius izvan kojeg ne želiš uopšte uzeti u obzir brisanje ili koju akciju povlačiš sa funkcijom.

[pawn]GetNearestMapIcon( playerid ) {
   new Float:p_Pos[ 3 ], Float:maxradius = 300.0, id = -1;
   GetPlayerPos(playerid, p_Pos[ 0 ], p_Pos[ 1 ], p_Pos[ 2 ] );
    for( new b = 1; b < sizeof( MI ); b++) {
        if( VectorSize( p_Pos[ 0 ]-MI[ b ][ miX ], p_Pos[ 1 ]-MI[ b ][ miY ], p_Pos[ 2 ]-MI[ b ][ miZ ] ) >= maxradius ) continue;
        id = b;
        maxradius = VectorSize( p_Pos[ 0 ]-MI[ b ][ miX ], p_Pos[ 1 ]-MI[ b ][ miY ], p_Pos[ 2 ]-MI[ b ][ miZ ] );
    }
    return id;
}[/pawn]

Probaj, iako nisam u nekoj formi, mislim da bi taj kod funkcionirao odlično za tu funkciju.

Btw. Lijepo odraÄ'eno.

Citat: Slade poslato Jul 10, 2019, 23:33:21 POSLE PODNE
Upravu je Bashovski, na to se treba obratiti pažnja. 300 bi ti označavalo jednostavno radius izvan kojeg ne želiš uopšte uzeti u obzir brisanje ili koju akciju povlačiš sa funkcijom.

[pawn]GetNearestMapIcon( playerid ) {
   new Float:p_Pos[ 3 ], Float:maxradius = 300.0, id = -1;
   GetPlayerPos(playerid, p_Pos[ 0 ], p_Pos[ 1 ], p_Pos[ 2 ] );
    for( new b = 1; b < sizeof( MI ); b++) {
        if( VectorSize( p_Pos[ 0 ]-MI[ b ][ miX ], p_Pos[ 1 ]-MI[ b ][ miY ], p_Pos[ 2 ]-MI[ b ][ miZ ] ) >= maxradius ) continue;
        id = b;
        maxradius = VectorSize( p_Pos[ 0 ]-MI[ b ][ miX ], p_Pos[ 1 ]-MI[ b ][ miY ], p_Pos[ 2 ]-MI[ b ][ miZ ] );
    }
    return id;
}[/pawn]

Probaj, iako nisam u nekoj formi, mislim da bi taj kod funkcionirao odlično za tu funkciju.

Btw. Lijepo odraÄ'eno.
Videcu bolje da uradim u drugoj verziji, naravno, ako bude bilo nje. Hvala u svakom slucaju.
• Website: www.vasic.dev
Web Development & Cyber Security



Super odradjeno, gj
Balkan Moon v1.0 by Foxy

Owner // Scripter Balkan Moon

u Potpisu Foxy.

Ne pipaj lava Foxy, radi na BM-u :D :D :D
[4.7.2019] Respect For: Purda | Basovski | Mister Naithan | BICEL KO MI BUNTA | 7.9: Vasic[/b]

* Server [5.1.2019 Created]
* Scripter on Power Gaming
* Scripter on Night Life
* Scripter on Arena Gaming
* Scripter on duty (Balkan Moon)

[23.5.2k19] Messi u skriptanju hehe ;)
[7.8.2k19]OLD Minecraft Developer & Player (2016-2018)

#FOXYSCRIPT[/b]
MAPPER U POKUŠAJU :/[/b]