[Ajuda] Bloquear Comando
#1

como eu faзo para bloquear esse comando para nao ser usado em arena de combate

Quote:

public OnPlayerCommandText(playerid, cmdtext[])
{
static str_msg[128];
if(!strcmp(cmdtext, "/vida", true)){
if(CallRemoteFunction("GetPlayerCash", "i", playerid) < 5000) return SendClientMessage(playerid, 0xFFF000AA, "[ERRO]: Vocк nгo tem dinheiro suficiente!");
if(Block_Vida[playerid] == 1) return SendClientMessage(playerid, 0xFFF000AA, "[ERRO]: Vocк jб pegou vida, vocк so podera pegar novamente quando morrer!");
format(str_msg, sizeof(str_msg), "{FF1493}%s {F5F5DC}comprou vida e gastou R$5000. {FF1493}( /vida )", Nome(playerid));
SendClientMessageToAll(0xFFFFFF, str_msg);
CallRemoteFunction("GivePlayerCash", "ii", playerid, -5000);
SetPlayerHealth(playerid, 100);
Block_Vida[playerid] = 1;
return true;
}
if(!strcmp(cmdtext, "/colete", true))
{
if(CallRemoteFunction("GetPlayerCash", "i", playerid) < 5000) return SendClientMessage(playerid, 0xFFF000AA, "[ERRO]: Vocк nгo tem dinheiro suficiente!");
if(Block_Colete[playerid] == 1) return SendClientMessage(playerid, 0xFFF000AA, "[ERRO]: Vocк jб pegou Colete, vocк so podera pegar novamente quando morrer!");
format(str_msg, sizeof(str_msg), "{FF1493}%s {F5F5DC}comprou colete e gastou R$5000. {FF1493}( /colete )", Nome(playerid));
SendClientMessageToAll(0xFFFFFF, str_msg);
CallRemoteFunction("GivePlayerCash", "ii", playerid, -5000);
SetPlayerArmour(playerid, 100);
Block_Colete[playerid] = 1;
return true;
}
return false;
}

Reply
#2

https://sampwiki.blast.hk/wiki/IsPlayerInRangeOfPoint
Reply
#3

Defina no topo do seu gamemode.

PHP код:
new bool:Block[MAX_PLAYERS]; 
Depois vocк ira colocar na public OnplayerDisconnect, que irб setar "Liberado" de usar comandos.
PHP код:
Block[playerid] = false
Depois coloca isso no teleporte que quiser proibir, como no exemplo.

PHP код:
if(!strcmp(cmdtext"/x1"true))
{
    
Block[playerid] = true//Aqui setamos que ele estб em um local proibido de usar o tal comando.
    //Aqui vocк coloca as funзoes do comando
    
return 1;

Vocк seta false em OnPlayerDeath para liberar de usar os comandos
PHP код:
    Block[playerid] = true
Como vai ficar no seu comando.
PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    static 
str_msg[128];
    
Block[playerid]==true) return SendClientMessage(playerid,0xFF0000FF,"Vocк nгo pode usar este comando neste local!");
    if(!
strcmp(cmdtext"/vida"true)){
    if(
CallRemoteFunction("GetPlayerCash""i"playerid) < 5000) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк nгo tem dinheiro suficiente!");
    if(
Block_Vida[playerid] == 1) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк jб pegou vida, vocк so podera pegar novamente quando morrer!");
    
format(str_msgsizeof(str_msg), "{FF1493}%s {F5F5DC}comprou vida e gastou R$5000. {FF1493}( /vida )"Nome(playerid));
    
SendClientMessageToAll(0xFFFFFFstr_msg);
    
CallRemoteFunction("GivePlayerCash""ii"playerid, -5000);
    
SetPlayerHealth(playerid100);
    
Block_Vida[playerid] = 1;
    return 
true;
}
if(!
strcmp(cmdtext"/colete"true))
{
    if(
CallRemoteFunction("GetPlayerCash""i"playerid) < 5000) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк nгo tem dinheiro suficiente!");
    if(
Block_Colete[playerid] == 1) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк jб pegou Colete, vocк so podera pegar novamente quando morrer!");
    
Block[playerid]==true) return SendClientMessage(playerid,0xFF0000FF,"Vocк nгo pode usar este comando neste local!");
    
format(str_msgsizeof(str_msg), "{FF1493}%s {F5F5DC}comprou colete e gastou R$5000. {FF1493}( /colete )"Nome(playerid));
    
SendClientMessageToAll(0xFFFFFFstr_msg);
    
CallRemoteFunction("GivePlayerCash""ii"playerid, -5000);
    
SetPlayerArmour(playerid100);
    
Block_Colete[playerid] = 1;
    return 
true;
    }
    return 
false;

Reply
#4

Quote:
Originally Posted by iTakelot
Посмотреть сообщение
Defina no topo do seu gamemode.

PHP код:
new bool:Block[MAX_PLAYERS]; 
Depois vocк ira colocar na public OnplayerDisconnect, que irб setar "Liberado" de usar comandos.
PHP код:
Block[playerid] = false
Depois coloca isso no teleporte que quiser proibir, como no exemplo.

PHP код:
if(!strcmp(cmdtext"/x1"true))
{
    
Block[playerid] = true//Aqui setamos que ele estб em um local proibido de usar o tal comando.
    //Aqui vocк coloca as funзoes do comando
    
return 1;

Vocк seta false em OnPlayerDeath para liberar de usar os comandos
PHP код:
    Block[playerid] = true
Como vai ficar no seu comando.
PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    static 
str_msg[128];
    
Block[playerid]==true) return SendClientMessage(playerid,0xFF0000FF,"Vocк nгo pode usar este comando neste local!");
    if(!
strcmp(cmdtext"/vida"true)){
    if(
CallRemoteFunction("GetPlayerCash""i"playerid) < 5000) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк nгo tem dinheiro suficiente!");
    if(
Block_Vida[playerid] == 1) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк jб pegou vida, vocк so podera pegar novamente quando morrer!");
    
format(str_msgsizeof(str_msg), "{FF1493}%s {F5F5DC}comprou vida e gastou R$5000. {FF1493}( /vida )"Nome(playerid));
    
SendClientMessageToAll(0xFFFFFFstr_msg);
    
CallRemoteFunction("GivePlayerCash""ii"playerid, -5000);
    
SetPlayerHealth(playerid100);
    
Block_Vida[playerid] = 1;
    return 
true;
}
if(!
strcmp(cmdtext"/colete"true))
{
    if(
CallRemoteFunction("GetPlayerCash""i"playerid) < 5000) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк nгo tem dinheiro suficiente!");
    if(
Block_Colete[playerid] == 1) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк jб pegou Colete, vocк so podera pegar novamente quando morrer!");
    
Block[playerid]==true) return SendClientMessage(playerid,0xFF0000FF,"Vocк nгo pode usar este comando neste local!");
    
format(str_msgsizeof(str_msg), "{FF1493}%s {F5F5DC}comprou colete e gastou R$5000. {FF1493}( /colete )"Nome(playerid));
    
SendClientMessageToAll(0xFFFFFFstr_msg);
    
CallRemoteFunction("GivePlayerCash""ii"playerid, -5000);
    
SetPlayerArmour(playerid100);
    
Block_Colete[playerid] = 1;
    return 
true;
    }
    return 
false;

Nгo precisa criar variavel para isso.


Basta fazer isso coloque a cordenada do local no X Y Z
pawn Код:
if(!IsPlayerInRangeOfPoint(playerid, 7.0, X, Y, Z)) return SendClientMessage(playerid,0xFF0000FF,"Vocк nгo pode usar este comando neste local!");
PHP код:
Distancia 7.0
Cordenada 
do Local X
Cordenada 
do Local Y
Cordenada 
do Local 
Reply
#5

Acho que vocк nгo leu o tуpico amigo, releia. ele quer bloquear comandos em teleporte provavelmete.
Reply
#6

PHP код:
public OnPlayerCommandText(playeridcmdtext[]) 

    static 
str_msg[128]; 
    
Block[playerid]==true) return SendClientMessage(playerid,0xFF0000FF,"Vocк nгo pode usar este comando neste local!"); 
    if(!
strcmp(cmdtext"/vida"true)){ 
    if(
CallRemoteFunction("GetPlayerCash""i"playerid) < 5000) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк nгo tem dinheiro suficiente!"); 
    if(
Block_Vida[playerid] == 1) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк jб pegou vida, vocк so podera pegar novamente quando morrer!"); 
    
format(str_msgsizeof(str_msg), "{FF1493}%s {F5F5DC}comprou vida e gastou R$5000. {FF1493}( /vida )"Nome(playerid)); 
    
SendClientMessageToAll(0xFFFFFFstr_msg); 
    
CallRemoteFunction("GivePlayerCash""ii"playerid, -5000); 
    
SetPlayerHealth(playerid100); 
    
Block_Vida[playerid] = 1
    return 
true

if(!
strcmp(cmdtext"/colete"true)) 

    if(
CallRemoteFunction("GetPlayerCash""i"playerid) < 5000) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк nгo tem dinheiro suficiente!"); 
    if(
Block_Colete[playerid] == 1) return SendClientMessage(playerid0xFFF000AA"[ERRO]: Vocк jб pegou Colete, vocк so podera pegar novamente quando morrer!"); 
    
Block[playerid]==true) return SendClientMessage(playerid,0xFF0000FF,"Vocк nгo pode usar este comando neste local!"); 
    
format(str_msgsizeof(str_msg), "{FF1493}%s {F5F5DC}comprou colete e gastou R$5000. {FF1493}( /colete )"Nome(playerid)); 
    
SendClientMessageToAll(0xFFFFFFstr_msg); 
    
CallRemoteFunction("GivePlayerCash""ii"playerid, -5000); 
    
SetPlayerArmour(playerid100); 
    
Block_Colete[playerid] = 1
    return 
true
    } 
    return 
false

Reply
#7

Quote:
Originally Posted by iTakelot
Посмотреть сообщение
Acho que vocк nгo leu o tуpico amigo, releia. ele quer bloquear comandos em teleporte provavelmete.
Ele quer bloquear os comandos de vida e colete dentro da arena, ou seja, dб pra bloquear apenas verificando a аrea onde o player estб.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)