[Ajuda] ProxDetector desatualizado?
#1

Saudaзхes,
Estou refazendo todos os comandos de minha GM de 2009 usando sscanf e zcmd.
Notei que й usado a funзгo "ProxDetector" pra enviar as mensagens apenas pra quem estiver dentro do radio setado.
Li em algum lugar que esta funзгo й desatualizada e queria saber se existe uma outra opзгo e como usб-la.
Achei isso em outra GM "SendClientMessageInRange" mas parece que nгo й nativo do SA-MP e nгo consegui achar mais informaзхes sobre.

Exemplo do ProxDetector:
Код:
format(string, sizeof(string), "%s retira o capacete.", sendername);
			ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
Outra dъvida:
Como eu seto mais de um comando pra resultar na mesma funзгo? Tipo um /eu que seria a mesma coisa de /me no ZCMD?
Achei isso aqui:
Код:
CMD:tirarcapacete(playerid, params[])return ForT:capacete(playerid, params);
CMD:capacete(playerid, params[])
{
 // CODIGO AQ
return 1;
}
Alguйm pode me ajudar? Muito obrigado por sua atenзгo.
Reply
#2

vocк pode utilizar IsPlayerInRangeOfPoint em vez de prox detector ...

no tуpico do zcmd ja diz como fazer isso: https://sampforum.blast.hk/showthread.php?tid=91354
PHP код:
CMD:me(playeridparams[])
{
      return 
cmd_eu(playeridparams);

Reply
#3

Quote:
Originally Posted by Whoo
Посмотреть сообщение
vocк pode utilizar IsPlayerInRangeOfPoint em vez de prox detector ...

no tуpico do zcmd ja diz como fazer isso: https://sampforum.blast.hk/showthread.php?tid=91354
PHP код:
CMD:me(playeridparams[])
{
      return 
cmd_eu(playeridparams);

O "IsPlayerInRangeOfPoint" seria apenas pra checar a distancia, no caso a funзгo pra enviar sу pra quem estiver nesta distancia ver seria qual exatamente?
Reply
#4

Eu fiz essa funзгo pra enviar mensagem local

PHP код:
stock SendLocalMessage(playeridcolormessage[], Float:range)
{
    new 
Float:pos[3];
    
GetPlayerPos(playeridpos[0], pos[1], pos[2]);
    foreach(new 
Player)
    {
        if(
IsPlayerInRangeOfPoint(irangepos[0], pos[1], pos[2]))
        {
            
SendClientMessage(icolormessage);
        }
    }
    return 
1;

Reply
#5

Quote:
Originally Posted by JPedro
Посмотреть сообщение
Eu fiz essa funзгo pra enviar mensagem local

PHP код:
stock SendLocalMessage(playeridcolormessage[], Float:range)
{
    new 
Float:pos[3];
    
GetPlayerPos(playeridpos[0], pos[1], pos[2]);
    foreach(new 
Player)
    {
        if(
IsPlayerInRangeOfPoint(irangepos[0], pos[1], pos[2]))
        {
            
SendClientMessage(icolormessage);
        }
    }
    return 
1;

Pode dar um exemplo de uso?
Reply
#6

Desse jeito eu uso como chat local:

PHP код:
public OnPlayerText(playeridtext[])
{
    static 
str[128];
    
format(strsizeof(str), "{A1D490}[LOCAL]{FFFFFF}: %s(%i): %s"PegarNome(playerid), playeridtext);
    
SendLocalMessage(playeridCOR_BRANCOstr10.0);
    return 
0;

Porйm da pra fazer outras coisas alйm de chat local, essa funзгo envia uma mensagem pra quem estб no raio de 10.0 da posiзгo do player, ou seja, quem tiver nesse alcance vai receber a msg

Por exemplo o /me

PHP код:
CMD:me(playeridparams[])
{
    new 
msg[72], str[128];
    if(
sscanf(params"s[72]"msg)) return SendClientMessage(playeridCOR_CINZA"Use: /me [message]");
    {
        
format(strsizeof(str), "* %s %s"PegarNome(playerid), msg);
        
SendLocalMessage(playeridCOR_BRANCOstr10.0);
    }
    return 
1;

Reply
#7

Ah sim entendi, boa, aliбs tem isso na GM por ser RPG mas nгo lembrei. Muito obrigado pela ajuda. REP+
Reply
#8

Quote:
Originally Posted by SirUndead
Посмотреть сообщение
Ah sim entendi, boa, aliбs tem isso na GM por ser RPG mas nгo lembrei. Muito obrigado pela ajuda. REP+
Dboa mano vlw, atualiza o tуpico, que eu coloquei outro exemplo pra vocк
Reply
#9

Quote:
Originally Posted by Whoo
Посмотреть сообщение
no tуpico do zcmd ja diz como fazer isso: https://sampforum.blast.hk/showthread.php?tid=91354
PHP код:
CMD:me(playeridparams[])
{
      return 
cmd_eu(playeridparams);


Testei aqui e ele nгo reconhece da erro:
Код:
error 017: undefined symbol "cmd_something"
Coloquei o do exemplo pra teste mesmo e nгo foi...
Reply
#10

Quote:
Originally Posted by JPedro
Посмотреть сообщение
Desse jeito eu uso como chat local:

PHP код:
public OnPlayerText(playeridtext[])
{
    static 
str[128];
    
format(strsizeof(str), "{A1D490}[LOCAL]{FFFFFF}: %s(%i): %s"PegarNome(playerid), playeridtext);
    
SendLocalMessage(playeridCOR_BRANCOstr10.0);
    return 
0;

Porйm da pra fazer outras coisas alйm de chat local, essa funзгo envia uma mensagem pra quem estб no raio de 10.0 da posiзгo do player, ou seja, quem tiver nesse alcance vai receber a msg

Por exemplo o /me

PHP код:
CMD:me(playeridparams[])
{
    new 
msg[72], str[128];
    if(
sscanf(params"s[72]"msg)) return SendClientMessage(playeridCOR_CINZA"Use: /me [message]");
    {
        
format(strsizeof(str), "* %s %s"PegarNome(playerid), msg);
        
SendLocalMessage(playeridCOR_BRANCOstr10.0);
    }
    return 
1;

Uso de static na public OnPlayerText й muito eficiente, eu uso tambйm.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)