SA-MP Forums Archive
Pequeno Problema - 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: Pequeno Problema (/showthread.php?tid=279865)



Pequeno Problema - CanTLoGin - 29.08.2011

Eu tenho o Cmd /Sair.. Mas ele da pra digitar mesmo se o player nгo estiver numa Arena. Como faz pra ele poder digitar sу se estiver lб ?
pawn Код:
if(strcmp(cmdtext,"/sair",true)==0)
{
BlockCMD[playerid] = false;
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 24, 99999);
GivePlayerWeapon(playerid, 28, 99999);
GivePlayerWeapon(playerid, 26, 99999);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,0);
GameTextForPlayer(playerid,"",4000,6);
SetPlayerInterior(playerid,0);
new rand = random(sizeof(RandomSpawns));
SetPlayerPos(playerid, RandomSpawns[rand][0], RandomSpawns[rand][1],RandomSpawns[rand][2]);
SetPlayerFacingAngle(playerid, RandomSpawns[rand][3]);
SetPlayerInterior(playerid,0);
SetPlayerWorldBounds(playerid,20000.0000,-20000.0000,20000.0000,-20000.0000);
SetPlayerInterior(playerid,0);
return 1;
}



Re: Pequeno Problema - [BEP]AcerPilot - 29.08.2011

if(PlayerNaArena(playerid) == 1) ...

Substitui o PlayerNaArena pela funcao que detecte se ele esta na arena.


Re: Pequeno Problema - CanTLoGin - 29.08.2011

lol. nгo tem nenhum PlayerNaArena no meu GM. e.e'


Re: Pequeno Problema - [BEP]AcerPilot - 29.08.2011

Quote:

Substitui o PlayerNaArena pela funcao que detecte se ele esta na arena.

O PlayerNaArena й exemplo, use a que exista no teu script ou um IsPlayerInArea ou mesmo IsPlayerInRangeOfPoint.


Re: Pequeno Problema - Lipe_Stronda - 29.08.2011

pawn Код:
//Final do GameMode
stock IsPlayerInArena(playerid)
{
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid, x, y, z);
    if(x >= 1271.44 && y >= 2092.145 && x <= 1384.68 && y <= 2208.187) return true; //Troque pela suas coordenadas
    else return false;
}

// comando

if(strcmp(cmdtext,"/sair",true)==0)
{
    if(!IsPlayerInArena(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo estб em uma arena");
    BlockCMD[playerid] = false;
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 24, 99999);
    GivePlayerWeapon(playerid, 28, 99999);
    GivePlayerWeapon(playerid, 26, 99999);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,0);
    GameTextForPlayer(playerid,"",4000,6);
    SetPlayerInterior(playerid,0);
    new rand = random(sizeof(RandomSpawns));
    SetPlayerPos(playerid, RandomSpawns[rand][0], RandomSpawns[rand][1],RandomSpawns[rand][2]);
    SetPlayerFacingAngle(playerid, RandomSpawns[rand][3]);
    SetPlayerInterior(playerid,0);
    SetPlayerWorldBounds(playerid,20000.0000,-20000.0000,20000.0000,-20000.0000);
    SetPlayerInterior(playerid,0);
    return 1;
}



Re: Pequeno Problema - CanTLoGin - 29.08.2011

й. funfou +\-
agora nгo da pra usar /Sair nem mesmo se estar numa Arena. '-'


Re: Pequeno Problema - trollv - 29.08.2011

se vocк usa sistema de teleportes faz assim

pawn Код:
new detectteleporte[MAX_PLAYERS];

public OnPlayerConnect
{
    detectteleporte[playerid] = false;
}
public OnPlayerCommandText
{
    if(strcmp(cmdtext,"/teleporte",true)==0)
    {
         detectteleporte[playerid] = true;
     }
     if strcmp(cmdtext,"/sair",true)==0)
    {
         if(detectteleporte[playerid] == 0) return SendClientMessage(playerid, 0xFFFFFAA, "[ERRO] Vocк sу pode usar esse comando em um teleporte");
        // resto da funзгo
     }
}
public OnPlayerSpawn
{
detectteleporte[playerid] = false;
}
O que eu botei dentro do comando /teleporte vc coloca dentro de cada comando do seu gm que corresponde a um teleporte
Fiz rбpido, se tiver algum erro avisa ai


Re: Pequeno Problema - StrondA_ - 29.08.2011

Eita, nгo precisa dessa frescura toda, aqui estб um CODE simples..
CanTLoGin:


pawn Код:
new BlokioComandoEmoSz[MAX_PLAYERS];

public OnPlayerCommandText(playerid, cmdtext[])
{
if(BlokioComandoEmoSz[playerid] == 1 &&  strcmp(cmdtext, "/sairdm", true) != 0) return SendClientMessage(playerid, GetPlayerColor(playerid), "Vocк nгo pode digitar nenhum comando enquanto vocк estiver em uma Arena! /sairdm{FA0526} - 500$"),GameTextForPlayer(playerid,"~g~~h~ ~n~ ~n~ COMANDOS BLOQUEADO!", 3000, 3);

if(strcmp(cmdtext, "/sairdm",true)==0)
{
    if(BlokioComandoEmoSz[playerid] == 0) return SendClientMessage(playerid, GetPlayerColor(playerid), "Vocк nгo pode digitar o comando /sairdm, pois voce nao esta em uma arena, seu emo!"), GameTextForPlayer(playerid,"~r~voce nao esta em uma arena emo!", 3000, 3);
    SpawnPlayer(playerid);
    return true;
}
Pode testa que funfa, e й mais simples para vocк mecher.. bjunda


Re: Pequeno Problema - CanTLoGin - 29.08.2011

funfo. Valeu mesmo aos 2. Reput ja ^^ '