Portal SAMP
[Include] Textdraw Simple Click - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Lançamentos (https://portalsamp.com/forumdisplay.php?fid=26)
+---- Fórum: Includes (https://portalsamp.com/forumdisplay.php?fid=27)
+---- Tópico: [Include] Textdraw Simple Click (/showthread.php?tid=4941)



Textdraw Simple Click - blueN - 28/12/2024

TEXTDRAW SIMPLE CLICK

Inicialmente esse sistema foi criado para simplificar os clicks nas textdraws evitando o uso do ALS e HOOK com um objetivo direto e adicionar interações. Porem acabou que essa include nos testes que eu fiz, melhorou muito a resposta nos cliques ficando muito mais fluido e rápido. Inclusive testei com um servidor quase cheio e deu o mesmo resultado como se eu tivesse solo, os cliques responderam instantaneamente praticamente.

Vou deixar abaixo alguns exemplos de uso porem para mais detalhes ou reportes de problemas acessem o repositório no github.

https://github.com/devbluen/textdraw-simple-click


Código de textdraw abaixo é apenas para ilustrações do funcionamento do SetClick

Padrão
Código:
stock CreateTextdraw(playerid) {

    // A simple example of textdraw creation, just to illustrate SetClick.
    new PlayerText:id = CreatePlayerTextDraw(playerid, 0.0, 0.0, "LD_SPAC:white") // or box, whatever
    PlayerTextDrawSetSelectable(playerid, id, true);

    PlayerTextDrawSetClick(playerid, "ClickLogin", id);
    SelectTextDraw(playerid, -1);
}

PlayerTextDrawClick:ClickLogin(playerid, params) {

    // your code
    return true;
}

Passando parâmetros
Código:
stock CreateTextdraw(playerid) {

    // A simple example of textdraw creation, just to illustrate SetClick.
    new PlayerText:inventario_slot[3];
   
    inventario_slot[0] = CreatePlayerTextDraw(playerid, 0.0, 0.0, "LD_SPAC:white")
    PlayerTextDrawSetSelectable(playerid, inventario_slot[0], true);

    inventario_slot[1] = CreatePlayerTextDraw(playerid, 0.0, 0.0, "LD_SPAC:white")
    PlayerTextDrawSetSelectable(playerid, inventario_slot[1], true);

    inventario_slot[2] = CreatePlayerTextDraw(playerid, 0.0, 0.0, "LD_SPAC:white")
    PlayerTextDrawSetSelectable(playerid, inventario_slot[2], true);

    for(new i = 0; i < sizeof inventario_slot; i++)
        PlayerTextDrawSetClick(playerid, "InventorySlot", inventario_slot[i], i);

    SelectTextDraw(playerid, -1);
}

PlayerTextDrawClick:InventorySlot(playerid, slot_inventory) {

    // your code
    return true;
}



RE: Textdraw Simple Click - xbruno1000x - 28/12/2024

Essa include torna tudo mais orientado na hora de programar e elimina aquela bagunça dentro de uma única callback. Tão inovador quanto o easyDialog. +Rep