[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(playerid, cmdtext[])
{
    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(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!");
    
Block[playerid]==true) return SendClientMessage(playerid,0xFF0000FF,"Vocк nгo pode usar este comando neste local!");
    
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
#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(playerid, cmdtext[])
{
    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(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!");
    
Block[playerid]==true) return SendClientMessage(playerid,0xFF0000FF,"Vocк nгo pode usar este comando neste local!");
    
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;
} 
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 = Z 
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(playerid, cmdtext[]) 
{ 
    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(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!"); 
    
Block[playerid]==true) return SendClientMessage(playerid,0xFF0000FF,"Vocк nгo pode usar este comando neste local!"); 
    
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
#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: 1 Guest(s)