SA-MP Forums Archive
[Ajuda] Ajudas simples. - 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)
+---- Thread: [Ajuda] Ajudas simples. (/showthread.php?tid=663240)



Ajudas simples. - DanielMatrix - 25.01.2019

Para quem usa o ZCMD ou IZCMD. quando o jogadorinsere um comando que nгo existe no servidor, nгo envia nada ao chat, simples, mais questгo de estйtica, tem formas de apresentar uma mensagem quando o usuбrio tentar utilizar um comando inexistente , mas eu acho baranga , entгo fiz assim.

PHP код:
public OnPlayerCommandPerformed(playeridcmdtext[], success) { if(!success){} return true; } 



Re: Ajudas simples. - PedroH - 25.01.2019

Esses tipos de codigos devem ser postados aqui, Daniel.

https://forum.sa-mp.com/showthread.p...44744&page=344


Re: Ajudas simples. - RenanMsV - 25.01.2019

Quote:
Originally Posted by DanielMatrix
Посмотреть сообщение
pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
    for(new i = 0; i < MAX_PLAYERS; i++) // loop entre todos jogadores
    {
        new String[190];
        GetPlayerName(i, PlayerData[i][Nome], 24); // pega o nome do jogador no loop atual
        format(String, sizeof(String), "| ATENЗГO | (%s) foi kickado do servidor por logar na rcon sem permissгo. ", PlayerData[i][Nome]);
        Kick(i); // kicka essa pessoa
        if(PlayerDiretoria[i][Cargo] > 1) { SendClientMessage(i, 0xFFFFFFFF, String); } // se ela for adm manda mensagem pra ela. mas ela ja foi kickada????????????
    }
    return true; // tendi nada
}
Pq vc ta dando loop em todos jogadores e kickando eles? Esse codigo ai vai kickar todo mundo do servidor quando alguem tentar logar na rcon.


Re: Ajudas simples. - DanielMatrix - 26.01.2019

Eu tb pensei nisso , mas por algum motivo nгo deu k

ah e Pedro ok vlw.


Re: Ajudas simples. - Seere - 26.01.2019

incrivel, vou usar na minha gm.


Re: Ajudas simples. - DanielMatrix - 26.01.2019

Acho que senti um sarcasmo kkkkk


Re: Ajudas simples. - FerrariL - 26.01.2019

Vou ser sincero, este cуdigo estб horrнvel, alйm de estar postado na бrea errada.

Vamos as Dicas:

- Vocк estб fazendo um Looping muito Grande usando a macro MAX_PLAYERS. Use a funзгo GetPlayerPoolSize ou utilize o foreach.

- Vocк estб criando um vetor muito grande sem necessidade, calculando essa string mais o MAX_PLAYER_NAME, o necessбrio й 98 cйlulas.
Alйm de que 190 cйlulas, estб ultrapassando o limite de I/O do Samp.

- Use a funзгo GetPlayerIp e compare com o ip passado pela Callback, faзa a verificaзгo com a funзгo strcmp. Caso a condiзгo seja verdadeira, Vocк envia a mensagem para a Staff e usa a keyword 'Break' para quebrar o looping.

- e na mesma condiзгo efetua o kick.

Espero que leve isso como um aprendizado e nгo como ofensa, tamo junto


Re: Ajudas simples. - DanielMatrix - 26.01.2019

Claro que levo como aprendizado , existe funзхes que nгo conheзo tais elas como OnRconLoginAttempt, nгo basta apenas entender a linguagem c c++etc.. tem que saber as nativas samp kkk, bom mas quando fiz esse cуdigo pensei na seguinte forma ao colocar MAX PLAYERS eu irei verificar o player que inseriu a senha rcon, ex, caso o id do jogador seja 20, 5, 25 ... nгo iria interferir com max players, caso eu criasse outra variбvel , teria que pegar a quantidade de ids, max players apenas , facilita essa checagem, como citei , eu nгo conheзo todas as funзхes que o samp proporciona , implemento algumas funзхes do C, puxando para as nativas samp.

esse getplayerpoolsize, vai pegar o tamanho do usuбrio ok, mas nгo sei se ira pegar o nick ou ip, pq nгo faz sentido pegar o id, pois raramente iria passar de 4 N/inteiros


Re: Ajudas simples. - ipsLuan - 26.01.2019

Oxe, mudou a postagem?
E isso aн estб errado.
Cadк a mensagem?