[Include] Big, Bang, Boom!
#1

Big, Bang, Boom!


Olб pessoal do Fуrum Samp!

Bom, do nada eu estava ouvindo a mъsica Diбrio de um Detento dos Racionais MCґs e tive uma idйia:

Criar uma include sobre uma bomba, atфmica ou nao, isto depende de vocк!

Segue as funзoes:

BBB_BombaExiste


A funзao й usada para saber se uma bomba existe ou nao.

Exemplo de Uso:

pawn Код:
if(BBB_Existe(1)) { break; }
BBB_CriarBomba


A funзao й usada para criar uma bomba em tal lugar do mapa.

Exemplo de Uso:

pawn Код:
new Float:X,Float:Y,Float:Z; BBB_CriarBomba(X,Y,Z,10.0,10);
Obs: O tempo й em segundos e nao em milйsimos!

Caso vocк use:

pawn Код:
BBB_CriarBomba(X,Y,Z,10.0,10000);
Ela sу serб detonada apуs 10 mil segundos, que seriam 3 horas mais ou menos.

BBB_RemoverBomba


A funзao й usada para remover uma bomba jб criada.

Exemplo de Uso:

pawn Код:
if(BBB_Existe(1)) { BBB_RemoverBomba(1); }
Fotos


Bomba colocada:



Bomba explodindo:



Cуdigo


pawn Код:
#define Maximo_Bombas 1000
#define Maximo_Players 100

#define BombaTexto "Bomba\nExplosгo em %ds"
#define CorTexto 0xBFBFBFAA

enum Bomb
{
    Float:BombaX,
    Float:BombaY,
    Float:BombaZ,
    Float:BombaR,
    BombaExplosao,
    BombaExiste
};
stock Bomba[Maximo_Bombas][Bomb];
stock IconeBomba[Maximo_Bombas];
stock Text3D:TextoBomba[Maximo_Bombas];
stock FalaBomba[128];

stock UltimoID;
stock TempoCorrendo;

stock BBB_BombaExiste(id)
{
    if(Bomba[id][BombaExiste] == 1)
    {
        return 1;
    }
    return 0;
}
stock BBB_CriarBomba(Float:X,Float:Y,Float:Z,Float:R,tempo)
{
    if(UltimoID < Maximo_Bombas)
    {
        if(TempoCorrendo == 0)
        {
            SetTimer("ChecarBombas",1000,1);
            TempoCorrendo = 1;
        }
        Bomba[UltimoID][BombaX] = X;
        Bomba[UltimoID][BombaY] = Y;
        Bomba[UltimoID][BombaZ] = Z;
        Bomba[UltimoID][BombaR] = R;
        Bomba[UltimoID][BombaExplosao] = tempo;
        Bomba[UltimoID][BombaExiste] = 1;

        format(FalaBomba,sizeof(FalaBomba),BombaTexto,tempo);

        IconeBomba[UltimoID] = AddStaticPickup(363,0,X,Y,Z,-1);
        TextoBomba[UltimoID] = Create3DTextLabel(FalaBomba,CorTexto,X,Y,Z,R,0,0);

        printf("A bomba %d Foi criada, tempo para a explosгo: %ds",UltimoID,tempo);
        UltimoID++;
    }
    else
    {
        printf("A bomba %d nгo pode ser criada!",Maximo_Bombas);
    }
    return 1;
}
stock BBB_RemoverBomba(id)
{
    if(Bomba[id][BombaExiste] == 1)
    {
        if(TempoCorrendo == 0)
        {
            SetTimer("ChecarBombas",1000,1);
            TempoCorrendo = 1;
        }
        Bomba[id][BombaX] = 0.0;
        Bomba[id][BombaY] = 0.0;
        Bomba[id][BombaZ] = 0.0;
        Bomba[id][BombaR] = 0.0;
        Bomba[id][BombaExplosao] = 0;
        Bomba[id][BombaExiste] = 0;

        DestroyPickup(IconeBomba[id]);
        Delete3DTextLabel(TextoBomba[id]);

        IconeBomba[UltimoID] = 0;

        printf("A bomba %d Foi destruнda!",id);
        UltimoID--;
    }
    else
    {
        printf("A bomba %d nгo pode ser destruнda!",id);
    }
    return 1;
}
ChecarBombas();

public ChecarBombas()
{
    for(new i=0; i<Maximo_Bombas; i++)
    {
        if(Bomba[i][BombaExiste])
        {
            if(Bomba[i][BombaExplosao] == 0)
            {
                CreateExplosion(Bomba[i][BombaX],Bomba[i][BombaY],Bomba[i][BombaZ],7,Bomba[i][BombaR]);
                BBB_RemoverBomba(i);

                for(new i2=0; i2<Maximo_Players; i2++)
                {
                    SetPlayerHealth(i2,0.0);
                    GameTextForPlayer(i2,"~r~Bomba Detonada!",5000,3);
                }
            }
            else
            {
                format(FalaBomba,sizeof(FalaBomba),BombaTexto,Bomba[i][BombaExplosao]);
                Update3DTextLabelText(TextoBomba[i],CorTexto,FalaBomba);

                Bomba[i][BombaExplosao]--;
            }
        }
    }
    return 1;
}
BY: BIEL_COP
Reply
#2

Bacana, simples porйm bacana.

Sу espero que vocк nгo se torne o OTACON da board.

Abraзos
Reply
#3

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Bacana, simples porйm bacana.

Sу espero que vocк nгo se torne o OTACON da board.

Abraзos
Podeshб kkk'
Reply
#4

Idйia assim sу pode vir de vc mesmo kkkkk
Reply
#5

Claro nй Stak, atй que ficou legalzinha kk'

Talvez eu crie um save & um load para esta include, usando a minha include bCini.

#UP
Reply
#6

Ficou legal, criativo.

parabens
Reply
#7

Criativo,

Mas o nome ficou gay.
Reply
#8

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Bacana, simples porйm bacana.

Sу espero que vocк nгo se torne o OTACON da board.

Abraзos
@off encanto-me seu comentбrio,.


@on muito bom contribua amigo.
Reply
#9

Bem bacana, no mнnimo inovador
Reply
#10

Puyol, qual й a sua idade ?
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)