[Ajuda] Sistema de BOPE nгo compila
#1

Eu to tentando fazer um sistema de BOPE, que o lider vai ativar o BOPE para todos os membros poderem equipar o bope, isso na pm, pros pms poderem pegar o bope, tentei fazer na hora de compilar nem rodou pediu pra dar debug no programa :\
Olha como eu fiz, desculpa a ignorancia sou novato:
Lб em cima declarei:
Quote:

new bopeativado[MAX_PLAYERS];

em OnGameModeInit() botei a variavel com valor = 0, pq qnd inicia o sv o bope vem desativado
Quote:

bopeativado[playerid] = 0;

Fiz os comandos de lнder pra ativar e desativador o bope
Quote:

if(strcmp(cmd, "/ativarbope", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(bopeativado[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб ativado!");
return 1;
}
if(PlayerInfo[playerid][pLider] == 1)
{
bopeativado[playerid] == 1;
SendClientMessage(playerid,COLOR_GREY,"Vocк ativou o BOPE.");
return 1;
}
}
}
return 1;
}
if(strcmp(cmd, "/desativarbope", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(bopeativado[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб desativado!");
return 1;
}
if(PlayerInfo[playerid][pLider] == 1)
{
bopeativado[playerid] == 0;
SendClientMessage(playerid,COLOR_GREY,"Vocк desativou o BOPE.");
return 1;
}
}
}
return 1;
}

Depois fiz os comandos de equipar bope:
Quote:

if(strcmp(cmd, "/ifbope", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(bopeativado[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");
return 1;
}
if(PlayerToPoint(10.0, playerid,255.1426,75.9933,1003.6406))
{
if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1)
{
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 25, 80);
GivePlayerWeapon(playerid, 31, 200);
GivePlayerWeapon(playerid, 17, 10);
SetPlayerArmour(playerid, 100);
GetPlayerName(playerid,sendername,sizeof(sendernam e));
format(string, sizeof(string), " O oficial %s pegou seu equipamento do BOPE.", sendername, playerid);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
return 1;
}
}
}
return 1;
}
if(strcmp(cmd, "/sniperbope", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(bopeativado[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");
return 1;
}
if(PlayerToPoint(10.0, playerid,255.1426,75.9933,1003.6406))
{
if(PlayerInfo[playerid][pMembro] == 1 && PlayerInfo[playerid][pCargo] < 5 || PlayerInfo[playerid][pLider] == 1 && PlayerInfo[playerid][pCargo] < 5)
{
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 24, 30);
GivePlayerWeapon(playerid, 34, 50);
GivePlayerWeapon(playerid, 17, 10);
SetPlayerArmour(playerid, 100);
GetPlayerName(playerid,sendername,sizeof(sendernam e));
format(string, sizeof(string), " O oficial %s pegou seu equipamento do BOPE SNIPER.", sendername, playerid);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
return 1;
}
}
}
return 1;
}

Reply
#2

Alguem me ajuda galera pls, sou novato e n sei pq n ta indo, sou novato =\
Reply
#3

acho que e melhor vc e estudar um pouquinho sobre variaveis..
Reply
#4

Sou novato sу sei logica de programaзгo, o que eu fiz de errado? Vou estudar, mas se vc sabe onde eu errei fala ai :\
Reply
#5

estas variaveis ja existem no seu sv

pawn Код:
PlayerInfo[playerid][pLider]
?
Reply
#6

Use as tags [pawn][/pawn*]

Primeira coisa: Se й um comando, й УBVIO que o jogador vai estar conectado? Entгo para quк usa IsPlayerConnected?

Segunda: Use ZCMD, mais legнvel, prбtico e rбpido.

Terceiro: Idente seus cуdigos

Os comandos todos em ZCMD, mais legнveis e sem o IsPlayerConnected.

pawn Код:
CMD:ativarbope(playerid, params[])
{
    if(bopeativado[playerid] == 1)
    {
        SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб ativado!");
    }
    if(PlayerInfo[playerid][pLider] == 1)
    {
        bopeativado[playerid] == 1;
        SendClientMessage(playerid,COLOR_GREY,"Vocк ativou o BOPE.");
    }
    return 1;
}

CMD:desactivarbope(playerid, params[])
{
    if(bopeativado[playerid] == 0)
    {
        SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб desativado!");
    }
    if(PlayerInfo[playerid][pLider] == 1)
    {
        bopeativado[playerid] == 0;
        SendClientMessage(playerid,COLOR_GREY,"Vocк desativou o BOPE.");
    }
    return 1;
}

CMD:ifbope(playerid, params[])
{
    if(bopeativado[playerid] == 0)
    {
        SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");
    }
    if(PlayerToPoint(10.0, playerid,255.1426,75.9933,1003.6406))
    {
        if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1)
        {
            ResetPlayerWeapons(playerid);
            GivePlayerWeapon(playerid, 25, 80);
            GivePlayerWeapon(playerid, 31, 200);
            GivePlayerWeapon(playerid, 17, 10);
            SetPlayerArmour(playerid, 100);
            GetPlayerName(playerid,sendername,sizeof(sendernam e));
            format(string, sizeof(string), " O oficial %s pegou seu equipamento do BOPE.", sendername, playerid);
            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
        }
    }
    return 1;
}

CMD:sniperbope(playerid, params[])
{
    if(bopeativado[playerid] == 0)
    {
        SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");
    }
    if(PlayerToPoint(10.0, playerid,255.1426,75.9933,1003.6406))
    {
        if(PlayerInfo[playerid][pMembro] == 1 && PlayerInfo[playerid][pCargo] < 5 || PlayerInfo[playerid][pLider] == 1 && PlayerInfo[playerid][pCargo] < 5)
        {
            ResetPlayerWeapons(playerid);
            GivePlayerWeapon(playerid, 24, 30);
            GivePlayerWeapon(playerid, 34, 50);
            GivePlayerWeapon(playerid, 17, 10);
            SetPlayerArmour(playerid, 100);
            GetPlayerName(playerid,sendername,sizeof(sendernam e));
            format(string, sizeof(string), " O oficial %s pegou seu equipamento do BOPE SNIPER.", sendername, playerid);
            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
        }
    }
    return 1;
}
Hmm... o erro deve estar no ProxDetector. Tente colocar // atrбs de todos e recompile.
Reply
#7

Quote:
Originally Posted by bruxo00
Посмотреть сообщение
Use as tags [pawn][/pawn*]

Primeira coisa: Se й um comando, й УBVIO que o jogador vai estar conectado? Entгo para quк usa IsPlayerConnected?

Segunda: Use ZCMD, mais legнvel, prбtico e rбpido.

Terceiro: Idente seus cуdigos

Os comandos todos em ZCMD, mais legнveis e sem o IsPlayerConnected.

pawn Код:
CMD:ativarbope(playerid, params[])
{
    if(bopeativado[playerid] == 1)
    {
        SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб ativado!");
    }
    if(PlayerInfo[playerid][pLider] == 1)
    {
        bopeativado[playerid] == 1;
        SendClientMessage(playerid,COLOR_GREY,"Vocк ativou o BOPE.");
    }
    return 1;
}

CMD:desactivarbope(playerid, params[])
{
    if(bopeativado[playerid] == 0)
    {
        SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб desativado!");
    }
    if(PlayerInfo[playerid][pLider] == 1)
    {
        bopeativado[playerid] == 0;
        SendClientMessage(playerid,COLOR_GREY,"Vocк desativou o BOPE.");
    }
    return 1;
}

CMD:ifbope(playerid, params[])
{
    if(bopeativado[playerid] == 0)
    {
        SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");
    }
    if(PlayerToPoint(10.0, playerid,255.1426,75.9933,1003.6406))
    {
        if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1)
        {
            ResetPlayerWeapons(playerid);
            GivePlayerWeapon(playerid, 25, 80);
            GivePlayerWeapon(playerid, 31, 200);
            GivePlayerWeapon(playerid, 17, 10);
            SetPlayerArmour(playerid, 100);
            GetPlayerName(playerid,sendername,sizeof(sendernam e));
            format(string, sizeof(string), " O oficial %s pegou seu equipamento do BOPE.", sendername, playerid);
            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
        }
    }
    return 1;
}

CMD:sniperbope(playerid, params[])
{
    if(bopeativado[playerid] == 0)
    {
        SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");
    }
    if(PlayerToPoint(10.0, playerid,255.1426,75.9933,1003.6406))
    {
        if(PlayerInfo[playerid][pMembro] == 1 && PlayerInfo[playerid][pCargo] < 5 || PlayerInfo[playerid][pLider] == 1 && PlayerInfo[playerid][pCargo] < 5)
        {
            ResetPlayerWeapons(playerid);
            GivePlayerWeapon(playerid, 24, 30);
            GivePlayerWeapon(playerid, 34, 50);
            GivePlayerWeapon(playerid, 17, 10);
            SetPlayerArmour(playerid, 100);
            GetPlayerName(playerid,sendername,sizeof(sendernam e));
            format(string, sizeof(string), " O oficial %s pegou seu equipamento do BOPE SNIPER.", sendername, playerid);
            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
        }
    }
    return 1;
}
Hmm... o erro deve estar no ProxDetector. Tente colocar // atrбs de todos e recompile.
o erro dele e o excesso de chaves, tenta isto

pawn Код:
// topo
new bopeativado[MAX_PLAYERS];

// OnPlayerConnect
bopeativado[playerid] = false;

// Comandos

if(strcmp(cmd, "/ativarbope", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(bopeativado[playerid] == true) return SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб ativado!");
       
        if(PlayerInfo[playerid][pLider] == false)
        {
            bopeativado[playerid] == true;
            SendClientMessage(playerid,COLOR_GREY,"Vocк ativou o BOPE.");
        }
    }
    return true;
}

if(strcmp(cmd, "/desativarbope", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(bopeativado[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб desativado!");

        if(PlayerInfo[playerid][pLider] == true)
        {
            bopeativado[playerid] == false;
            SendClientMessage(playerid,COLOR_GREY,"Vocк desativou o BOPE.");
        }
    }
    return true;
}

if(strcmp(cmd, "/ifbope", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(bopeativado[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");

        if(PlayerToPoint(10.0, playerid,255.1426,75.9933,1003.6406))
        {
            if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1)
            {
                new nname[MAX_PLAYER_NAME];
                ResetPlayerWeapons(playerid);
                GivePlayerWeapon(playerid, 25, 80);
                GivePlayerWeapon(playerid, 31, 200);
                GivePlayerWeapon(playerid, 17, 10);
                SetPlayerArmour(playerid, 100);
                GetPlayerName(playerid,nname,sizeof(nname));
                format(string, sizeof(string), " O oficial %s pegou seu equipamento do BOPE.", nname, playerid);
                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
            }
        }
    }
    return 1;
}

if(strcmp(cmd, "/sniperbope", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(bopeativado[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");

        if(PlayerToPoint(10.0, playerid,255.1426,75.9933,1003.6406))
        {
            if(PlayerInfo[playerid][pMembro] == 1 && PlayerInfo[playerid][pCargo] < 5 || PlayerInfo[playerid][pLider] == 1 && PlayerInfo[playerid][pCargo] < 5)
            {
                new nname[MAX_PLAYER_NAME];
                ResetPlayerWeapons(playerid);
                GivePlayerWeapon(playerid, 24, 30);
                GivePlayerWeapon(playerid, 34, 50);
                GivePlayerWeapon(playerid, 17, 10);
                SetPlayerArmour(playerid, 100);
                GetPlayerName(playerid,nname,sizeof(nname));
                format(string, sizeof(string), " O oficial %s pegou seu equipamento do BOPE SNIPER.", nname, playerid);
                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
            }
        }
    }
    return 1;
}
Reply
#8

Quote:
Originally Posted by PT
Посмотреть сообщение
o erro dele e o excesso de chaves, tenta isto

pawn Код:
// topo
new bopeativado[MAX_PLAYERS];

// OnPlayerConnect
bopeativado[playerid] = false;

// Comandos

if(strcmp(cmd, "/ativarbope", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(bopeativado[playerid] == true) return SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб ativado!");
       
        if(PlayerInfo[playerid][pLider] == false)
        {
            bopeativado[playerid] == true;
            SendClientMessage(playerid,COLOR_GREY,"Vocк ativou o BOPE.");
        }
    }
    return true;
}

if(strcmp(cmd, "/desativarbope", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(bopeativado[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб desativado!");

        if(PlayerInfo[playerid][pLider] == true)
        {
            bopeativado[playerid] == false;
            SendClientMessage(playerid,COLOR_GREY,"Vocк desativou o BOPE.");
        }
    }
    return true;
}

if(strcmp(cmd, "/ifbope", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(bopeativado[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");

        if(PlayerToPoint(10.0, playerid,255.1426,75.9933,1003.6406))
        {
            if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1)
            {
                new nname[MAX_PLAYER_NAME];
                ResetPlayerWeapons(playerid);
                GivePlayerWeapon(playerid, 25, 80);
                GivePlayerWeapon(playerid, 31, 200);
                GivePlayerWeapon(playerid, 17, 10);
                SetPlayerArmour(playerid, 100);
                GetPlayerName(playerid,nname,sizeof(nname));
                format(string, sizeof(string), " O oficial %s pegou seu equipamento do BOPE.", nname, playerid);
                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
            }
        }
    }
    return 1;
}

if(strcmp(cmd, "/sniperbope", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(bopeativado[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");

        if(PlayerToPoint(10.0, playerid,255.1426,75.9933,1003.6406))
        {
            if(PlayerInfo[playerid][pMembro] == 1 && PlayerInfo[playerid][pCargo] < 5 || PlayerInfo[playerid][pLider] == 1 && PlayerInfo[playerid][pCargo] < 5)
            {
                new nname[MAX_PLAYER_NAME];
                ResetPlayerWeapons(playerid);
                GivePlayerWeapon(playerid, 24, 30);
                GivePlayerWeapon(playerid, 34, 50);
                GivePlayerWeapon(playerid, 17, 10);
                SetPlayerArmour(playerid, 100);
                GetPlayerName(playerid,nname,sizeof(nname));
                format(string, sizeof(string), " O oficial %s pegou seu equipamento do BOPE SNIPER.", nname, playerid);
                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
            }
        }
    }
    return 1;
}
pawn Код:
C:\Users\Tiago\Desktop\Intense Life\pawno\ULTRA2.pwn(36191) : warning 213: tag mismatch
if(bopeativado[playerid] == true) return SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб ativado!");

C:\Users\Tiago\Desktop\Intense Life\pawno\ULTRA2.pwn(36193) : warning 213: tag mismatch
if(PlayerInfo[playerid][pLider] == false)

C:\Users\Tiago\Desktop\Intense Life\pawno\ULTRA2.pwn(36195) : warning 213: tag mismatch
bopeativado[playerid] == true;


C:\Users\Tiago\Desktop\Intense Life\pawno\ULTRA2.pwn(36195) : warning 215: expression has no effect
bopeativado[playerid] == true;

C:\Users\Tiago\Desktop\Intense Life\pawno\ULTRA2.pwn(36206) : warning 213: tag mismatch
if(bopeativado[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, "O BOPE jб estб desativado!");

C:\Users\Tiago\Desktop\Intense Life\pawno\ULTRA2.pwn(36208) : warning 213: tag mismatch
if(PlayerInfo[playerid][pLider] == true)

C:\Users\Tiago\Desktop\Intense Life\pawno\ULTRA2.pwn(36210) : warning 213: tag mismatch
bopeativado[playerid] == false;

C:\Users\Tiago\Desktop\Intense Life\pawno\ULTRA2.pwn(36210) : warning 215: expression has no effect
bopeativado[playerid] == false;

C:\Users\Tiago\Desktop\Intense Life\pawno\ULTRA2.pwn(36221) : warning 213: tag mismatch
if(bopeativado[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");

C:\Users\Tiago\Desktop\Intense Life\pawno\ULTRA2.pwn(36246) : warning 213: tag mismatch
if(bopeativado[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, "O equipamento do BOPE nгo estб ativado!");

Ta dando varios warnings! =\
E o /ativarbope n ta funcionando =\

eu queria q qnd o lider ativa-se todos os membros pude-sem pegar obope e dps ele desativava, mas n ta pegando =\
Reply
#9

muda la

pawn Код:
new bopeativado[MAX_PLAYERS];
por

pawn Код:
new bopeativado[MAX_PLAYERS] = 0;
Reply
#10

Continuou os msms warnings e continua sem funcionar =\
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)