SA-MP Forums Archive
Ayuda con.. - 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: Ayuda con.. (/showthread.php?tid=187383)



Ayuda con.. - Pepot - 02.11.2010

Buenas, pues mirar, estoy haciendo un server de zombies desde 0 (ya llevo mucho), y me gustaria saver, como hacer un sistema de mordidas, osea:

si clickea click de apuntar un zmb muerda y quite vida al que hay al lado sullo (el que hay al lado sullo es humano)

y que haga una animaciуn que parezca que muerda..

saludos, espero ke me puedan ayudar..


Re: Ayuda con.. - Miguel - 02.11.2010

Usa el callback "OnPlayerKeyStateChange", allн comprueba si el jugador presionу el botуn, si lo hizo busca el jugador mбs cercano, si el jugador mбs cercano estб a menos de x distancia, hacer que el jugador mire a la victima, aplicar animaciуn, quitar vida a la victima (jugador mбs cercano) y enviar mensajes y cosas.

Ejemplo:
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys & KEY_FIRE)
    {
        new
            id = BuscarJugadorMasCercano(playerid); // Esta funciуn la tienes que buscar.
            Float:x,
            Float:y,
            Float:z;
           
        GetPlayerPos(id, x, y, z);
        if(IsPlayerInRangeOfPoint(playerid, DISTANCIA_MINIMA, x, y, z)) // Tienes que sustituir DISTANCIA_MINIMA por la distancia minima a que se muerde.
        {
            new
                string[46];
                Float:health;
               
            GetPlayerHealth(id, health);
            SetPlayerHealth(id, health - CANTIDAD_DE_VIDA_QUE_SE_QUITA); // Sustituir cantidad de vida que se quita por eso mismo.
            ApplyAnimation(parametros...); // Cambia parametros por los parametros reales de ApplyAnimation.
            format(string, sizeof(string), "Has sido infectado por el jugador nъmero: %d", playerid);
            SendClientMessage(id, 0xFFFFFFFF, string);
            format(string, sizeof(string), "Has infectado al jugador nъmero: %d", id);
            SendClientMessage(playerid, 0xFFFFFFFF, string);
        }
    }
    return 1;
}



Respuesta: Ayuda con.. - Pepot - 02.11.2010

Pero, podrias decirme como? porfavor, esque no entiendo..
mhh, si, pero podrias decirme una animaciуn que parezca que muerde? porfavor...


Re: Ayuda con.. - Miguel - 02.11.2010

Puse un ejemplo arriba, revнsalo y busca las funciones que necesites. Creo que si llevas algъn tiempo desarrollando tu servidor podrбs hacerlo.


Respuesta: Ayuda con.. - Pepot - 02.11.2010

mhh, si, pero podrias decirme una animaciуn que parezca que muerde? porfavor...

si, intentare con eso, pero podrias decirme una buena animaciуn para hacerlo?


Re: Respuesta: Ayuda con.. - Miguel - 02.11.2010

Quote:
Originally Posted by Pepot
Посмотреть сообщение
mhh, si, pero podrias decirme una animaciуn que parezca que muerde? porfavor...

si, intentare con eso, pero podrias decirme una buena animaciуn para hacerlo?
No tengo idea, tendrбs que buscarla tu mismo.

Mira esto: http://spelsajten.net/animation_names.inc

Si sabes un poquito de inglйs, encontrarбs la que necesites.


Respuesta: Ayuda con.. - Pepot - 02.11.2010

ok, aver si lo encuentro


Re: Ayuda con.. - Miguel - 02.11.2010

Por cierto, cuando uses el cуdigo vas a tener que buscar una forma de regular cuantas mordidas puedes hacer por cada x tiempo. En el ejemplo que yo te dн, si presionas click 8 veces en un segundo, ocho veces se le va a quitar la vida al jugador y ocho veces lo vas a infectar. Tambiйn vas a necesitar una variable para establecer si el jugador estб infectado o no.


Respuesta: Ayuda con.. - Pepot - 03.11.2010

, wow no lo entiendo, podrias hacermelo? xD
asi ya aprendo para hacer otras cosillas


Re: Respuesta: Ayuda con.. - Miguel - 03.11.2010

Quote:
Originally Posted by Pepot
Посмотреть сообщение
, wow no lo entiendo, podrias hacermelo? xD
asi ya aprendo para hacer otras cosillas
No. Puedes leer tutoriales, guнas, modificar scripts, leerlos y estudiarlos, pero lo que menos te enseсa es que entreguen las cosas en bandeja de plata.

Si quieres que te lo haga otro, simplemente ponlo en "Pedidos de Scripts", allн seguro alguien te lo hace.