[Ajuda] Arenas
#1

Eu to fazendo um GM de DM/4Fun pra aprender pawno, e eu queria que tipo, eu digitasse /derby, e quando eu tivesse no lugar eu sу poderia usar o comando /sairarena.
Reply
#2

Tutorial aqui 1
Tutorial 2
Ajudei mais REP+
Reply
#3

Nгo sei o que isso tem a ver :X
Reply
#4

pawn Код:
new Arena[MAX_PLAYERS]; // Cria a new

//na public OnPlayerCommandText

if (!strcmp(cmdtext, "/derby", true))
{
      Arena = 1; // Muda a "Arena" do jogador para 1 quando entrar na arena.
      SetPlayerPos(playerid, cordenada x, y, z);
}
else if(!strcmp(cmdtext, "/sairarena", true))
{
      SetPlayerPos(playerid, cordenada x, y, z);
      Arena = 0; // Muda a "arena" do jogador para 0 quando sair da arena.
}
nos comandos que vocк nгo quer que sejam usados quando estiver na /derby, vocк coloca:
pawn Код:
if(Arena[playerid]==1) return SendClientMessage(playerid, COR, "Vocк nгo pode utilizar este comando na Arena Derby, utilize /sairarena."); // Quando a "Arena" do jogador estiver 1, ele nгo poderб utilizar o comando.
Espero que tenha ajudado, flws.
Reply
#5

Voce sabe criar o comando para entrar na arena ?
O resto й simples basta usar
pawn Код:
GetPlayerInterior(playerid));
depois algo como
pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))//
AS cordenadas nao sao as suas titrei da wiki.

https://sampwiki.blast.hk/wiki/IsPlayerInRangeOfPoint
https://sampwiki.blast.hk/wiki/GetPlayerInterior
Reply
#6

Criei aqui mesmo no forum
Em zcmd
pawn Код:
CMD:derby(playerid,params[])
{
    new bool:TeleAtivado;
    TeleAtivado = true;
    SetPlayerPos,Float:x, Float:y, Float:z);//Teleport para o derby

return 1;
}
CMD:sairarena(playerid,params[])
{
    TeleAtivado = false;
    SetPlayerPos,Float:x, Float:y, Float:z);//Aonde o player vai se teleportar ao sair do derby
return 1;
}
CMD:drift(playerid,params[])
{
   
    if(TeleAtivado == true) return SendClientMessage(playerid,-1,"VC ESTA NA ARENA PARA SAIR DIGITE /SAIRARENA");//Bloqueia o teleporte se estiver no derby
    SetPlayerPos,Float:x, Float:y, Float:z);//Cordenada do /drif
return 1;
}
@EDIT
nгo testei pora nenhuma D:
Reply
#7

Nгo consegui e nem entendi :S
Deixa assim, eu me viro, й complicado demais pra mim
Reply
#8

cara, й sу vc criar uma new pra arena, por exemplo essa que eu fiz
pawn Код:
new NaArena[MAX_PLAYERS];
daн vocк coloca pra setar o NaArena pra 1 quando ele entrar na arena e setar o NaArena 0 pra quando ele sair
daн quando vocк quiser que ele nгo possa usar um comando, vocк vai atй esse tal comando que vc nгo quer que seja usado e coloca
pawn Код:
if(NaArena[playerid]==1) return SendClientMessage(playerid, COR_DAMENSAGEM, "Mensagem"); // Verifica se o NaArena do jogador й 1, se for, vai dar esse erro com essa "Mensagem"..
Reply
#9

Mas deu 4 erros
Reply
#10

й, eu postei errado la, tb sou iniciante como vc, mas estou aqui pra tentar ajudar e tentar resolver minhas dъvidas.. ta errado ali, o certo seria assim.. posta os erros ai pra ver
pawn Код:
new Arena[MAX_PLAYERS]; // Cria a new

//na public OnPlayerCommandText

if (!strcmp(cmdtext, "/derby", true))
{
      Arena[playerid] = 1; // Muda a "Arena" do jogador para 1 quando entrar na arena.
      SetPlayerPos(playerid, cordenada x, y, z);
}
else if(!strcmp(cmdtext, "/sairarena", true))
{
      SetPlayerPos(playerid, cordenada x, y, z);
      Arena[playerid] = 0; // Muda a "arena" do jogador para 0 quando sair da arena.
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)