30/05/2021 19:59
Irei ensinar para vocês um comando útil e fácil, eu sou iniciante então se tiver erros espero que entendam.
Iremos usar strcmp. O lugar para usar comandos strcmp é em OnPlayerCommandText, então iremos até ele.
Iremos criar um comando símples (/vida).
Primeiro iremos apertar ENTER para ir para a linha debaixo, e escrever if (!strcmp(cmdtext), "/vida", true)) e deixam do jeito que está:
Embaixo da { iremos colocar: if(GetPlayerMoney(playerid) >= 3000) ai no caso irá ficar assim:
Essa função if(GetPlayerMoney(playerid) irá chegar se o jogador terá 3000.
GivePlayerMoney(playerid, -3000); O Jogador irá perder 3000, no caso ele está pagando 3000 para pegar vida.
new var0[265]; String0
new var1[256]; String1
Como no site fala Uma string é um tipo especial de matriz, que é utilizado para armazenar vários caracteres para criar uma palavra ou frase ou texto de outro ser humano legível. No caso é o número de caracteres que vai ter.
GetPlayerName(playerid, var1, 30); Isso será para pegar o nome do jogador que está usando o comando e colocar na mensagem.
Agorá iremos adicionar os "principais"
format(var0, 265, "%s {A9A9A9}Recuperou 100% de vida. {00FF00}(/Vida).",var1);
format é os valores do espaços reservados seguem exatamente a mesma ordem dos parâmetros na chamada. Por Exemplo, "Eu tenho anos de idade": o % vai ser substituido por uma variável do tipo inteiro, que é a idade da pessoa. - Samp Wiki //No caso será a mensagem que será enviada para os jogadores.
SendClientMessageToAll(0xFFFFFFF, var0); //SendClientMessageToAll é a função de enviar a mensagem da string para todos os jogadores, 0xFFFFFFF é a cor (pode mudar pra qualquer usa) e var0 é a função de enviar a mensagem que no caso vai ser a string.
Agora pra parte final:
O "else" irá ser usado caso o jogador não tenha dinheiro suficiente. else tradução: se não.
Depois iremos adicionar um { e dar outro ENTER
SendClientMessage é para enviar a mensagem para um jogador específico.
playerid no caso é o para o jogador que a mensagem será enviada.
0xFFFFFFF é a cor, da pra mudar pra qualquer uma.
"{FF0000}[Erro]: {FFFFFF} Você não tem dinheiro suficiente!"); é a mensagem que irá ser enviada, vejam que há um {FF0000} e {FFFFFF} na mensagem, isso é uma cor HTML que assim vai ficar: [ERRO]: Você não tem dinheiro suficiente!"); fechando a mensagem.
Fim! Eu tive que colocar como preto ali porque ia ficar invisivel mas é branco.
Iremos usar strcmp. O lugar para usar comandos strcmp é em OnPlayerCommandText, então iremos até ele.
Iremos criar um comando símples (/vida).
Primeiro iremos apertar ENTER para ir para a linha debaixo, e escrever if (!strcmp(cmdtext), "/vida", true)) e deixam do jeito que está:
Código:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp(cmdtext, "/vida", true))
{
}
Embaixo da { iremos colocar: if(GetPlayerMoney(playerid) >= 3000) ai no caso irá ficar assim:
Código:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp(cmdtext, "/vida", true))
{
if(GetPlayerMoney(playerid) >= 3000)
}
Código:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp(cmdtext, "/vida", true))
{
if(GetPlayerMoney(playerid) >= 3000)
{
GivePlayerMoney(playerid, -3000);
new var0[265];
new var1[256];
GetPlayerName(playerid, var1, 30);
}
new var0[265]; String0
new var1[256]; String1
Como no site fala Uma string é um tipo especial de matriz, que é utilizado para armazenar vários caracteres para criar uma palavra ou frase ou texto de outro ser humano legível. No caso é o número de caracteres que vai ter.
GetPlayerName(playerid, var1, 30); Isso será para pegar o nome do jogador que está usando o comando e colocar na mensagem.
Agorá iremos adicionar os "principais"
Código:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp(cmdtext, "/vida", true))
{
if(GetPlayerMoney(playerid) >= 3000)
{
GivePlayerMoney(playerid, -3000);
new var0[265];
new var1[256];
GetPlayerName(playerid, var1, 30);
format(var0, 265, "%s {A9A9A9}Recuperou 100% de vida. {00FF00}(/Vida).",var1);
Código:
SendClientMessageToAll(0xFFFFFFF, var0);
Código:
SetPlayerHealth(playerid, 100.0);
Código:
}
}
format(var0, 265, "%s {A9A9A9}Recuperou 100% de vida. {00FF00}(/Vida).",var1);
format é os valores do espaços reservados seguem exatamente a mesma ordem dos parâmetros na chamada. Por Exemplo, "Eu tenho anos de idade": o % vai ser substituido por uma variável do tipo inteiro, que é a idade da pessoa. - Samp Wiki //No caso será a mensagem que será enviada para os jogadores.
SendClientMessageToAll(0xFFFFFFF, var0); //SendClientMessageToAll é a função de enviar a mensagem da string para todos os jogadores, 0xFFFFFFF é a cor (pode mudar pra qualquer usa) e var0 é a função de enviar a mensagem que no caso vai ser a string.
Agora pra parte final:
Código:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp(cmdtext, "/vida", true))
{
if(GetPlayerMoney(playerid) >= 3000)
{
GivePlayerMoney(playerid, -3000);
new var0[265];
new var1[256];
GetPlayerName(playerid, var1, 30);
format(var0, 265, "%s {A9A9A9}Recuperou 100% de vida. {00FF00}(/Vida).",var1);
SendClientMessageToAll(0xFFFFFFF, var0);
SetPlayerHealth(playerid, 100.0);
}
else
Código:
{
Código:
SendClientMessage(playerid, 0xFFFFFFF, "{FF0000}[Erro]: {FFFFFF} Você não tem dinheiro suficiente!");
Código:
}
return 1;
}
O "else" irá ser usado caso o jogador não tenha dinheiro suficiente. else tradução: se não.
Depois iremos adicionar um { e dar outro ENTER
SendClientMessage é para enviar a mensagem para um jogador específico.
playerid no caso é o para o jogador que a mensagem será enviada.
0xFFFFFFF é a cor, da pra mudar pra qualquer uma.
"{FF0000}[Erro]: {FFFFFF} Você não tem dinheiro suficiente!"); é a mensagem que irá ser enviada, vejam que há um {FF0000} e {FFFFFF} na mensagem, isso é uma cor HTML que assim vai ficar: [ERRO]: Você não tem dinheiro suficiente!"); fechando a mensagem.
Fim! Eu tive que colocar como preto ali porque ia ficar invisivel mas é branco.
Código:
Nem tudo é fácil na vida, mas com certeza nada é impossível!