Enviar respuesta 
[ TTT ] Item: Skeleton Gun
Autor Mensaje
SthoNy' Sin conexión
Miembro Sr.


Mensajes: 295
Registro en: Apr 2015
Reputación: 4
Mensaje: #1
[ TTT ] Item: Skeleton Gun
[ TTT ] Item: Skeleton Gun

Descripción:
- Item especial utilizado para convertir en esqueleto a la victima emitiendo un sonido de horror y luego de 4 segundos (configurable por variable) la victima logra morir, los segundos fueron agregados para que la victima tenga ese tiempo para reaccionar y localizar al enemigo en ese corto tiempo y así poder vengar su propia muerte puede tratar de avisar quien fue su asesino, que ya después de haber sido atacado con esa arma es inevitable morirÁngel

Libreria:
Código PHP:
#include <amxmodx>
#include <hamsandwich>
#include <cs_player_models_api>
#include <engine>
#include <cs_weapons_api>
#include <fun>
#include <amx_settings_api>
#include <ttt> 

Requerimientos:

Código:
Código PHP:
#include <engine>
#include <cs_weapons_api>
#include <fun>
#include <amx_settings_api>
#include <ttt>

#define WEAPON_CSWID CSW_DEAGLE
#define WEAPON_NAME "weapon_deagle"
#define MODEL_NAME "skeleton"

new g_SkeletonGung_pMsgScreenFadeg_pMsgScreenShakeg_MaxPlayersg_Attacker[33];
new 
g_szFiles[5][TTT_FILELENGHT], Cvars[7];

public 
plugin_precache()
{
    const 
cantCases 5;
    new 
szTypeFile[15], szPath[29];
    
    for( new 
0cantCasesi++ )
    {
        switch(
i)
        {
            case 

            {
                
szTypeFile "MODEL_V";
                
szPath "models/ttt/v_skeletongun.mdl";
            }
            case 
:
            {
                
szTypeFile "MODEL_P";
                
szPath "models/ttt/p_skeletongun.mdl";    
            }
            case 
:
            {
                
szTypeFile "MODEL_W";
                
szPath "models/ttt/w_skeletongun.mdl";        
            }
            case 
:
            {
                
szTypeFile "SOUND_HORROR";
                
szPath "ttt/horror.wav";        
            }
            case 
:
            {
                
szTypeFile "MODEL_SKELETON";
                
szPath = ("models/player/%s/%s.mdl"MODEL_NAMEMODEL_NAME);        
            }
        }    

        if( !
amx_load_setting_string(TTT_SETTINGSFILE"SKELETON GUN"szTypeFileg_szFiles[i], charsmax(g_szFiles[])) )
        {
            
g_szFiles[i] = szPath;
            
amx_save_setting_string(TTT_SETTINGSFILE"SKELETON GUN"szTypeFileg_szFiles[i]);
        }
        
        if( 
szTypeFile[0] == 'M')
            
precache_model(g_szFiles[i]);   
        else
            
precache_sound(g_szFiles[i]);
    }


public 
plugin_init()
{
    
register_plugin("[TTT] Item: Skeleton Gun"TTT_VERSION"SthoNy'");
    
    
Cvars[0]    = my_register_cvar("ttt_skeleton_clip",        "1",    "Skeleton gun clip ammo. (Default: 1)");
    
Cvars[1]    = my_register_cvar("ttt_skeleton_ammo",        "0",    "Skeleton gun backpack ammo. (Default: 0)");
    
Cvars[2]    = my_register_cvar("ttt_skeleton_speed",        "10.0",    "Skeleton gun attack speed delay. (Default: 10.0)");
    
Cvars[3]    = my_register_cvar("ttt_skeleton_reload",    "0.0",    "Skeleton gun reload speed. (Default: 0.0)");
    
Cvars[4]    = my_register_cvar("ttt_skeleton_recoil",    "0.0",    "Skeleton gun recoil. (Default: 0.0)");
    
Cvars[5]    = my_register_cvar("ttt_price_skeleton",        "2",    "Skeleton gun price. (Default: 2)");
    
Cvars[6]    = my_register_cvar("ttt_time_killed""4.0""Skeleton gun time to killed (Default: 4.0)");
    
    
g_MaxPlayers get_maxplayers();
    
g_pMsgScreenFade                                get_user_msgid("ScreenFade");
    
g_pMsgScreenShake                                get_user_msgid("ScreenShake");
}

public 
client_disconnect(idremove_task(id);

public 
ttt_plugin_cfg()    g_SkeletonGun ttt_buymenu_add"Skeleton Gun"get_pcvar_num(Cvars[5]), PC_TRAITOR);

public 
ttt_gamemode(gamemode)
{    
    if(
gamemode == GAME_ENDED || gamemode == GAME_RESTARTING)
    {    
        for( new 
1<= g_MaxPlayersi++ )
        {
            
            
remove_task(i);
            
        }
    }
}
public 
ttt_item_selected(iditemname[], price)
{
    if(
g_SkeletonGun == item)
    {
        if(
user_has_weapon(idWEAPON_CSWID))
            
engclient_cmd(id"drop"WEAPON_NAME);
        
        static 
data[STOREABLE_STRUCTURE];
        if(!
data[STRUCT_CSWA_CSW])
        {
            
data[STRUCT_CSWA_ITEMID] = g_SkeletonGun;
            
data[STRUCT_CSWA_CSW] = WEAPON_CSWID;
            
data[STRUCT_CSWA_CLIP] = get_pcvar_num(Cvars[0]);
            
data[STRUCT_CSWA_MAXCLIP] = get_pcvar_num(Cvars[0]);
            
data[STRUCT_CSWA_AMMO] = get_pcvar_num(Cvars[1]);
            
data[STRUCT_CSWA_STACKABLE] = true;
            
data[STRUCT_CSWA_SILENCED] = -1;
            
data[STRUCT_CSWA_SPEEDDELAY] = _:get_pcvar_float(Cvars[2]);
            
data[STRUCT_CSWA_DAMAGE] = _:0;
            
data[STRUCT_CSWA_RELOADTIME] = _:get_pcvar_float(Cvars[3]);
            
data[STRUCT_CSWA_RECOIL] = _:get_pcvar_float(Cvars[4]);
            
data[STRUCT_CSWA_MODEL_V] = g_szFiles[0];
            
data[STRUCT_CSWA_MODEL_P] = g_szFiles[1];
            
data[STRUCT_CSWA_MODEL_W] = g_szFiles[2];
        }
        
        
cswa_give_specific(iddata);
        
        
client_print_color(idprint_team_default"%s Compraste una ^4Skeleton Gun!"TTT_TAG);
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
cswa_damage(weapon_idvictimattackerFloat:damage)
{    
    if(
get_weapon_edict(weapon_idREPL_CSWA_ITEMID) == g_SkeletonGun)
    {    
        
client_print_colorvictimprint_team_default"%s Te han disparado con una ^4Skeleton Gun ^1Preparate para ser llevado al ^3INFIERNO^4!"TTT_TAG);
        
        
g_Attacker[victim] = attacker;
        
        
cs_set_player_model(victimMODEL_NAME);
        
        
emit_sound(victimCHAN_AUTOg_szFiles[3], 1.0ATTN_NORM0PITCH_NORM);
        
set_taskget_pcvar_float(Cvars[6]), "Killed"victim);
        
        
Set_user_screenfade(victim85422554100);
        
shake_user_screen(victim);
    }
}
public 
Killed(id)
{
    if( !
is_user_alive(id) || ttt_get_gamemode() == GAME_ENDED || ttt_get_gamemode() == GAME_PREPARING || !is_user_connected(g_Attacker[id]) )
        return 
PLUGIN_HANDLED;
    
    
strip_user_weapons(id);
    
ExecuteHam(Ham_TakeDamageidg_Attacker[id], g_Attacker[id], 150.0DMG_BLAST);
    
remove_task(id);
    
    return 
PLUGIN_HANDLED;
}


public 
Set_user_screenfade(indexrrrgggbbbduracionalpha)
{
    
message_beginindex MSG_ONE_UNRELIABLE MSG_BROADCASTg_pMsgScreenFade_index );
    
write_shortduracion 4096 );
    
write_shortduracion 4096 );
    
write_short0x0000 );
    
write_byterrr ); 
    
write_byteggg );
    
write_bytebbb ); 
    
write_bytealpha );
    
message_end( );    
}
stock shake_user_screen(index)
{
    
message_begin(MSG_ONEg_pMsgScreenShake, {0,0,0}, index);
    
write_short(1<<14);
    
write_short(1<<14);
    
write_short(1<<14);
    
message_end();


Models y sonido

PD: Es MUY IMPORTANTE utilizar la api Player Models que dejé en los requerimientos ya que utilicé esa api para evitar la caída del servidor con el bug ese de cambiarse de model, Sí piensan utilizar este item tendrán que empezar setear el models con esta api ya que funcionaría mucho mejor Mario

PD2: tengo varios addons por ahí que desde mi punto de vista son buenísimos pero para poder compartirlos tendría que echarles un ojo ya que los hice hace mucho y no creo que los haya hecho de la mejor maneraWhatever


Archivo(s) adjuntos
ttt_item_skeleton_gun.sma (Descargar compilado / Tamaño: 5.67 KB / Descargas: 9)

Mis Aportes:

[ TTT ] Item: Target Gun

[ TTT ] Item: Skeleton Gun (New)
[ TTT ] Item: Pipe Bomb
[ TTT ] Item: Inverse Golden
Image Image
Pregúntate si lo que estás haciendo hoy te acerca a el lugar en el que quieres estar mañana. Corazón
(Este mensaje fue modificado por última vez en: 02/10/2019 08:48 PM por SthoNy'.)
21/09/2019 02:51 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kikizon2 Sin conexión
Miembro Héroe


Plugin developer Donador Regalo Beta Tester Trebol purpura 1k Plugin popular
Mensajes: 3,763
Registro en: Jan 2014
Reputación: 63
Mensaje: #2
RE: [ TTT ] Item: Skeleton Gun
Buen plugin, pero ese precache no me convence Whatever


NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook

(23/09/2019 05:39 PM)Santax escribió:  Jjkajkjkaajk Nesecito Aiuda,Pinches Niños Ratas De Hoy En Dia Ya Ni Respetan.
21/09/2019 08:43 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
SthoNy' Sin conexión
Miembro Sr.


Mensajes: 295
Registro en: Apr 2015
Reputación: 4
Mensaje: #3
RE: [ TTT ] Item: Skeleton Gun
(21/09/2019 08:43 PM)kikizon2 escribió:  Buen plugin, pero ese precache no me convence Whatever

que es lo que no te convence? me caería bien una sugerencia tuya

Mis Aportes:

[ TTT ] Item: Target Gun

[ TTT ] Item: Skeleton Gun (New)
[ TTT ] Item: Pipe Bomb
[ TTT ] Item: Inverse Golden
Image Image
Pregúntate si lo que estás haciendo hoy te acerca a el lugar en el que quieres estar mañana. Corazón
22/09/2019 06:08 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kikizon2 Sin conexión
Miembro Héroe


Plugin developer Donador Regalo Beta Tester Trebol purpura 1k Plugin popular
Mensajes: 3,763
Registro en: Jan 2014
Reputación: 63
Mensaje: #4
RE: [ TTT ] Item: Skeleton Gun
El loop no me convence no se me hace muy legible, ademas tienes que asignarle un id al task, y removerlo en disconnect para evitar errores.

Lo demás lo veo perfecto bien.


NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook

(23/09/2019 05:39 PM)Santax escribió:  Jjkajkjkaajk Nesecito Aiuda,Pinches Niños Ratas De Hoy En Dia Ya Ni Respetan.
22/09/2019 06:26 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
SthoNy' Sin conexión
Miembro Sr.


Mensajes: 295
Registro en: Apr 2015
Reputación: 4
Mensaje: #5
RE: [ TTT ] Item: Skeleton Gun
(22/09/2019 06:26 AM)kikizon2 escribió:  El loop no me convence no se me hace muy legible, ademas tienes que asignarle un id al task, y removerlo en disconnect para evitar errores.

Lo demás lo veo perfecto bien.

Pues si, es muy poco legible pero lo tuve que hacer así ya que lo que e tratado de hacer es optimizar un poco más el mod ya que sí lo viste no está hecho de la mejor forma, claro que no es mucho lo que se optimiza en este item pero es un grano de arena menos pero sí es de dar una versión más legible lo puedo hacer y que lo usen dependiendo de que manera se sientan más cómodo.

Lo de agregarle el id al task se me había olvidado pero cuando esté en mi compu lo hago también, gracias por tus sugerenciasMario

Mis Aportes:

[ TTT ] Item: Target Gun

[ TTT ] Item: Skeleton Gun (New)
[ TTT ] Item: Pipe Bomb
[ TTT ] Item: Inverse Golden
Image Image
Pregúntate si lo que estás haciendo hoy te acerca a el lugar en el que quieres estar mañana. Corazón
06/10/2019 09:32 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Ballers Sin conexión
Miembro Sr.


Trebol de oro
Mensajes: 399
Registro en: Sep 2016
Reputación: 0
Mensaje: #6
RE: [ TTT ] Item: Skeleton Gun
Muy buena idea!
07/10/2019 12:52 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Enviar respuesta 


Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)

Contáctanos | Allied Modders en español | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS