Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Shaw Salcedo poslato Maj 30, 2024, 20:30:41 POSLE PODNE

Naslov: Player Textdraw
Poruka od: Shaw Salcedo poslato Maj 30, 2024, 20:30:41 POSLE PODNE
Pitanje/savjet: Imam jedan sistem, e sad igracu treba da prikaze preko 150 textdrawova, ali ne prikaze mu sve uopste, fazon 50 mozda, proverio sam i na sa-mp pise da je max player textdrawova 256, sve u svemu sta sam probao.
Da destroyam ove druge textdrawove, ali opet isto, takodje sam obrisao sve textdrawove i ostavio samo te i isto se desava, zna li neko resenje

https://prnt.sc/aKQTsPaY3LWw
Opširnije: Vaš odgovor
Dodatno: Vaš odgovor
Naslov: Odg: Player Textdraw
Poruka od: V01D poslato Maj 30, 2024, 22:00:40 POSLE PODNE
Limit 256 tdova koji su kreirani po igracu. Trebalo bi da ti radi, verovatno imas negde jos player td-ova koji ti se kreiraju negde unutar skripte, verovatno pri connect-u.

Najbolje da uzmes i proveravas svaki player td koji imas u skripti za pocetak. Zatim da koristis metodu unistavanja i kreiranja pri prikazivanju.

U prevodu, pri prikazivanju tdova ih kreiras, kada hoces da ih sakrijes unistih ih. Onda neces imati problema sa limitom.
Naslov: Odg: Player Textdraw
Poruka od: Shaw Salcedo poslato Maj 30, 2024, 22:37:33 POSLE PODNE
Jeste to je u pitanju imam pun k modula, i krenuo sam polako jedan po jedan modul da "brisem" tj kreiram nakon koriscenja odredjene komande
Naslov: Odg: Player Textdraw
Poruka od: CroherzeNonRPer poslato Jun 01, 2024, 09:37:41 PRE PODNE
Umjesto da koristis player-textdrawove, kod bi mogao koristiti globalne textdrawove. Globalni textdrawovi se ne racunaju u ogranicenje od 256 player-textdrawova po igracu, ali imaju svoja ogranicenja i mogu utjecati na performanse ako se koriste u velikom broju.

#include <a_samp>

#define MAX_GLOBAL_TEXTDRAWS 222

new Text:GlobalniTextDraw[MAX_GLOBAL_TEXTDRAWS];

public OnGameModeInit()
{

    // Stvaranje globalnih textdrawova
    for (new i = 0; i < MAX_GLOBAL_TEXTDRAWS; i++)
    {
        GlobalniTextDraw[i] = TextDrawCreate(..., "...");
        TextDrawShowForAll(GlobalniTextDraw[i]);
    }
}

public OnPlayerConnect(playerid)
{
    // Prikazivanje globalnih textdrawova novom igracu
    for (new i = 0; i < MAX_GLOBAL_TEXTDRAWS; i++)
    {
        TextDrawShowForPlayer(playerid, GlobalniTextDraw[i]);
    }
}

public OnGameModeExit()
{
    // Unistavanje globalnih textdrawova prilikom gasenja servera
    for (new i = 0; i < MAX_GLOBAL_TEXTDRAWS; i++)
    {
        TextDrawDestroy(GlobalniTextDraw[i]);
    }
}

Globalni textdrawovi su vidljivi svim igracima, pa ih nije moguće prilagoditi pojedinacnim igracima.

Možeš i timer koristiti umjesto OnPlayerConnect ako hoćeš bolje kontrolirati koliko se cesto azuriraju textdrawovi.
Naslov: Odg: Player Textdraw
Poruka od: Shaw Salcedo poslato Jun 01, 2024, 21:30:23 POSLE PODNE
Uradio sam slican fazon, textdrawovi koji nemaju nikakav change, oni su global ostale gde se menjaju neke vrednosti stavio sam da budu player
Sve u svemu, resio sam problem tako sto sam svaki textdraw destroyao nakon hide-anja i ponovo ga kreirao na show i tjt
hvala svakako