[FilterScript] Sistema de Guerra
#1

Criei um Sistema de Guerra para o Game Mode que eu postei a um tempo(BI-RPG),estou criando novos sistemas/atualizaзoes para ele e entre elas й o sistema de guerra.Resolvi adiantar-lo.Para quem nao usa o BI-RPG mas quer utilizar o sistema de guerra,basta configurar o PlayerInfo[playerid][Org] para o sistema verificaзao de organizaзao do seu Game Mode.

Adversarios:
Novo GameMode
Exercito(Org = 2) x Al Qaeda(Org = 6)

Antigo GameMode
Exercito(Org = 4) x Al Qaeda(Org = 10)

Comandos:
/StartWar (Somente Administrador 3+)
/StoptWar (Somente Administrador 3+)

Tempo:
5 minutos para o inicio
10 minutos para finalizar

Local:
Las Venturas (Basta mudar)

Imagens:
Imagem 1
Imagem 2
Imagem 3

Includes:

pawn Код:
#include <a_samp>
#include <zcmd>
#include <JFSTempo>

Topo do Game Mode:

pawn Код:
forward TimeWar(playerid);
forward TimeWarFinish(playerid);

new Text:PlacarGuerra;
new LiberarDominio[MAX_PLAYERS];
new KillerEx, KillerAl;
new LocalGuerra,
    Float:CoordXMin = 2080.6187,
    Float:CoordYMin = 1378.9105,
    Float:CoordXMax = 2234.0322,
    Float:CoordYMax = 1525.8738,
    Float:GetX,Float:GetY,Float:GetZ;
OnGameModeInit()

pawn Код:
PlacarGuerra = TextDrawCreate(218.0, 410.6, "~b~(GUERRA)~g~ Exercito: 0  - ~r~Al Qaeda: 0");
    TextDrawBackgroundColor(PlacarGuerra,0x000000ff);
    TextDrawFont(PlacarGuerra,2);
    TextDrawLetterSize(PlacarGuerra,0.2999, 1.4);
    TextDrawBoxColor(PlacarGuerra,0x00000050);
    TextDrawColor(PlacarGuerra,0xffffffff);
    TextDrawSetOutline(PlacarGuerra,1);
    TextDrawSetProportional(PlacarGuerra,1);
    TextDrawSetShadow(PlacarGuerra,1);
}

OnPlayerSpawn(playerid)

pawn Код:
LocalGuerra = GangZoneCreate(2080.6187,1378.9105, 2234.0322,1525.8738);
GangZoneShowForAll(LocalGuerra,0xFF0000FF);

OnPlayerDeath(playerid, killerid, reason)

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(LiberarDominio[playerid] == 1)
    {
        GetPlayerPos(playerid, Float:GetX, Float:GetY, Float:GetZ);
        if(GetX >= CoordXMin && GetX <= CoordXMax && GetY >= CoordYMin && GetY <= CoordYMax){
        if(PlayerInfo[playerid][Org] == 6)  {KillerEx++;}
        else if(PlayerInfo[playerid][Org] == 2) {KillerAl++;}}
    }
    return 1;
}

OnPlayerUpdate(playerid)

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(LiberarDominio[playerid] == 1)
    {
        GetPlayerPos(playerid, Float:GetX, Float:GetY, Float:GetZ);
        if(GetX >= CoordXMin && GetX <= CoordXMax && GetY >= CoordYMin && GetY <= CoordYMax){
        if(PlayerInfo[playerid][Org] == 6)  {KillerEx++;}
        else if(PlayerInfo[playerid][Org] == 2) {KillerAl++;}}
    }
    return 1;
}

Fim do Game Mode

pawn Код:
public TimeWarFinish(playerid)
{
    for(new i;i<MAX_PLAYERS;i++)
    {
        if(LiberarDominio[i] == 1){
        LiberarDominio[i] = 0;}
    }
    GangZoneStopFlashForAll(LocalGuerra);
    TextDrawHideForAll(PlacarGuerra);
    if(KillerEx > KillerAl)
    {
        SendClientMessageToAll(0xFF8000FF,"(GUERRA)A Guerra entre Al Qaeda e Exercito foi finalizada. EXERCITO VENCEU A GUERRA.");
        GameTextForAll("~g~EXERCITO VENCEU", 3000, 0 );
        for(new getorg;getorg<MAX_PLAYERS;getorg++)
        {
            if(PlayerInfo[getorg][Org] == 2)
            {
            SetPlayerScore(getorg,GetPlayerScore(getorg)+10);
            GivePlayerMoney(getorg,50000);
            SendClientMessage(getorg,GetPlayerColor(getorg),"(RECOMPENSA)Voce recebeu 10 Scores e R$50,000 por ter vencido a guerra.");
            }
        }
    }
    else if(KillerAl > KillerEx)
    {
        SendClientMessageToAll(0xFF8000FF,"(GUERRA)A Guerra entre Al Qaeda e Exercito foi finalizada. AL QAEDA VENCEU A GUERRA.");
        GameTextForAll("~r~AL QAEDA VENCEU", 3000, 0);
        for(new getorg;getorg<MAX_PLAYERS;getorg++)
        {
            if(PlayerInfo[getorg][Org] == 6)
            {
            SetPlayerScore(getorg,GetPlayerScore(getorg)+10);
            GivePlayerMoney(getorg,50000);
            SendClientMessage(getorg,GetPlayerColor(getorg),"(RECOMPENSA)Voce recebeu 10 Scores e R$50,000 por ter vencido a guerra.");
            }
        }
    }
    else
    {
        SendClientMessageToAll(0xFF8000FF,"(GUERRA)A Guerra entre Al Qaeda e Exercito foi finalizada. HOUVE EMPATE NA GUERRA.");
        GameTextForAll("~b~HOUVE EMPATE", 3000, 0);
    }
    return 1;
}
pawn Код:
public TimeWar(playerid)
{
    new String[150];
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(PlayerInfo[i][Org] == 2 || PlayerInfo[i][Org] == 6){
        LiberarDominio[i] = 1;
    SetTimerEx("TimeWarFinish", TempoMinuto(10), false,"i",i);}
    TextDrawShowForAll(PlacarGuerra);
    }
    format(String, sizeof(String),"(GUERRA)A Guerra entre Al Qaeda e Exercito Iniciou.");
    SendClientMessageToAll(0xFF8000FF,String);
    return 1;
}

pawn Код:
COMMAND:startwar(playerid, params[])
{
    #pragma unused params
    new String[150];
    if(PlayerInfo[playerid][AdmNivel] >= 3)
    format(String, sizeof(String),"(GUERRA)Exercito e Al Qaeda iniciara uma guerra em 5 minutos.");
    SetTimerEx("TimeWar", TempoMinuto(5), false,"i",playerid);
    SendClientMessageToAll(0xFF8000FF,String);
    KillerEx = 0; KillerAl = 0;
    return 1;
}
pawn Код:
COMMAND:stopwar(playerid, params[])
{
    #pragma unused params
    if(PlayerInfo[playerid][AdmNivel] >= 3)
    SendClientMessageToAll(0xFF8000FF,"(GUERRA)Um administrador encerrou a guerra.");
    for(new i;i<MAX_PLAYERS;i++){
    LiberarDominio[i] = 0;
    TextDrawHideForAll(PlacarGuerra);
    KillerEx = 0; KillerAl = 0;
    GangZoneStopFlashForAll(LocalGuerra);}
    return 1;
}

Paste Bin

Creditos: ungroup
@OBS: Desculpe se errei a TAG ou o Local de postar.
Reply
#2

pawn Код:
#include <dini>



Vou testar jaja.
Reply
#3

Quote:
Originally Posted by iSmirnoff
Посмотреть сообщение
pawn Код:
#include <dini>



Vou testar jaja.
shushushush й que so copiei as includes que estavao e nao percebi a dini
Reply
#4

Pela imagem parece ser um bom FS, nгo cheguei a testar.
Parabйns =)

@Edit

Coloca um code final, com tudo junto...
Reply
#5

Quote:
Originally Posted by AlucardSnow
Посмотреть сообщение
Pela imagem parece ser um bom FS, nгo cheguei a testar.
Parabйns =)

@Edit

Coloca um code final, com tudo junto...
Adicionado,Obrigado.

@Vo ver o que mais posso fazer para melhora-lo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)