11/05/2020, 06:01 PM
(Última modificación: 11/05/2020, 09:28 PM por rojedafeik. Edited 5 times in total.
Razón: Cositas cambiadas
)
Omae Wa Mou Shindeiru (suicidio)
Descripción:
Plugin sencillo en el cual podemos suicidarnos al estilo del meme Omae Wa Mou Shindeiru, originario del manga Fist of the North Star.
He aquí el origen:
Comando:
say .nani
Vídeo de demostración:
Requerido: [INC] Director Hud Message
Código Sugerencias agregadas
Código PHP:
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <dhudmessage>
#define PLUGIN "Omae Wa Mou Shindeiru (suicide)"
#define VERSION "1.0"
#define AUTHOR "Rojeda"
enum
{
SFADE_ENTRADA = 1,
SFADE_SALIDA
};
new boom,mdl_gib_flesh, mdl_gib_head, mdl_gib_legbone, mdl_gib_lung, mdl_gib_meat, mdl_gib_spine
new Float: g_Angles[33][3];
new const ENT_SPRITE2[] = "sprites/zerogxplode.spr"
new const omaewa_sound[] = "nani.wav"
new bool:Activo[33];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say .nani", "omaewa")
register_clcmd( "say_team .nani", "omaewa")
RegisterHam(Ham_TakeDamage, "player", "fwd_TakeDamage");
}
public plugin_precache()
{
boom = precache_model(ENT_SPRITE2);
mdl_gib_flesh = precache_model("models/Fleshgibs.mdl")
mdl_gib_head = precache_model("models/GIB_Skull.mdl")
mdl_gib_legbone = precache_model("models/GIB_Legbone.mdl")
mdl_gib_lung = precache_model("models/GIB_Lung.mdl")
mdl_gib_meat = precache_model("models/GIB_B_Gib.mdl")
mdl_gib_spine = precache_model("models/GIB_B_Bone.mdl")
precache_sound(omaewa_sound)
}
public omaewa(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED
if(Activo[id] == true)
{
return PLUGIN_HANDLED
}
else
{
Activo[id] = true;
if(user_has_weapon(id,CSW_C4))
engclient_cmd(id, "drop", "weapon_c4")
//Congelar (Sacado del Shoop da Whoop Slay by: hlstriker)
set_pev(id, pev_movetype, MOVETYPE_NOCLIP);
set_pev(id, pev_solid, SOLID_NOT);
set_pev(id, pev_velocity, Float:{0.0,0.0,0.0});
engfunc(EngFunc_SetClientMaxspeed, id, 0.1);
pev(id, pev_v_angle, g_Angles[id]);
strip_user_weapons(id)
set_task(3.0, "nani", id)
client_cmd(id,"spk sound/nani.wav")
client_cmd(id, "spk ^"%s^"", omaewa_sound)
screen_fade(id, 0, 0, 0, 0, 2, 1, SFADE_ENTRADA, 0)
set_dhudmessage(255, 255, 255, -1.0, 0.28, 2, 3.0, 0.2, 0.1, 0.3);
show_dhudmessage(id,"Omae Wa Mou Shindeiru")
}
return PLUGIN_HANDLED
}
public nani(id)
{
set_task(3.2, "kill",id)
set_dhudmessage(255, 255, 255, -1.0, 0.28, 2, 3.0, 0.2, 0.1, 0.3);
show_dhudmessage(id,"Nani!??")
set_task(1.7,"shake",id)
}
public shake(id)
{
shake_user_screen(id)
screen_fade(id, 255, 0, 0, 50, 3, 0, SFADE_ENTRADA, 0)
}
public kill(id,ent,shouldgib)
{
static iOrigin[3]
get_origin_int(id,iOrigin)
fx_gib_explode(iOrigin)
CreateExplosion(id)
ExecuteHam(Ham_TakeDamage, id, 0, 0, 9999.0, 0);
Activo[id] = false;
remove_task(id)
}
public client_disconnect(id)
{
remove_task(id)
}
/////////////////////////////////STOCKS///////////////////////////////////////////////
//Screenfade by Mario AR.
stock screen_fade(id = 0, rojo = 255, verde = 255, azul = 255, transparencia = 0, duracion = 5, tiempo_fade = 0, tipo_fade = SFADE_ENTRADA, modulado = 0)
{
static msgScreenFade;
if (!msgScreenFade)
msgScreenFade = get_user_msgid("ScreenFade");
if (modulado)
tipo_fade |= 2;
if (duracion <= -1)
{
tipo_fade |= 4;
duracion = 1;
}
message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgScreenFade, _, id);
write_short(1+(tiempo_fade*4096));
write_short(1+(duracion*4096));
write_short(tipo_fade);
write_byte(rojo);
write_byte(verde);
write_byte(azul);
write_byte(255-(255*transparencia)/100);
message_end();
}
stock shake_user_screen(id)
{
message_begin(MSG_ONE, get_user_msgid("ScreenShake"), {0,0,0}, id); // Shake Screen
write_short(1<<15);
write_short(1<<15);
write_short(1<<15);
message_end();
}
//Explosion (Sacado de Suicidio Explosivo v1.2 by: Metrikcz)
CreateExplosion(iCurrent)
{
new Float:vOrigin[3];
pev(iCurrent,pev_origin,vOrigin);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(99);
write_short(iCurrent);
message_end();
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, vOrigin, 0);
write_byte(TE_EXPLOSION);
engfunc(EngFunc_WriteCoord,vOrigin[0]);
engfunc(EngFunc_WriteCoord,vOrigin[1]);
engfunc(EngFunc_WriteCoord,vOrigin[2]);
write_short(boom);
write_byte(200);
write_byte(10);
write_byte(0);
message_end();
}
static get_origin_int(index, origin[3])
{
new Float:FVec[3]
pev(index,pev_origin,FVec)
origin[0] = floatround(FVec[0])
origin[1] = floatround(FVec[1])
origin[2] = floatround(FVec[2])
return 1
}
static fx_gib_explode(origin[3])
{
new flesh[3]
flesh[0] = mdl_gib_flesh
flesh[1] = mdl_gib_meat
flesh[2] = mdl_gib_legbone
// Gib explosion
// Head
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(TE_MODEL)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(random_num(-100,100))
write_coord(random_num(-100,100))
write_coord(random_num(100,200))
write_angle(random_num(0,360))
write_short(mdl_gib_head)
write_byte(0) // bounce
write_byte(500) // life
message_end()
// Spine
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(TE_MODEL)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(random_num(-100,100))
write_coord(random_num(-100,100))
write_coord(random_num(100,200))
write_angle(random_num(0,360))
write_short(mdl_gib_spine)
write_byte(0) // bounce
write_byte(500) // life
message_end()
// Lung
for(new i = 0; i < random_num(1,2); i++) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(TE_MODEL)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(random_num(-100,100))
write_coord(random_num(-100,100))
write_coord(random_num(100,200))
write_angle(random_num(0,360))
write_short(mdl_gib_lung)
write_byte(0) // bounce
write_byte(500) // life
message_end()
}
// Parts, 10 times
for(new i = 0; i < 10; i++) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(TE_MODEL)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(random_num(-100,100))
write_coord(random_num(-100,100))
write_coord(random_num(100,200))
write_angle(random_num(0,360))
write_short(flesh[random_num(0,2)])
write_byte(0) // bounce
write_byte(500) // life
message_end()
}
}