SA-MP Forums Archive
Minas - 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: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Minas (/showthread.php?tid=190260)



Minas - agilaxnegrax - 14.11.2010

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


Respuesta: Minas - [M]xFire - 14.11.2010

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.


Re: Minas - Miguel - 14.11.2010

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



Respuesta: Minas - [M]xFire - 14.11.2010

No recorde lo de el Timer, pero gracias Miguel!


Re: Minas - agilaxnegrax - 14.11.2010

En Donde Pongo El Public ??


Respuesta: Re: Minas - [M]xFire - 14.11.2010

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


Re: Minas - agilaxnegrax - 14.11.2010

Me Salen 103 warning


Re: Minas - CristianTdj - 14.11.2010

Postйalos.


Re: Minas - agilaxnegrax - 14.11.2010

MM
Ya Lo Arregle xD