SA-MP Forums Archive
[Ajuda] Bloquear Comando - 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] Bloquear Comando (/showthread.php?tid=583329)



Bloquear Comando - maxblaya01 - 27.07.2015

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;
}




Re: Bloquear Comando - Jimmmy - 27.07.2015

https://sampwiki.blast.hk/wiki/IsPlayerInRangeOfPoint


Re: Bloquear Comando - iTakelot - 27.07.2015

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;




Re: Bloquear Comando - Jimmmy - 27.07.2015

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 



Re: Bloquear Comando - iTakelot - 27.07.2015

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


Re: Bloquear Comando - phenriquesn - 27.07.2015

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




Re: Bloquear Comando - n0minal - 27.07.2015

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б.