SA-MP Forums Archive
[Ajuda]Campo Minado - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda]Campo Minado (/showthread.php?tid=339222)



[Ajuda]Campo Minado - Felipe_Wesker - 02.05.2012

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


Re: [Ajuda]Campo Minado - KinX - 02.05.2012

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


Re: [Ajuda]Campo Minado - Felipe_Wesker - 02.05.2012

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


Re: [Ajuda]Campo Minado - CidadeNovaRP - 02.05.2012

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;
}



Re: [Ajuda]Campo Minado - Felipe_Wesker - 02.05.2012

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


Re: [Ajuda]Campo Minado - KinX - 02.05.2012

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


Re: [Ajuda]Campo Minado - Felipe_Wesker - 02.05.2012

Certo, valeu. jaja irei tentar


Re: [Ajuda]Campo Minado - CidadeNovaRP - 02.05.2012

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