30.03.2014, 14:51
(
Последний раз редактировалось Glimma; 24.08.2014 в 22:26.
)
Bueno, hace mбs de un aсo hice un sistema de daсos avanzado, el cual tiene el mismo funcionamiento que el de ahora, solo que antes lo hice mediante vectores y ahora lo ъnico que hice fue quitar los vectores y aprovechar el bodypart de la callback OnPlayerTakeDamage, y como me fui de SA-MP y de la programaciуn tambiйn, decido liberarlo, como ya dije, antes funcionaba bien con los vectores, aunque no tan preciso, y supongo que con esto de las bodypart es mбs que preciso.
Con respecto a la fuerza, hice un comando para darla y otra para ver la fuerza de cada uno, la ъnica forma de conseguirla es mediante el comando que hice, pero ustedes pueden crear un sistema que otorgue fuerza por hacer X cosa, yo en el GM de AM-RP habнa hecho que la fuerza se obtenga mediante el gimnasio, pero no lo apliquй la filterscript porque no quiero irme tanto de la idea.
Los daсos fнsicos, varнan segъn el arma utilizada, puede ser un arma blanca o un arma de fuego, con el tema de las armas blancas, el daсo va a variar segъn la fuerza del agresor y la zona en la que se produce el impacto, por ejemplo, al golpear con un bate en la cabeza y el agresor tiene mucha fuerza, se producirб un gran daсo. La ъnica arma blanca que mata de un solo impacto es la katana, y solo cuando se produce en la cabeza, sin importar la fuerza del agresor. Yendo al tema de las armas de fuego, lo que variarб serб el arma utilizada y tambiйn en la parte del cuerpo en la cual se efectъa el disparo, ademбs que al recibir un disparo se verб un textdraw rojo instantбneo, simulando un efecto de impacto. Con un disparo en la cabeza de cualquier arma de fuego, se produce la muerte instantбnea.
Cuando se golpea con la culata de un arma de fuego por acercamiento ('culatazo') se producirб un daсo variando la fuerza del agresor, como si fuese un arma blanca.
El sistema estб claramente ambientado para un roleplay, si se quiere usar lo de fuerza, tendrнan que (recomendablemente) colocar la variable Fuerza dentro del enum donde se almacena la informaciуn del jugador, y posteriormente incluir dicha variable en el guardado de datos, para que la fuerza quede fija. Gracias a esto nuevo de la sicronizaciуn ("anti-lag shoot"), el sistema puede ser aъn mбs realista. Otra cosa muy importante, si tienen un anticheat de vida / salud, tendrнan que usar su funciуn de establecer vida (si es que la tienen, que suele estar SetPlayerHealth y la variable de vida del jugador, la cual es asignada, y que se les aplica a ambas el mismo valor) o bien, asignar abajo de SetPlayerHealth la actualizaciуn de la variable de vida del jugador, y bueno, obviamente el guardado de vida, que todos los roleplay tienen.
Nota: Se recomienda descargar por mediafire, ya que incluye los includes que utilicй, pero si ya los tienen pueden usar el enlace de Pastebin / Paste2. Si no tienen los includes pero tampoco quiere usarlos simplemente sabrбn como quitar las funciones concernientes a los includes.
Descarga;
Mediafire
Pastebin
Paste2
Prуxima actualizaciуn;
- Optimizaciуn.
- Efectos secundarios (como por ejemplo un random de mareo al recibir un golpe con arma blanca) y una posibilidad de noqueo con ciertos tipos de armas blancas.
- Daсo por atropellamientos, choques automovilнsticos y caнdas.
- Variaciуn del daсo con armas de fuego segъn la distancia en la que se efectъa el disparo (mientras mбs cerca, mayor daсo).
Crйditos;
DeadSkyTkb (idea, cуdigo)
CaptainMacTavish (por el siguiente cуdigo que me aportу como base hace dos aсos):
Con respecto a la fuerza, hice un comando para darla y otra para ver la fuerza de cada uno, la ъnica forma de conseguirla es mediante el comando que hice, pero ustedes pueden crear un sistema que otorgue fuerza por hacer X cosa, yo en el GM de AM-RP habнa hecho que la fuerza se obtenga mediante el gimnasio, pero no lo apliquй la filterscript porque no quiero irme tanto de la idea.
Los daсos fнsicos, varнan segъn el arma utilizada, puede ser un arma blanca o un arma de fuego, con el tema de las armas blancas, el daсo va a variar segъn la fuerza del agresor y la zona en la que se produce el impacto, por ejemplo, al golpear con un bate en la cabeza y el agresor tiene mucha fuerza, se producirб un gran daсo. La ъnica arma blanca que mata de un solo impacto es la katana, y solo cuando se produce en la cabeza, sin importar la fuerza del agresor. Yendo al tema de las armas de fuego, lo que variarб serб el arma utilizada y tambiйn en la parte del cuerpo en la cual se efectъa el disparo, ademбs que al recibir un disparo se verб un textdraw rojo instantбneo, simulando un efecto de impacto. Con un disparo en la cabeza de cualquier arma de fuego, se produce la muerte instantбnea.
Cuando se golpea con la culata de un arma de fuego por acercamiento ('culatazo') se producirб un daсo variando la fuerza del agresor, como si fuese un arma blanca.
El sistema estб claramente ambientado para un roleplay, si se quiere usar lo de fuerza, tendrнan que (recomendablemente) colocar la variable Fuerza dentro del enum donde se almacena la informaciуn del jugador, y posteriormente incluir dicha variable en el guardado de datos, para que la fuerza quede fija. Gracias a esto nuevo de la sicronizaciуn ("anti-lag shoot"), el sistema puede ser aъn mбs realista. Otra cosa muy importante, si tienen un anticheat de vida / salud, tendrнan que usar su funciуn de establecer vida (si es que la tienen, que suele estar SetPlayerHealth y la variable de vida del jugador, la cual es asignada, y que se les aplica a ambas el mismo valor) o bien, asignar abajo de SetPlayerHealth la actualizaciуn de la variable de vida del jugador, y bueno, obviamente el guardado de vida, que todos los roleplay tienen.
Nota: Se recomienda descargar por mediafire, ya que incluye los includes que utilicй, pero si ya los tienen pueden usar el enlace de Pastebin / Paste2. Si no tienen los includes pero tampoco quiere usarlos simplemente sabrбn como quitar las funciones concernientes a los includes.
Descarga;
Mediafire
Pastebin
Paste2
Prуxima actualizaciуn;
- Optimizaciуn.
- Efectos secundarios (como por ejemplo un random de mareo al recibir un golpe con arma blanca) y una posibilidad de noqueo con ciertos tipos de armas blancas.
- Daсo por atropellamientos, choques automovilнsticos y caнdas.
- Variaciуn del daсo con armas de fuego segъn la distancia en la que se efectъa el disparo (mientras mбs cerca, mayor daсo).
Crйditos;
DeadSkyTkb (idea, cуdigo)
CaptainMacTavish (por el siguiente cуdigo que me aportу como base hace dos aсos):
pawn Код:
public OnPlayerConnect(playerid)
{
SetPlayerTeam(playerid, 1); //para que al disparar no haya daсos, es decir, todos en un mismo equipo y el daсo es procesado server-side
return 1;
}
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
static Float:damage, Float:health, Float:armour;
if(issuerid != INVALID_PLAYER_ID)
{
if(amount == 2.64)
{
damage = 60.0;
}
else
{
switch(weaponid)
{
case 31: damage = 40.0;
case 34: damage = 200.0
}
GetPlayerHealth(playerid, health);
GetPlayerArmour(playerid, armour);
if(armour)
{
if(armour > damage) SetPlayerArmour(playerid, armour-damage);
else
{
SetPlayerArmour(playerid, 0.0);
armour = damage-armour;
if(armour >= health) SetPlayerHealth(playerid, 0.0);
else SetPlayerHealth(playerid, health-armour);
}
}
else
{
if(health > damage) SetPlayerHealth(playerid, health-damage);
else SetPlayerHealth(playerid, 0.0);
}
}
return 1;
}