Problem oko /lociraj

Započeo statham.3
2. Jan. 2019. Zaključano
903
pregleda
12
postova
Lazar Milojevic
5
Kingpin
2. Jan. 2019.
Problem(error/warning): Imam neki edit UP-a i zelim kad policajac ukuca /lociraj da marker prati igraca a ne da on svaki put mora da kuca /lociraj da bi se marker pomerio ka igracu
Dio skripte
://
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log)://
Slika/video ingame problema(obavezno ako je ingame problem)://
YCMD:fsoff(playerid, params[],help)
{
    #pragma unused help
    #pragma unused params
    if(!IgracPolicajac(playerid)) return Error(playerid, "Samo clanovi drzavnih bezbednosti.");
    DisablePlayerCheckpoint(playerid);
    Lociranje = 0;
    SCM_FG(playerid, "Prekinuli ste lociranje igraca");
    return 1;
}
Macas
4
Enforcer
2. Jan. 2019.

public OnGameModeInit()
{
    ShowPlayerMarkers(PLAYER_MARKERS_MODE_STREAMED); // ili ShowPlayerMarkers(2);
}

public OnPlayerConnect(playerid)
{
    SetPlayerMarkerForPlayer(playerid, playerid, 0xFFFFFF00 );
}

YCMD:lociraj(playerid, params[],help)
{
    #pragma unused help
    new id;
    if(!sscanf(params, "u", id)
    {
        SetPlayerMarkerForPlayer(playerid, id, 0xFF1400FF);
    }
}

Ovo bi trebalo da radi, nisam se toliko igrao sa markerima
Lazar Milojevic
5
Kingpin
2. Jan. 2019.
rizla wrote on January 2, 2019, 10:43 am:

public OnGameModeInit()
{
    ShowPlayerMarkers(PLAYER_MARKERS_MODE_STREAMED); // ili ShowPlayerMarkers(2);
}

public OnPlayerConnect(playerid)
{
    SetPlayerMarkerForPlayer(playerid, playerid, 0xFFFFFF00 );
}

YCMD:lociraj(playerid, params[],help)
{
    #pragma unused help
    new id;
    if(!sscanf(params, "u", id)
    {
        SetPlayerMarkerForPlayer(playerid, id, 0xFF1400FF);
    }
}

Ovo bi trebalo da radi, nisam se toliko igrao sa markerima


Ne radi...
Macas
4
Enforcer
2. Jan. 2019.
Probaj
ShowPlayerMarkers(1);

https://wiki.sa-mp.com/wiki/ShowPlayerMarkers
https://wiki.sa-mp.com/wiki/SetPlayerMarkerForPlayer
Macas
4
Enforcer
2. Jan. 2019.
nmg edit, sad sam testao kod mene
public OnGameModeInit()
{
    ShowPlayerMarkers(2);
}

public OnPlayerConnect(playerid)
{
    foreach(new i : Player)
    {
        SetPlayerMarkerForPlayer(playerid, i, 0xFFFFFF00 );
    }
}

Ovako radi
Chuffy
4
Made Man
2. Jan. 2019.
On želi da marker to jest CP prati igraća a možete I to preko timer-a.

Jednostavno u vašoj komandi uzmete koordinate igrača I na njega postavljate CP. Pozovete timer koji će se izvršavati da updejta igracevu poziciju I postavlja CP.
Timer = SetTimerEx("Update", 1000, true, "i", playerid);


public Update(playerid)
{
    DisablePlayerCheckpoint(playerid);
    GetPlayerPos(playerid, X, Y, Z);
    SetPlayerCheckpoint(playerid, X, Y, Z, 0.0);
    return 1;
}


Imajte I na umu da morate 'ubiti' timer.
Armandooâ„¢
4
Shot Caller
2. Jan. 2019.
Evo ovo sve uradi:
Komanda:
YCMD:prati(playerid, params[], help)
{
#pragma unused help
#pragma unused params
if(!IgracPolicajac(playerid))
{
new giveplayerid;
if(sscanf(params, "u", giveplayerid))
{
SendClientMessage(playerid, -1, "{FFFFFF}Pomoc | {00C0FF}/prati [ID/Ime igraca]");
return 1;
}
if(giveplayerid == playerid)
{
return 1;
}
if(prati != 999)
{
SCM(playerid, -1,"{f3ff02}Pracenje osobe iskljuceno.");
prati = 999;
DisablePlayerCheckpoint(playerid);
return 1;
}
new Float:I,Float:O,Float:P;
GetPlayerPos(giveplayerid, I,O,P);
new giveplayer;
imeigraca(giveplayerid,giveplayer);
SCMF(playerid, -1,"{f3ff02}Aktivirali ste lociranje osobe %s",giveplayer);
  SetPlayerCheckpoint(playerid,I,O,P,8.0);
    prati = giveplayerid;
}
return 1;
}


Ovo na početak skripte
new prati;


Pod onplayerconnect:
prati = 999;


Pod OnPlayerEnterCheckpoint:
if(prati != 999)
{
return 1;
}


Napravi ovaj novi public:
PUBLIC: Pracenje()
{
foreach(Player, i)
{
if(prati != 999)
{
prati = 999;
DisablePlayerCheckpoint(i);
SCM(i, -1,"Problemi sa lociranjem, pracenje iskljuceno...");
new Float:I,Float:O,Float:P;
GetPlayerPos(prati, I,O,P);
SetPlayerCheckpoint(i,I,O,P,8.0);
}
}
return 1;
}


Pod ongamemodeinit
SetTimer("Pracenje", 1000, true);
Macas
4
Enforcer
2. Jan. 2019.
Ne mora koristiti tajmer, kad moze da iskoristi marker, ako zeli + jos da mu se prikaze chekpoint ako je u blizini igraca tog kog je locirao moze ovako napraviti (samo da se ispravim ShowPlayerMarkers(2); 2 je ako si u blizini, a 1 je za pregled preko cele mape)

new A; //na pocetku skripte zbog spama


komanda lociraj

cmd:lociraj(playerid, params[])
{
    new id;
    if(!sscanf(params, "u", id))
    {
        SetPVarInt(playerid, "Point", id);
        SetPlayerMarkerForPlayer(playerid, id, 0xFF1400FF);
        A = 1;
    }
    return 1;
}

i jos

public OnPlayerUpdate(playerid)
{
    if(A == 1)
    {
        new Float:R;
        GetPlayerPos(GetPVarInt(playerid, "Point"), R, R, R);
        if(IsPlayerInRangeOfPoint(playerid, 30.0, R, R, R))
        {
            SetPlayerCheckpoint(playerid, R, R, R, 3.0);
        }
    }
    return 1;
}


A global tajmer od 1sec + jos koji global tajmer, da nece biti optereceno malo?
Chuffy
4
Made Man
2. Jan. 2019.
rizla wrote on January 2, 2019, 11:59 am:
Ne mora koristiti tajmer, kad moze da iskoristi marker, ako zeli + jos da mu se prikaze chekpoint ako je u blizini igraca tog kog je locirao moze ovako napraviti (samo da se ispravim ShowPlayerMarkers(2); 2 je ako si u blizini, a 1 je za pregled preko cele mape)

....


...

i jos

...


A global tajmer od 1sec + jos koji global tajmer, da nece biti optereceno malo?


Svaka čast na trudu, ali to nije ono što on traži a i nema potrebe da se koristi OPU iz više razloga. Nije bitno koliko timer-a koristiš, samo ih koristi na pravilan način.

Y_Less je jednom rekao:
Quote
It's better to have more timers with less code in them than having less timers with way too heavy code
Lazar Milojevic
5
Kingpin
2. Jan. 2019.
Pokusacu bolje objasniti.Dakle kad igrac ukuca /lociraj zelim da marker prati igraca kada se pomeri da se krece marker gde i on da ne mora svaki put da kuca /lociraj da bi video gde je on ako se pomera.
Lazar Milojevic
5
Kingpin
3. Jan. 2019.
BUMP!
Chuffy
4
Made Man
3. Jan. 2019.
Prikazali smo vam gore riješenje, na vama je uradite po svom.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha