#1

Buenas A todos
Lo QUe QUiero Es Saber COmo Hacer POr Ejemplo Un Cmd /Mina
Y Que Ponga Una Mina En EL Suelo
y Al Pasar Alguien Por Esa Cordenada La Mina Explote Y El Objeto Se Borre
Pero Que Tambien Se Puedan Poner Muchas Minas
Si Alguien Me Puede Ayudar Y Me Puede dar Un Ajemplo Muchas Gracas
A Todos
Saludos
Reply
#2

Podria ser asi:
pawn Код:
#include <a_samp>

forward Mina();
new oMina, Float:x, Float:y, Float:z;

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/mina", cmdtext, true, 10) == 0)
    {
        new Float:a;
        GetPlayerPos(playerid, x, y, z);
        GetPlayerFacingAngle(playerid, a);
        oMina = CreateObject(364, x, y, x, 0.0, 0.0, a);
        Mina();
        return 1;
    }
    return 0;
}
public Mina()
{
    for(new i = 0; i < MAX_PLAYERS; i++) {
        if(IsPlayerInRangeOfPoint(i, 7.0, x, y, z))
        {
            CreateExplosion(x, y , z, 7,10.0);
            SendClientMessage(i, 0x000000AA, "Entraste en un campo minado, moriste.");
            DestroyObject(oMina);
        }
    }
}
No estoy seguro, pero lo puedes probar.
NOTA: no tengo mi gta sa, por eso no lo pruebo.
Reply
#3

Hay un problema con el script de [M]xFire, solo verificarб si algъn jugador esta cerca una vez. Para que se verifique hasta que un jugador pase por la mina, vas a necesitar un timer.
pawn Код:
#include <a_samp>

forward Mina();
new oMina, Float:x, Float:y, Float:z, Temporizador; // Creamos variable para el timer.

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/mina", cmdtext, true, 10) == 0)
    {
        new Float:a;
        KillTimer(Temporizador); // Para que no haya ningъn error.        
        GetPlayerPos(playerid, x, y, z);
        GetPlayerFacingAngle(playerid, a);
        oMina = CreateObject(364, x, y, x, 0.0, 0.0, a);
        Temporizador = SetTimer("Mina", 999, true); // La funciуn mina se repetira dada 999 milesimas de segundo hasta que se elimine el timer.
        return 1;
    }
    return 0;
}
public Mina()
{
    for(new i = 0; i < MAX_PLAYERS; i++) {
        if(IsPlayerInRangeOfPoint(i, 7.0, x, y, z))
        {
            CreateExplosion(x, y , z, 7,10.0);
            SendClientMessage(i, 0x000000AA, "Entraste en un campo minado, moriste.");
            DestroyObject(oMina);
            KillTimer(Temporizador); // Si el jugador pisa la mina, destruimos el timer.
        }
    }
}
Reply
#4

No recorde lo de el Timer, pero gracias Miguel!
Reply
#5

En Donde Pongo El Public ??
Reply
#6

Quote:
Originally Posted by agilaxnegrax
Посмотреть сообщение
En Donde Pongo El Public ??
En donde quieras, solo pon el "forward" primero que el public
Reply
#7

Me Salen 103 warning
Reply
#8

Postйalos.
Reply
#9

MM
Ya Lo Arregle xD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)