[COD] Sistema de Barreiras.
#1

***** Sistema de Barreiras *****




Bem, vi que o fуrum tem andado um pouco parado por isso vim animar vocкs com um cуdigo que fiz



Espero que ajude a todos e principalmente aqueles que estгo lutando para fazer um gamemode RPG Nгo-Editado.



Importante lembrar que o cуdigo nгo vem acoplado б organizaзхes, classes, equipes etc.








Crйditos:


* Ken_xD/rjjj pela criaзгo do cуdigo.

* GM Thug Life City(Fear, Astro, Andre_Felipe e Poderoso_Chefao) pelo ID das Barreiras.

* SampWiki por conter muitas informaзхes .






Informaзхes:



* Cуdigo de criaзгo e remoзгo de barreiras IN-GAME. O mesmo foi feito em KcmD (acho que sу eu uso ) e testado por min. Nenhum bug foi encontrado.






Download:


Clique Aqui >> PasteBin


Obs: NГO RETIRE OS CRЙDITOS !!!!
Obs 2: Se encontrar algum bug por favor avise aqui no tуpico.
Obs 3: Se quiser postar em blogs, mandar PM pra min.




Gostou do cуdigo ? Pegue o tutorial de Kcmd na minha assinatura e faзa o seu =D
Reply
#2

Muito Bom Rjj (:
Ah tempos nгo vejo um code assim ^^ nice job GIRL
Reply
#3

qual a diferenзa mano ? ainda nao baixei, more details ? *-* vlws
Reply
#4

Qual e a diferenзa desse sistema pro do TL?
Reply
#5

Hehe, desculpa acho que nгo apresentei todas as informaзхes do cуdigo.

Bom, as novidades em relaзгo бs outras sгo:


* Nгo "Bugam" como as do TL (a nгo ser que o limite de objetos do GM jб tenha sido ultrapassado).


* Mбximo de Barreiras no Total de 5, organizadas por IDs (vгo de 1 б 5).


* Possibilidade de qualquer 1 tirar a barreira que outro fez (diferente do TL, onde sу quem fez a barreira poderia tirб-la.



Fiz esse cуdigo para ajudar, pois, atй os servidores RP/RPG mas antigos e populares tкm problemas com isso das barreiras.
Reply
#6

A sim. As barreiras do meu antigo TL nao bugavam, a unica coisa que bugava la era os gmx
Reply
#7

Muito Obrigado б todos =D, espero que meu cуdigo ajude principalmente б aqueles que estгo se esforзando em fazer GM RPG do Zero e nгo querem coisas bugadas.



Quote:
Originally Posted by sergio_xd
Посмотреть сообщение
A sim. As barreiras do meu antigo TL nao bugavam, a unica coisa que bugava la era os gmx
Bom, as barreiras do GM Thug e de outros GF Edit que copiaram do Thug sгo criadas de acordo com o ID do jogador, por exemplo se vocк cria (no Thug/GF Edit) uma barreira, ela vai ser por exemplo:


pawn Код:
Barreira[playerid]

playerid й o seu ID, digamos que seu ID seja 21, entгo a barreira criada por vocк serб Barreira[21], e como o cуdigo de remover barreiras do Thug destrуi a Barreira[playerid], apenas quem fez a barreira poderia tirб-la.


Quanto б parte das barreiras "Bugarem" no GMX, ao usar meu cуdigo, adicione no final do gamemode:


pawn Код:
public OnGameModeExit()
{
    DestroyObject(Barreira[1]);
    DestroyObject(Barreira[2]);
    DestroyObject(Barreira[3]);
    DestroyObject(Barreira[4]);
    DestroyObject(Barreira[5]);
    BarreiraExistente[1] = 0;
    BarreiraExistente[2] = 0;
    BarreiraExistente[3] = 0;
    BarreiraExistente[4] = 0;
    BarreiraExistente[5] = 0;
    return 1;
}
Reply
#8

agora sim, parabens 10/10
Reply
#9

ah sim , intendi. Parabens , bom codigo. Usarei-o com seus creditos


manow deu errado ;x que ki eu faзo ?
WEIWOUEWIEUWEIO, nao deu erro de erro saka, deu erro na library pawn ;x ai fecha saka ai voltei tudo com ctrl z, compilei e deu ;x colokei tudo nas areas certinhas ,
Reply
#10

Quote:
Originally Posted by Pierox_
Посмотреть сообщение
ah sim , intendi. Parabens , bom codigo. Usarei-o com seus creditos


manow deu errado ;x que ki eu faзo ?
WEIWOUEWIEUWEIO, nao deu erro de erro saka, deu erro na library pawn ;x ai fecha saka ai voltei tudo com ctrl z, compilei e deu ;x colokei tudo nas areas certinhas ,
Para adicionar em um GM ou FS.


Coloque primeiro as variбveis globais, no Topo do GM:

pawn Код:
static BarreiraExistente[6];
static Barreira[6];
new nickname[MAX_PLAYER_NAME];

Depois coloque na public OnPlayeCommandText, apenas essa parte:

pawn Код:
if(strcmp("/barcreditos", cmdtext, true, 8) == 0)
    {
        SendClientMessage(playerid, 0x33FF00FF, "Este Servidor usa o cуdigo de Barreiras.");
        SendClientMessage(playerid, 0x33FF00FF, "GM Thug Life City(Fear, Astro, Andre_Felipe e Poderoso_Chefao) pelo ID das Barreiras.");
        SendClientMessage(playerid, 0x33FF00FF, "SampWiki por conter muitas informaзхes.");
    }
    if(strcmp("/criarbarreira", cmdtext, true, 13) == 0)
    {
        new cstring[256];
        new CBar[256];
        CBar = KcmD(1, cmdtext);
        if(!strlen(CBar)){SendClientMessage(playerid, 0xFFFFFFFF, "Digite /criarbarreira [ ID da Barreira(De 1 б 5) ]");return 1;}
        new CBarID = strval(CBar);
        if(CBarID > 5 || CBarID < 1) { SendClientMessage(playerid, 0xFFFFFFFF, "Os IDs das Barreiras vгo de 1 б 5."); return 1; }
        new Float:BarX, Float:BarY, Float:BarZ, Float:BarA;
        GetPlayerPos(playerid, BarX, BarY, BarZ);
        GetPlayerFacingAngle(playerid, BarA);
        if(BarreiraExistente[CBarID] == 1)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "[Server Info]: Jб existe uma barreira com esse ID.");
            return 1;
        }
        Barreira[CBarID] = CreateObject(981, BarX, BarY, BarZ, 0.0, 0.0, BarA+180,0.0);
        BarreiraExistente[CBarID] = 1;
        SetPlayerPos(playerid, BarX, BarY, BarZ+4);
        GameTextForPlayer(playerid, "~r~] Barreira Criada ]", 5000, 3);
        GetPlayerName(playerid, nickname, sizeof(nickname));
        format(cstring, sizeof(cstring), "[Server Info]: Um barreira foi plantada por %s, e estб marcada por um checkpoint no Mapa.", nickname);
        SendClientMessageToAll(0xFF0000FF,cstring);
        format(cstring, sizeof(cstring), "[Server Info]: Vocк plantou a barreira de ID %d", CBarID);
        SendClientMessage(playerid, 0xFFFFFFFF, cstring);
        return 1;
    }
    if(strcmp("/retirarbarreira", cmdtext, true, 15) == 0)
    {
        new RBar[256];
        new rstring[256];
        RBar = KcmD(1, cmdtext);
        if(!strlen(RBar)){SendClientMessage(playerid, 0xFFFFFFFF, "Digite /retirarbarreira [ ID da Barreira(De 1 б 5) ]");return 1;}
        new RBarID = strval(RBar);
        if(BarreiraExistente[RBarID] == 1)
        {
            GetPlayerName(playerid, nickname, sizeof(nickname));
            format(rstring, sizeof(rstring), "[Server Info]: Um barreira foi removida por %s.", nickname);
            SendClientMessageToAll(0xFF0000FF,rstring);
            format(rstring, sizeof(rstring), "[Server Info]: Vocк retirou a barreira de ID %d", RBarID);
            SendClientMessage(playerid, 0xFFFFFFFF, rstring);
            DestroyObject(Barreira[RBarID]);//Apenas se a barreira existir
            BarreiraExistente[RBarID] = 0;
        }
        else
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "[Server Info]: Nгo pode remover uma barreira que nгo existe.");
        }
        return 1;
    }

E depois no final do GM:

pawn Код:
stock KcmD(param, cmdtext[])
{
    new string[128], pos, var;
    format(string, sizeof(string), "%s ", cmdtext);

    while((pos = strfind(string, " ", true)) != -1)
    {
        if(var == param) return string;
        var++;

        strdel(string, 0, pos + 1);
        if(strcmp(string, " ", true, pos) == 0) goto end;
    }

end:
    string[0] = '\0';
    return string;
}

Testei aqui e funcionou normal
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)