Obrigado, Convidado!
Bem-vindo ao FMGARCIA - SAMP!
HuemersonFMG | ||||
CleidiSilva21 | ||||
barbfix | ||||
Tranks_NorT | ||||
RenatoFMG | ||||
William | ||||
Vinícius_ Kawasaki | ||||
scorpio | ||||
alfredw10 |
Como criar comandos com o ZCMD & strcmp.
Como criar comandos com o ZCMD & strcmp.
Como criar comandos com o ZCMD & sscanf.
STRCMP: Ele compara 2 strings verficando se são palavras iguais. O strcmp não é uma função simples. No entanto, requer apenas 2 argumentos para que funcione como deveria ( const string1, const string2 ). Ele retorna 3 condições diferentes, dependendo da ordem das strings e se elas são iguais. Se as duas strings que você está comparando corresponderem, o strcmp retornará 0. Se elas não corresponderem, elas retornarão -1 ou 1, dependendo do modo como suas strings foram postas (primeiro ou segundo lugar). O uso de strcmp ao comparar uma string de um arquivo (usando as funções de arquivo nativas) é um pouco diferente, você deve lembrar que as funções de arquivo nativas também lerão qualquer operador "\ {}". Como "\ n" e "\ r" - então as strings que são comparadas de um arquivo incluirão \ n e \ r - se você estiver usando as funções de arquivo nativas, lembre-se de levar isso em conta ao escrever seu script. O strcmp pode ser usado muito bem para comparar o cmdtext com o comando que você quer, mas não é o melhor método pois ele é mais lento que qualquer outro processador de comandos que tenha sido desenvolvido, por isso aconselho o uso de (ZCMD) em seus projetos.
ZCMD: é um processador de comandos rápido e simples, ele é apenas uma pequena inclusão que usa OnPlayerCommandText (), para processar os comandos dos jogadores. Cada comando tem uma função separada, como em dcmd, mas o zcmd os chama diretamente via CallLocalFunction (). Esse método é muito mais rápido do que quando você compara sucessivamente o texto inserido em cada comando que você tem em seu script (especialmente se ele envia um cmd inexistente, você passa por todos) e sua superioridade sobre o antigo é proporcional ao número de comandos. Tudo que você precisa para adicionar um comando é apenas fazer uma função pública usando uma macro pré-definida especial.
PASSOS PARA O USO DO ZCMD:
Primeiro, vamos precisar baixar o (ZCMD Include) e o (Sscanf include e plugin).
Copie zcmd.inc e cole-o na pasta pawno \ includes.
Copie sscanf2.inc e cole-o na pasta pawno \ includes.
Se você estiver usando o windows, copie sscanf.dll na pasta plugins
Abra o server.cfg e adicione "sscanf" na linha de plugins:
EDITANDO A GM:
Com o Pawno, abra sua GM e na parte superior do script, inclua sscanf2 e zcmd:
- Código:
#include <sscanf2>
#include <zcmd>
Isso carregará todos os recursos do zcmd e sscanf do pawno \ includes
em seu modo de jogo, para que você possa usar tudo o que possui (os arquivos que você acabou de copiar), mas lembre-se de que os comandos do ZCMD não devem estar dentro de qualquer callback. dentro do seu modo de jogo, por exemplo:
- Código:
public OnPlayerSpawn ( playerid )
{
return 1 ;
}
Crie os comandos com a estrutura abiaxo, sempre em minusculas. Os parâmetros são os parâmetros string enquanto o playerid é um ID do jogador
que executa este comando:
- Código:
CMD : comando ( playerid, params [ ] )
EXEMPLOS DE COMANDOS (CMD):
>>Enviando mensagem:
- Código:
CMD : ajuda( playerid, params [ ] )
{
SendClientMessage ( playerid, 0xFFFFFFF, "http://familiagarcia-samp.forumeiros.com/forum" ) ;
return 1 ;
}
>>Dando dinheiro ao jogador (ID):
- Código:
CMD: dargrana (playerid, params[])
{
if (IsPlayerAdmin(playerid))
{
new
toplayerid, // o jogador que queremos dar dinheiro.
// extraindo o ID e a quantia do jogador de params
if (!sscanf(params, "ii", toplayerid, amount))
{
if (toplayerid != INVALID_PLAYER_ID)
{
new
message[40];
GivePlayerMoney(toplayerid, amount);
format(message, sizeof(message), "Você ganhou $% d do admin!", amount);
SendClientMessage(toplayerid, 0x00FF00FF, message);
}
else SendClientMessage(playerid, 0xFF0000FF, "O jogador não está conectado");
}
else SendClientMessage(playerid, 0xFFFFFFFF, "Uso: / dargrana <playerid> <amount>");
}
else SendClientMessage(playerid, 0xFF0000FF, "Somente administradores podem usar este comando!");
return 1;
}
HuemersonFMG- Fundador - ADM
- PublicaçõesPublicaçõesMembro VipMembro VipCriador de TópicosCriador de TópicosParticipação em tópicosParticipação em tópicosCriador de EventosCriador de EventosPopular no fórum - AmigosPopular no fórum - AmigosAvaliação de MSGAvaliação de MSGMelhores avaliações de AmigosMelhores avaliações de AmigosRei dos Grupos no FórumRei dos Grupos no FórumMelhor RPGRecebe este ao criar sua Ficha RPG no Perfil
- Mensagens : 506
Pontos : 26600
Reputação : 0
Data de inscrição : 11/06/2018
Idade : 51
Localização : Brasil
FMGRPG
FMG:
(200/100)
» Lista De Comandos Gerais Do Servidor
» Comandos Rcon (Para ADMs)
» Porque Criar Um Site Para Minha Empresa?
» https://phaser.io/ - para criar jogos HTML5
Qui 14 Mar 2024, 09:36 por HuemersonFMG
» Esqueceu o número do seu telefone?
Ter 05 Dez 2023, 12:51 por HuemersonFMG
» Scripts SQL - Oracle
Ter 05 Dez 2023, 11:56 por HuemersonFMG
» Dicas para Excel
Sex 27 Out 2023, 11:22 por HuemersonFMG
» Acentos e Caracteres Especiais em HTML
Sex 20 Out 2023, 13:17 por HuemersonFMG
» Dez motivos para consumir mais café...
Dom 27 Ago 2023, 05:09 por alfredw10
» Combinações de teclas do Windows
Dom 06 Ago 2023, 13:29 por HuemersonFMG
» PL/SQL - Extensão da linguagem SQL - Oracle
Qua 10 maio 2023, 10:16 por HuemersonFMG
» Node.js é uma tecnologia assíncrona
Ter 09 maio 2023, 11:21 por HuemersonFMG
» Pontos Cardeais
Seg 24 Abr 2023, 20:02 por HuemersonFMG
» 1º DE MAIO – DIA MUNDIAL DO TRABALHO
Seg 24 Abr 2023, 15:34 por HuemersonFMG
» ChatGPT - robô virtual (chatbot) que responde a perguntas variadas
Seg 20 Fev 2023, 11:23 por HuemersonFMG
» Simples Página de Login em HTML - Visual Studio Code
Seg 06 Fev 2023, 13:40 por HuemersonFMG
» HTML - Dicas interessantes
Qui 19 Jan 2023, 17:02 por HuemersonFMG
» https://phaser.io/ - para criar jogos HTML5
Ter 17 Jan 2023, 13:06 por HuemersonFMG