SA-MP Forums Archive
[FilterScript] Mostrando o Local (LS/SF/LV/SA). - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [FilterScript] Mostrando o Local (LS/SF/LV/SA). (/showthread.php?tid=424128)



Mostrando o Local (LS/SF/LV/SA). - DanDRT - 20.03.2013

[FilterScript]Mostrando o Local (LS/SF/LV/SA).

Prints





PHP код:
#include <a_samp>
new Text:LVText:LSText:SFText:LIN;
public 
OnFilterScriptInit()
{
    
LV TextDrawCreate(318.000000430.000000"~b~Las Venturas");
    
TextDrawAlignment(LV2);
    
TextDrawBackgroundColor(LV, -16776961);
    
TextDrawFont(LV3);
    
TextDrawLetterSize(LV0.4800001.600000);
    
TextDrawColor(LV, -1);
    
TextDrawSetOutline(LV1);
    
TextDrawSetProportional(LV1);
    
LIN TextDrawCreate(318.000000430.000000"~b~San Andreas");
    
TextDrawAlignment(LIN2);
    
TextDrawBackgroundColor(LIN, -16776961);
    
TextDrawFont(LIN3);
    
TextDrawLetterSize(LIN0.4800001.600000);
    
TextDrawColor(LIN, -1);
    
TextDrawSetOutline(LIN1);
    
TextDrawSetProportional(LIN1);
    
SF TextDrawCreate(318.000000430.000000"~b~San Fierro");
    
TextDrawAlignment(SF2);
    
TextDrawBackgroundColor(SF, -16776961);
    
TextDrawFont(SF3);
    
TextDrawLetterSize(SF0.4800001.600000);
    
TextDrawColor(SF, -1);
    
TextDrawSetOutline(SF1);
    
TextDrawSetProportional(SF1);
    
LS TextDrawCreate(318.000000430.000000"~b~Los Santos");
    
TextDrawAlignment(LS2);
    
TextDrawBackgroundColor(LS, -16776961);
    
TextDrawFont(LS3);
    
TextDrawLetterSize(LS0.4800001.600000);
    
TextDrawColor(LS, -1);
    
TextDrawSetOutline(LS1);
    
TextDrawSetProportional(LS1);
    return 
1;
}
public 
OnFilterScriptExit()
{
    
TextDrawHideForAll(LV);
    
TextDrawHideForAll(LS);
    
TextDrawHideForAll(SF);
    
TextDrawHideForAll(LIN);
    return 
1;
}
public 
OnPlayerUpdate(playerid)
{
    new 
Float:XFloat:YFloat:Z;
    
GetPlayerPos(playeridXYZ);
    if(
>= 815 && <= 3000 && >= 717 && <= 3000)
    {
        
TextDrawHideForPlayer(playeridLS);
        
TextDrawHideForPlayer(playeridSF);
        
TextDrawHideForPlayer(playeridLIN);
        
TextDrawShowForPlayer(playeridLV);
    }
    if(
0)
    {
        
TextDrawHideForPlayer(playeridLS);
        
TextDrawHideForPlayer(playeridLV);
        
TextDrawHideForPlayer(playeridLIN);
        
TextDrawShowForPlayer(playeridSF);
    }
    if(
&& 0)
    {
        
TextDrawHideForPlayer(playeridSF);
        
TextDrawHideForPlayer(playeridLV);
        
TextDrawHideForPlayer(playeridLIN);
        
TextDrawShowForPlayer(playeridLS);
    }
    if(!(
>= 815 && <= 3000 && >= 717 && <= 3000) && !(0) && !(&& 0))
    {
        
TextDrawHideForPlayer(playeridLV);
        
TextDrawHideForPlayer(playeridLS);
        
TextDrawHideForPlayer(playeridSF);
        
TextDrawShowForPlayer(playeridLIN);
    }
    return 
1;

Creditos
Dan - CODE.
iSimir - Vi Um Post dele e tive a ideia do CODE.
DJLoko- TextDraw.



Re: Mostrando o Local (LS/SF/LV/SA). - Maklister - 20.03.2013

Bem legal mais dica, por que nгo usou TextDrawSetstring invйs de criar 3 Textdraw's ?

Mais ficou legal a funзгo de Getar a cidade.


Re: Mostrando o Local (LS/SF/LV/SA). - DanDRT - 20.03.2013

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
Bem legal mais dica, por que nгo usou TextDrawSetstring invйs de criar 3 Textdraw's ?

Mais ficou legal a funзгo de Getar a cidade.
Tentei Ontem So Que Tava Bugando Tudo


Re: Mostrando o Local (LS/SF/LV/SA). - Vitor_Gorzoni - 21.03.2013

Como o murilo disse poderia ter usado TextDrawSetstring, mas enfim ficou bom.


Re: Mostrando o Local (LS/SF/LV/SA). - Kuddy - 21.03.2013

Se usasse TextDrawSetString seriam necessarias 500 textdraws ao invez de 4, haters.

Achei bastante simples, dava pra aprimorar bastante isso ai.

#corrigido ._.'


Re: Mostrando o Local (LS/SF/LV/SA). - DanDRT - 21.03.2013

Quote:
Originally Posted by Kuddy
Посмотреть сообщение
Se usasse TextDrawSetString seriam necessarias 1500 textdraws ao invez de 4, haters.

Achei bastante simples, dava pra aprimorar bastante isso ai.
Valeu


Re: Mostrando o Local (LS/SF/LV/SA). - Maklister - 21.03.2013

Quote:
Originally Posted by Kuddy
Посмотреть сообщение
Se usasse TextDrawSetString seriam necessarias 1500 textdraws ao invez de 4, haters.

Achei bastante simples, dava pra aprimorar bastante isso ai.
pawn Код:
#include <a_samp>

new Text:Local;

public OnFilterScriptInit()
{
    Local = TextDrawCreate(318.000000, 430.000000, "_");
    TextDrawAlignment(Local, 2);
    TextDrawBackgroundColor(Local, -16776961);
    TextDrawFont(Local, 3);
    TextDrawLetterSize(Local, 0.480000, 1.600000);
    TextDrawColor(Local, -1);
    TextDrawSetOutline(Local, 1);
    TextDrawSetProportional(Local, 1);

    return 1;
}

public OnFilterScriptExit()
{
    TextDrawHideForAll(Local);
    return 1;
}

public OnPlayerUpdate(playerid)
{
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(X >= 815 && X <= 3000 && Y >= 717 && Y <= 3000)
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~Las Venturas");
        TextDrawShowForPlayer(playerid, Local);
    }
    if(X < 0)
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~San Fierro");
        TextDrawShowForPlayer(playerid, Local);
    }
    if(X > 0 && Y < 0)
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~Los Santos");
        TextDrawShowForPlayer(playerid, Local);
    }
    if(!(X >= 815 && X <= 3000 && Y >= 717 && Y <= 3000) && !(X < 0) && !(X > 0 && Y < 0))
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~San Andreas");
        TextDrawShowForPlayer(playerid, Local);
    }
    return 1;
}
Nгo intendi muito como se usa mais textdraw's usando SetString do que criando vбrias td's idкnticas, ( Cor / Modelo )


Re: Mostrando o Local (LS/SF/LV/SA). - RebeloX - 21.03.2013

Quote:
Originally Posted by Kuddy
Посмотреть сообщение
Se usasse TextDrawSetString seriam necessarias 1500 textdraws ao invez de 4, haters.

Achei bastante simples, dava pra aprimorar bastante isso ai.
1500? Porque rapaz?


Re: Mostrando o Local (LS/SF/LV/SA). - Dwayne-Pheonix - 21.03.2013

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
pawn Код:
#include <a_samp>

new Text:Local;

public OnFilterScriptInit()
{
    Local = TextDrawCreate(318.000000, 430.000000, "_");
    TextDrawAlignment(Local, 2);
    TextDrawBackgroundColor(Local, -16776961);
    TextDrawFont(Local, 3);
    TextDrawLetterSize(Local, 0.480000, 1.600000);
    TextDrawColor(Local, -1);
    TextDrawSetOutline(Local, 1);
    TextDrawSetProportional(Local, 1);

    return 1;
}

public OnFilterScriptExit()
{
    TextDrawHideForAll(Local);
    return 1;
}

public OnPlayerUpdate(playerid)
{
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(X >= 815 && X <= 3000 && Y >= 717 && Y <= 3000)
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~Las Venturas");
        TextDrawShowForPlayer(playerid, Local);
    }
    if(X < 0)
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~San Fierro");
        TextDrawShowForPlayer(playerid, Local);
    }
    if(X > 0 && Y < 0)
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~Los Santos");
        TextDrawShowForPlayer(playerid, Local);
    }
    if(!(X >= 815 && X <= 3000 && Y >= 717 && Y <= 3000) && !(X < 0) && !(X > 0 && Y < 0))
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~San Andreas");
        TextDrawShowForPlayer(playerid, Local);
    }
    return 1;
}
Nгo intendi muito como se usa mais textdraw's usando SetString do que criando vбrias td's idкnticas, ( Cor / Modelo )
Nгo irб funcionar, sobre o que o kuddy disse estб certo em partes

Para declarar apenas um nome para o textdraw:

pawn Код:
new Text:td[MAX_PLAYERS];

for(new i; i < MAX_PLAYERS; i++) {
    td[i] = TextDrawCreate(x, y, "string");
}
* supondo que MAX_PLAYERS esteja definido em 500, criarб 500 textdraw's!


Jб para formatar a string, serб necessбrio acessar a textdraw do jogador:

pawn Код:
TextDrawSetString(td[playerid], "nova string");
Tornando o que o Murilo tentou fazer errado, naquele modo ocorrerб conflito entre strings


Re: Mostrando o Local (LS/SF/LV/SA). - Kuddy - 21.03.2013

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
pawn Код:
#include <a_samp>

new Text:Local;

public OnFilterScriptInit()
{
    Local = TextDrawCreate(318.000000, 430.000000, "_");
    TextDrawAlignment(Local, 2);
    TextDrawBackgroundColor(Local, -16776961);
    TextDrawFont(Local, 3);
    TextDrawLetterSize(Local, 0.480000, 1.600000);
    TextDrawColor(Local, -1);
    TextDrawSetOutline(Local, 1);
    TextDrawSetProportional(Local, 1);

    return 1;
}

public OnFilterScriptExit()
{
    TextDrawHideForAll(Local);
    return 1;
}

public OnPlayerUpdate(playerid)
{
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(X >= 815 && X <= 3000 && Y >= 717 && Y <= 3000)
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~Las Venturas");
        TextDrawShowForPlayer(playerid, Local);
    }
    if(X < 0)
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~San Fierro");
        TextDrawShowForPlayer(playerid, Local);
    }
    if(X > 0 && Y < 0)
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~Los Santos");
        TextDrawShowForPlayer(playerid, Local);
    }
    if(!(X >= 815 && X <= 3000 && Y >= 717 && Y <= 3000) && !(X < 0) && !(X > 0 && Y < 0))
    {
        TextDrawHideForPlayer(playerid, Local);
        TextDrawSetString(Local, "~b~San Andreas");
        TextDrawShowForPlayer(playerid, Local);
    }
    return 1;
}
Nгo intendi muito como se usa mais textdraw's usando SetString do que criando vбrias td's idкnticas, ( Cor / Modelo )
Hб altas chances de isso mostrar um texto errado, alйm de criar 3 draws ser mais otimizado.

Jб corrigi o que eu havia dito sobre as 1500, o certo seria 500. Nгo sei de onde tirei 1500, XD