[Ajuda]Campo Minado
#1

Bom, estou querendo fazer um sistema de campo minado, colocar varias bombas em algum lugar, e quando o player chegar perto de alguma, ele morrer. Mas eu nгo sei como fazer isso. Eu nгo estou pedindo para que ninguem faзa, mas se alguem souber e puder me falar como que se faz, para eu ter alguma base. vlw
Reply
#2

pawn Код:
new mina;

OnFilterScriptInit()
{
mina = CreateObject(id, x, y, z);
}

OnPlayerUpdate
{
new Float:x, Float:y, Float:z;
GetObjectPos(mina, x, y, z);
If(IsPlayerInRangeOfPoint(playerid, 1.0, x, y, z))
{
CreateExplosion(x, y, z, 12, 10.0);
DestroyObject(mina);
SetTimer("recriar", 50000, false);
}
}
pawn Код:
forward recriar()
public recriar()
{
CreateObject(mina, x, y, z);
}
Nгo sei se ta certo, testa ai, tem q modificar algumas ocisas, pois й apenas uma Base
Reply
#3

ainda nao testei, mas como ficaria se fossem + de 2 minas?
Reply
#4

Troque o objeto com o dб mina, ta ae o CODE:
pawn Код:
#include <a_samp>
#include <zcmd>

#define MAX_MINA 1337



public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" FS by CidadeNovaRP ¬");
    print("--------------------------------------\n");
    return 1;
}

enum MinaInfo
{
    mX,
    mY,
    mZ,
    Objeto,
    bool:Exploda
}

new mInfo[MAX_MINA][MinaInfo];
new Minas;

CMD:colocarmina(playerid)
{
    mInfo[Minas][Exploda] = false;
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    mInfo[Minas][Objeto] = CreateObject(1, x, y, z, 0.0, 0.0, 0.0);
    Explodir(Minas);
    Minas ++;
    return 1;
}

public OnPlayerUpdate(playerid)
{
    for(new m = 0; m < MAX_MINA; m++)
    {
        if(IsPlayerInRangeOfPoint(playerid, 3.0, mInfo[m][mX], mInfo[m][mY], mInfo[m][mZ]))
        {
            if(mInfo[m][Exploda] == true) return CreateExplosion(mInfo[m][mX], mInfo[m][mY], mInfo[m][mZ], 1, 10.0), GameTextForPlayer(playerid, "BUUM!", 5000, 2);
        }
    }
    return 1;
}

forward Explodir(minaid);
public Explodir(minaid)
{
    mInfo[minaid][Exploda] = true;
    return 1;
}
Reply
#5

CidadeNova, eu nгo queria fazer um comando, apenas por varias coordenadas, e se o player passasse perte dessas cordenadas, explodisse.
Reply
#6

Ue, so fazer no playerupdate

pawn Код:
public OnPlayerUpdate(playerid)
{
   If(IsPlayerInRangeOfPoint(playerid, 1.0, x, y, z)) // Escolha as coordenadas
   {
   CreateExplosion(x, y, z, 12, 10.0); // COloque as mesmas coordenadas para ocorrer a explosгo
   }
   return 1;
}
vai fazendo isso com vбrias minas, optimizando o code
Reply
#7

Certo, valeu. jaja irei tentar
Reply
#8

Quote:
Originally Posted by Felipe_Wesker
Посмотреть сообщение
Certo, valeu. jaja irei tentar
Disponha .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)