SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 25/04/2018, 07:46 PM   #3401
Locky_
High-roller
 
Locky_'s Avatar
 
Join Date: Jul 2012
Posts: 1,577
Reputation: 313
Default Re: Códigos Úteis #1

Pickup para Alterar personagem

Functions
PHP Code:
AddCharPickup(skinidFloat:xFloat:yFloat:zworldid=-1interiorid=-1playerid=-1)
DestroyCharPickup(pickupid
Callback
PHP Code:
forward OnPlayerPickSkin(playeridskinid); 
Exemplo de Uso
PHP Code:
AddCharPickup(282217.47188.711003.0303);
AddCharPickup(281273.97122.281004.61010);
AddCharPickup(280258.5278.021003.6406); 
Impedindo alteração de skin e colocando de outro gênero (exemplo)
PHP Code:
public OnPlayerPickSkin(playeridskinid)
{
    if(
PlayerInfo[playerid][PlayerGender] == GENDER_FEMALE)
    {
        switch(
skinid)
        {
            case 
280: {
                
SetPlayerSkin(playerid306);
                return 
0;
            }
            case 
281: {
                
SetPlayerSkin(playerid307);
                return 
0;
            }
            case 
282: {
                
SetPlayerSkin(playerid308);
                return 
0;
            }
        }
    }
    return 
1;

Source
PHP Code:

#define PICKUP_SKIN_ID 2030

AddCharPickup(skinidFloat:xFloat:yFloat:zworldid=-1interiorid=-1playerid=-1)
{
    new 
pickupid CreateDynamicPickup(12752xyzworldidinterioridplayerid),
        
data[2];
    
data[0] = PICKUP_SKIN_ID;
    
data[1] = skinid;
    
Streamer_SetArrayData(STREAMER_TYPE_PICKUPpickupidE_STREAMER_EXTRA_IDdatasizeof(data));
    return 
pickupid;
}
DestroyCharPickup(pickupid)
{
    new 
data[2];
    
Streamer_GetArrayData(STREAMER_TYPE_PICKUPpickupidE_STREAMER_EXTRA_IDdatasizeof(data));
    if(
data[0] == PICKUP_SKIN_ID)
    {
        return 
DestroyDynamicPickup(pickupid);
    }
    return 
0;
}

public 
OnPlayerPickUpDynamicPickup(playeridpickupid)
{
    new 
data[2];
    
Streamer_GetArrayData(STREAMER_TYPE_PICKUPpickupidE_STREAMER_EXTRA_IDdatasizeof(data));
    if(
data[0] == PICKUP_SKIN_ID)
    {
        if((
funcidx("OnPlayerPickSkin") == -1) || (CallLocalFunction("OnPlayerPickSkin""dd"playeriddata[1])))
        {
            
SetPlayerSkin(playeriddata[1]);            
        }
        return 
1;
    }
    return 
CallLocalFunction("char_OnPlayerPickUpDynPickup""dd"playeridpickupid);
}

#if defined _ALS_OnPlayerPickUpDP
    #undef OnPlayerPickUpDynamicPickup
#else
    #define _ALS_OnPlayerPickUpDP
#endif
#define OnPlayerPickUpDynamicPickup char_OnPlayerPickUpDynPickup

forward char_OnPlayerPickUpDynPickup(playeridpickupid);

forward OnPlayerPickSkin(playeridskinid); 
MapIcon Checkpoint
* Nativamente os checkpoints de MapIcons não são chamados em nenhuma callback. Criando por este, será chamado nas callbacks abaixo.

Functions
PHP Code:
AddMapIconCheckpoint(Float:xFloat:yFloat:ziconidcolor=0worldid=-1interiorid=-1playerid=-1Float:stream STREAMER_MAP_ICON_SDstyle MAPICON_LOCAL_CHECKPOINT)
DestroyMapIconCheckpoint(mapiconid
Callbacks
PHP Code:
forward OnPlayerEnterMapIconCheckpoint(playeridmapiconid);
forward OnPlayerLeaveMapIconCheckpoint(playeridmapiconid); 
Exemplo de Uso
PHP Code:
AddMapIconCheckpoint(1177.69,-1328.24,14.0822);
AddMapIconCheckpoint(-2640.33,631.77,14.4522); 
Source
PHP Code:
#define MAPICON_CHECKPOINT 2020

// Functions
stock AddMapIconCheckpoint(Float:xFloat:yFloat:ziconidcolor=0worldid=-1interiorid=-1playerid=-1Float:stream STREAMER_MAP_ICON_SDstyle MAPICON_LOCAL_CHECKPOINT)
{
    new 
mapicon CreateDynamicMapIcon(xyziconidcolorworldidinterioridplayeridstreamstyle),
        
areaid  CreateDynamicSphere(xyz2.0worldidinterioridplayerid),
        
data[2];
    
data[0] = MAPICON_CHECKPOINT;
    
data[1] = mapicon;
    
Streamer_SetArrayData(STREAMER_TYPE_AREAareaidE_STREAMER_EXTRA_IDdatasizeof(data));
    
data[1] = areaid;
    
Streamer_SetArrayData(STREAMER_TYPE_MAP_ICONmapiconE_STREAMER_EXTRA_IDdatasizeof(data));
    return 
mapicon;
}
stock DestroyMapIconCheckpoint(mapiconid)
{
    new 
data[2];
    
Streamer_GetArrayData(STREAMER_TYPE_MAP_ICONmapiconidE_STREAMER_EXTRA_IDdatasizeof(data));
    if(
data[0] == MAPICON_CHECKPOINT)
    {
        
DestroyDynamicMapIcon(mapicon);
        
DestroyDynamicArea(data[1]);
        return 
1;
    }
    return 
0;
}

// Hooks
public OnPlayerEnterDynamicArea(playeridareaid)
{
    new 
data[2];
    
Streamer_GetArrayData(STREAMER_TYPE_AREAareaidE_STREAMER_EXTRA_IDdatasizeof(data));
    if(
data[0] == MAPICON_CHECKPOINT)
    {
        return 
CallLocalFunction("OnPlayerEnterMapIconCheckpoint""dd"playeriddata[1]);
    }
    return 
CallLocalFunction("mc_OnPlayerEnterDynamicArea""dd"playeridareaid);
}
#if defined _ALS_OnPlayerEnterDynamicArea
    #undef OnPlayerEnterDynamicArea
#else
    #define _ALS_OnPlayerEnterDynamicArea
#endif
#define OnPlayerEnterDynamicArea mc_OnPlayerEnterDynamicArea
forward mc_OnPlayerEnterDynamicArea(playeridareaid);

public 
OnPlayerLeaveDynamicArea(playeridareaid)
{
    new 
data[2];
    
Streamer_GetArrayData(STREAMER_TYPE_AREAareaidE_STREAMER_EXTRA_IDdatasizeof(data));
    if(
data[0] == MAPICON_CHECKPOINT)
    {
        return 
CallLocalFunction("OnPlayerLeaveMapIconCheckpoint""dd"playeriddata[1]);
    }
    return 
CallLocalFunction("mc_OnPlayerLeaveDynamicArea""dd"playeridareaid);
}
#if defined _ALS_OnPlayerLeaveDynamicArea
    #undef OnPlayerLeaveDynamicArea
#else
    #define _ALS_OnPlayerLeaveDynamicArea
#endif
#define OnPlayerLeaveDynamicArea mc_OnPlayerLeaveDynamicArea
forward mc_OnPlayerLeaveDynamicArea(playeridareaid);

// Callbacks
forward OnPlayerEnterMapIconCheckpoint(playeridmapiconid);
forward OnPlayerLeaveMapIconCheckpoint(playeridmapiconid); 
__________________


Locky_ is offline   Reply With Quote
Old 11/05/2018, 08:02 PM   #3402
Ermanhaut
Huge Clucker
 
Ermanhaut's Avatar
 
Join Date: Apr 2016
Location: Curitiba, PR
Posts: 388
Reputation: 20
Default Re: Códigos Úteis #1

Todas as skins do jogo separadas por sexo
Code:
new 
	all_MSkins[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37,
	42, 43,	44,	45, 46, 47, 48, 49, 50, 51, 52, 57, 58, 59, 60, 61, 62, 66, 67, 68, 70, 71, 72, 73, 78, 79, 80, 81, 82, 83, 84, 86, 94, 95,
	96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
	124, 125, 126, 127, 128, 132, 133, 134, 135, 136, 137, 142, 143, 144, 146, 147, 149, 153, 154, 155, 156, 158, 159, 160, 161, 162, 163,
	164, 165, 166, 167, 168, 170, 171, 173, 174, 175, 176, 177, 179, 180, 181, 182,	183, 184, 185, 186, 187, 188, 189, 200, 202, 203, 204,
	206, 208, 209, 210, 212, 213, 217, 220, 221, 222, 223, 227, 228, 229, 230, 234, 235, 236, 239, 240, 241, 242, 247, 248, 249, 250, 252,
	253, 254, 255, 258, 259, 260, 261, 262, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,	280, 281, 282,
	283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 301, 302, 303, 304, 305, 310, 311},
	all_FSkins[] = {9, 10, 11, 12, 13, 31, 38, 39, 40, 41, 53, 54, 55, 56, 63, 64, 65, 69, 75, 76, 77, 85, 87, 88, 89, 90, 91, 92, 93, 129,
	130, 131, 138, 139, 140, 141, 145, 148, 150, 151, 152, 157, 169, 172, 178, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 201, 205,
	207, 211, 214, 215, 216, 218, 219, 224, 225, 226, 231, 232, 233, 237, 238, 243, 244, 245, 246, 251, 256, 257, 263, 298, 306, 307, 308, 309}
;
Para não dar erro de compilação (line too long), use o Zeex's PAWN Compiler Patches, que aumenta o tamanho da linha de código de 511 (padrão) para 4095.
__________________
_

Um dia de cada vez
Ermanhaut is offline   Reply With Quote
Old 21/05/2018, 01:41 PM   #3403
LincolnBarbosa
Little Clucker
 
LincolnBarbosa's Avatar
 
Join Date: May 2016
Location: Teodoro Sampaio, São Paulo, Brasil
Posts: 46
Reputation: 0
Default Re: Códigos Úteis #1

Apenas um comando para quem deseja ir para liberty city!

PHP Code:
CMD:lc(playerid)
{
       
SetPlayerPos(playerid, -750.80491.001371.70);
       
SetplayerInterior(playerid1);
       
SendClientMessage(playerid0xFFFF00AA"~~> Você está em Liberty City!");
       return 
1;

LincolnBarbosa is offline   Reply With Quote
Old 29/05/2018, 03:19 AM   #3404
RazorGuigo
High-roller
 
RazorGuigo's Avatar
 
Join Date: May 2016
Location: South is my Country
Posts: 1,145
Reputation: 104
Thumbs up Chat sem mensagens para jogadores que não efetuaram login

está função é bem simples, com ela nenhuma mensagem é exibida na para jogadores que não efetuaram o login, assim despolui bastante o visual do servidor:



PHP Code:
SendClientMessage(playerid, -1" ");//poderá ser enviado para jogadores não logado (limpar mensagens nativas) 
PHP Code:
//não enviar menssagens para os players
public OnOutcomingRPC(playeridrpcidBitStream:bs)

    if(
rpcid== 93
    {
           if(!
IsLogado(playerid)) //substitua por sua variável ou função de login
           
{
               new 
dMessageLength;

               
BS_IgnoreBits(bs32);
               
BS_ReadValue(bs,PR_UINT32,dMessageLength);

               if(
dMessageLength 1)
                   return 
0;
           }
       }
     return 
1;

RazorGuigo is offline   Reply With Quote
Old 05/06/2018, 01:17 PM   #3405
RafaeeL
Big Clucker
 
RafaeeL's Avatar
 
Join Date: Dec 2017
Location: Forum samp
Posts: 68
Reputation: 0
Default Re: Códigos Úteis #1

PHP Code:
if(!strcmp(cmd"/admins"true))
    {
        new
            
admladmmdrhlpcrg
        
;
        new
            
stg2[1500]
        ;
        
strcat(stg2"Nome\tCargo\tStatus\n");
        foreach(
Playeri)
        {
            if(
DOF2_GetInt(f(i), "AdminL") == 1)
            {
                if(
aInfo[i][Oculto] == false)
                {
                    
adml ++;
                     
format(gStrsizeof(gStr), "{FFFFFF}%s[{76EEC6}%d{FFFFFF}] \t{FF1493}Dono(a) \t{00FF00}Online\n"PlayerName(i), i);
                    
strcat(stg2gStr);
                }
            }
            if(
aInfo[i][Admin] == && DOF2_GetInt(f(i), "AdminL") == 0)
            {
                if(
aInfo[i][Oculto] == false)
                {
                    
adm ++;
                     
format(gStrsizeof(gStr), "{FFFFFF}%s[{76EEC6}%d{FFFFFF}] \t{1E90FF}Administrador(a) \t{00FF00}Online\n"PlayerName(i), i);
                     
strcat(stg2gStr);
                }
            }
              if(
aInfo[i][Moderador] == && DOF2_GetInt(f(i), "AdminL") == 0)
            {
                if(
aInfo[i][Oculto] == false)
                {
                    
mdr ++;
                     
format(gStrsizeof(gStr), "{FFFFFF}%s[{76EEC6}%d{FFFFFF}] \t{FF7F24}Moderador(a) \t{00FF00}Online\n"PlayerName(i), i);
                     
strcat(stg2gStr);
                }
            }
               if(
aInfo[i][Ajudante] == && DOF2_GetInt(f(i), "AdminL") == 0)
            {
                if(
aInfo[i][Oculto] == false)
                {
                    
hlp ++;
                     
format(gStrsizeof(gStr), "{FFFFFF}%s[{76EEC6}%d{FFFFFF}] \t{43CD80}Ajudante \t{00FF00}Online\n"PlayerName(i), i);
                     
strcat(stg2gStr);
                }
            }
               if(
aInfo[i][Corregedor] == && DOF2_GetInt(f(i), "AdminL") == 0)
            {
                if(
aInfo[i][Oculto] == false)
                {
                    
crg ++;
                     
format(gStrsizeof(gStr), "{FFFFFF}%s[{76EEC6}%d{FFFFFF}] \t{98F5FF}Corregedor(a) \t{00FF00}Online\n"PlayerName(i), i);
                     
strcat(stg2gStr);
                }
            }
        }
        new 
teste crg+adml+adm+mdr+hlp;
        if(
teste == 0) return SendClientMessage(playeridCOR_ERRO"| INFO ADMIN |{FFFFFF} Nenhum Staff online no momento [L.S]!");
        
format(hFilesizeof(hFile), "{FFFFFF}•{FFFFFF} Staff PFL Online [{76EEC6}%d{FFFFFF}]",teste);
        
ShowPlayerDialog(playerid1447DIALOG_STYLE_TABLIST_HEADERShFilestg2"Fechar""");
        return 
1;
    } 

Já vi alguns tópicos a respeito de um /admins em dialog! Então decidi postar oq fiz, já que não estou utilizando ele
__________________
Nunca desista dos seus sonhos

[Projeto] World Life Virtual - RPG 59%
RafaeeL is offline   Reply With Quote
Old 18/06/2018, 10:51 PM   #3406
Cycle
Huge Clucker
 
Join Date: Sep 2017
Posts: 274
Reputation: 82
Default Re: Chat sem mensagens para jogadores que não efetuaram login

Quote:
Originally Posted by RazorGuigo View Post
está função é bem simples, com ela nenhuma mensagem é exibida na para jogadores que não efetuaram o login, assim despolui bastante o visual do servidor:



PHP Code:
SendClientMessage(playerid, -1" ");//poderá ser enviado para jogadores não logado (limpar mensagens nativas) 
PHP Code:
//não enviar menssagens para os players
public OnOutcomingRPC(playeridrpcidBitStream:bs)

    if(
rpcid== 93
    {
           if(!
IsLogado(playerid)) //substitua por sua variável ou função de login
           
{
               new 
dMessageLength;

               
BS_IgnoreBits(bs32);
               
BS_ReadValue(bs,PR_UINT32,dMessageLength);

               if(
dMessageLength 1)
                   return 
0;
           }
       }
     return 
1;

Pode apenas retornar o valor do RPC para falso, dará no mesmo.
PHP Code:
public OnIncomingRPC(playeridrpcidBitStream:bs)
{
    if(
rpcid == 93)
        return 
false;
    return 
true;

Quote:
Originally Posted by RafaeeL View Post
PHP Code:
if(!strcmp(cmd"/admins"true))
    {
        new
            
admladmmdrhlpcrg
        
;
        new
            
stg2[1500]
        ;
        
strcat(stg2"Nome\tCargo\tStatus\n");
        foreach(
Playeri)
        {
            if(
DOF2_GetInt(f(i), "AdminL") == 1)
            {
                if(
aInfo[i][Oculto] == false)
                {
                    
adml ++;
                     
format(gStrsizeof(gStr), "{FFFFFF}%s[{76EEC6}%d{FFFFFF}] \t{FF1493}Dono(a) \t{00FF00}Online\n"PlayerName(i), i);
                    
strcat(stg2gStr);
                }
            }
            if(
aInfo[i][Admin] == && DOF2_GetInt(f(i), "AdminL") == 0)
            {
                if(
aInfo[i][Oculto] == false)
                {
                    
adm ++;
                     
format(gStrsizeof(gStr), "{FFFFFF}%s[{76EEC6}%d{FFFFFF}] \t{1E90FF}Administrador(a) \t{00FF00}Online\n"PlayerName(i), i);
                     
strcat(stg2gStr);
                }
            }
              if(
aInfo[i][Moderador] == && DOF2_GetInt(f(i), "AdminL") == 0)
            {
                if(
aInfo[i][Oculto] == false)
                {
                    
mdr ++;
                     
format(gStrsizeof(gStr), "{FFFFFF}%s[{76EEC6}%d{FFFFFF}] \t{FF7F24}Moderador(a) \t{00FF00}Online\n"PlayerName(i), i);
                     
strcat(stg2gStr);
                }
            }
               if(
aInfo[i][Ajudante] == && DOF2_GetInt(f(i), "AdminL") == 0)
            {
                if(
aInfo[i][Oculto] == false)
                {
                    
hlp ++;
                     
format(gStrsizeof(gStr), "{FFFFFF}%s[{76EEC6}%d{FFFFFF}] \t{43CD80}Ajudante \t{00FF00}Online\n"PlayerName(i), i);
                     
strcat(stg2gStr);
                }
            }
               if(
aInfo[i][Corregedor] == && DOF2_GetInt(f(i), "AdminL") == 0)
            {
                if(
aInfo[i][Oculto] == false)
                {
                    
crg ++;
                     
format(gStrsizeof(gStr), "{FFFFFF}%s[{76EEC6}%d{FFFFFF}] \t{98F5FF}Corregedor(a) \t{00FF00}Online\n"PlayerName(i), i);
                     
strcat(stg2gStr);
                }
            }
        }
        new 
teste crg+adml+adm+mdr+hlp;
        if(
teste == 0) return SendClientMessage(playeridCOR_ERRO"| INFO ADMIN |{FFFFFF} Nenhum Staff online no momento [L.S]!");
        
format(hFilesizeof(hFile), "{FFFFFF}•{FFFFFF} Staff PFL Online [{76EEC6}%d{FFFFFF}]",teste);
        
ShowPlayerDialog(playerid1447DIALOG_STYLE_TABLIST_HEADERShFilestg2"Fechar""");
        return 
1;
    } 

Já vi alguns tópicos a respeito de um /admins em dialog! Então decidi postar oq fiz, já que não estou utilizando ele
Amigo, leve em consideração que não são todos que irão conseguir interpretar o seu código.
Existem variáveis com nomenclaturas que não podem ser entendidas de acordo com o seu script.
O mais aconselhável, seria você mostrar/compartilhar as variáveis dentro do script, logo, o seu comando, não servirá de nada, pois resultará em erros para o utilizador do mesmo.

PHP Code:
/*
      Perdão por qualquer erro, não testei.
*/
public OnPlayerCommandText(playeridcmdtext[])
{
    if(!
strcmp(cmdtext"/admins"true))
    {
        new 
playerAdministratornameAdministrator[MAX_PLAYER_NAME], str[121];
        
GetPlayerName(playeridnameAdministratorsizeof(nameAdministrator));
        for(new 
0MAX_PLAYERSi++)
        {
            if(
IsPlayerAdmin(i))
            {
                
playerAdministrator++;
                
format(strsizeof(str), "%s"nameAdministrator);
            }
        }
        if(
playerAdministrator == 0)
            return 
str "Administradores presentes no servidor: \n\nNão existe nenhum administrador presente no servidor.";
        
ShowPlayerDialog(playerid1515DIALOG_STYLE_MSGBOX"Administradores"str"OK""");
        return 
true;
    }
    return 
true;

+Topic.

Trago algo não tão relevante, mas pode ser um bom instrumento de estudo para os interessados sobre como funcionam as funções "Get" no SA-MP.
Trago uma versão do GetPlayerWeapon em Pawn.RakNet.

O que a função faz?
  • Ela retorna o valor da arma em que o jogador possui em mãos.

Função:
PHP Code:
#if defined _GPW_included
    #endinput
#endif 
#define _GPW_included

#if !defined PAWNRAKNET_INC_
    #error You must have Pawn.RakNet include in order to use this one.
#endif

static GPW_RakNet[MAX_PLAYERS char];

stock GetPlayerWeapon(playerid){
    if(
playerid || playerid MAX_PLAYERS)
        return 
false;
    return 
GPW_RakNet{playerid};
}

public 
OnIncomingPacket(playeridpacketidBitStream:bs)
{
    if(
packetid == 207){
        
BS_SetReadOffset(bs234);
        
BS_ReadValue(
            
bs,
            
PR_BITSGPW_RakNet{playerid}, 6
        
);
        
BS_ResetReadPointer(bs);
    }
    
#if defined GPW_RakNet_OnIncomingPacket
        
return GPW_RakNet_OnIncomingPacket(playeridpacketidBitStream:bs);
    
#else
        
return true;
    
#endif
}

#if defined _ALS_OnIncomingPacket
    #undef OnIncomingPacket
#else
    #define _ALS_OnIncomingPacket
#endif
#define OnIncomingPacket _ALS_OnIncomingPacket 
O que foi feito:
  • Fizemos a definição e verificação inicial de todo o script, se há utilização do Pawn.RakNet(que o mesmo é necessário para funcionamento da função neste caso).
  • Foi criada uma variável estática, para não ter problemas de nomenclatura com o filterscript ou gamemode que está sendo utilizado no servidor. Foi utilizado o limite sobre a variável em char.
  • Criei uma função, utilizando a keyword stock para evitar que dê algum aviso caso ela não seja usada, e normalmente, retornei com o valor da variável.
  • Dentro da callback OnIncomingPacket, foi verificado o pacote 207. Feito a soma das offsets sobre as variáveis dentro do enumerador. O valor do BitStream foi lido, e deslocou diretamente para o parâmetro desejado. Foi resetado o valor do ponto lido, para que outro script/função que for acessar o mesmo pacote e mesmo endereço, não seja resultado em problemas ou até erros.
  • Um hook da callback foi feito.

Espero que seja útil. (Como material de estudo, é claro)

Last edited by Cycle; 19/06/2018 at 11:46 PM.
Cycle is offline   Reply With Quote
Old 18/06/2018, 11:27 PM   #3407
FerrariL
Huge Clucker
 
FerrariL's Avatar
 
Join Date: Sep 2016
Location: Goiânia
Posts: 457
Reputation: 18
Default Re: Chat sem mensagens para jogadores que não efetuaram login

Quote:
Originally Posted by Cycle View Post
Pode apenas retornar o valor do RPC para falso, dará no mesmo.
PHP Code:
public OnIncomingRPC(playeridrpcidBitStream:bs)
{
    if(
rpcid == 93)
        return 
false;
    return 
true;



Amigo, leve em consideração que não são todos que irão conseguir interpretar o seu código.
Existem variáveis com nomenclaturas que não podem ser entendidas de acordo com o seu script.
O mais aconselhável, seria você mostrar/compartilhar as variáveis dentro do script, logo, o seu comando, não servirá de nada, pois resultará em erros para o utilizador do mesmo.

PHP Code:
/*
      Perdão por qualquer erro, não testei.
*/
public OnPlayerCommandText(playeridcmdtext[])
{
    if(!
strcmp(cmdtext"/admins"true))
    {
        new 
playerAdministratornameAdministrator[MAX_PLAYER_NAME], str[121];
        
GetPlayerName(playeridnameAdministratorsizeof(nameAdministrator));
        for(new 
0MAX_PLAYERSi++)
        {
            if(
IsPlayerAdmin(i))
            {
                
playerAdministrator++;
                
format(strsizeof(str), "%s"nameAdministrator);
            }
        }
        if(
playerAdministrator == 0)
            return 
str "Administradores presentes no servidor: \n\nNão existe nenhum administrador presente no servidor.";
        
ShowPlayerDialog(playerid1515DIALOG_STYLE_MSGBOX"Administradores"str"OK""");
        return 
true;
    }
    return 
true;

+Topic.

Writing...
O autor do tópico Rafael, criou este comando em dialog para os usuários do gamemode WE e seus derivados, faltou ele especificar.
__________________
Ser humilde não é ser menos que alguém. É saber que não somos mais que ninguém.
FerrariL is offline   Reply With Quote
Old 19/06/2018, 12:11 AM   #3408
RazorGuigo
High-roller
 
RazorGuigo's Avatar
 
Join Date: May 2016
Location: South is my Country
Posts: 1,145
Reputation: 104
Default Re: Chat sem mensagens para jogadores que não efetuaram login

Quote:
Originally Posted by Cycle View Post
Pode apenas retornar o valor do RPC para falso, dará no mesmo.
PHP Code:
public OnIncomingRPC(playeridrpcidBitStream:bs)
{
    if(
rpcid == 93)
        return 
false;
    return 
true;

isso prova que não tem noção ou nenhuma do que esteja falando, ou então nem compreendeu a proposta, antes de sair falando!


PS: GetPlayerWeapon() Realmente não agregou em nada
RazorGuigo is offline   Reply With Quote
Old 19/06/2018, 08:51 PM   #3409
Cycle
Huge Clucker
 
Join Date: Sep 2017
Posts: 274
Reputation: 82
Default Re: Chat sem mensagens para jogadores que não efetuaram login

Quote:
Originally Posted by RazorGuigo View Post
isso prova que não tem noção ou nenhuma do que esteja falando, ou então nem compreendeu a proposta, antes de sair falando!


PS: GetPlayerWeapon() Realmente não agregou em nada
Como assim o que eu estou falando não tem sentido ou noção?
O que você está fazendo que é realmente sem noção, criando variáveis e condicionais enquanto pode apenas retornar a condição do RPC para falso.

Como disse acima, mostrei para se tratar em material de estudo.
Algo que não agrega em nada mesmo é a sua include de IsFirstJoin, abraço.


Amo você, Razor.
Cycle is offline   Reply With Quote
Old 20/06/2018, 01:47 AM   #3410
B4dSh33p
Big Clucker
 
Join Date: Jun 2016
Posts: 109
Reputation: 4
Default Re: Códigos Úteis #1

Quote:
Originally Posted by Cycle View Post
É inefetivo usar o plugin para fazer algo que já é possível.
Quote:
Originally Posted by RodrigoMSR View Post
Liberar o caractere de porcentagem (%) no chat com Pawn.RakNet.
PHP Code:
public OnIncomingRPC(playeridrpcidBitStream:bs)
{
    if(
rpcid == 101//Chat
    
{
        new 
lenmessage[150];

        
BS_ReadValue(
            
bs,
            
PR_UINT8len,
            
PR_STRINGmessagelen
        
);

        for(new 
0leni++)
        {
            if(
message[i] == '%')
            {
                
strins(message"%"i);
                
i++;
                
len++;
            }
        }

          
CallRemoteFunction("OnPlayerText""is"playeridmessage);
          return 
0;
    }
    return 
1;

OBS: isso inutiliza os retornos da callback OnPlayerText.
Como faço para funcionar com SendClientMessage?
B4dSh33p is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[FilterScript] Menus Úteis [SKIN|CARROS|ARMAS] SlashPT Lançamentos/Releases 25 02/05/2014 03:56 PM
[Include] [INC]Várias e Uteis Funções andmeida10 Lançamentos/Releases 28 14/12/2012 01:49 PM
[PEDIDO] Codigos Hashtag Português/Portuguese 7 16/11/2011 10:09 PM


All times are GMT. The time now is 05:25 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.