Zplague
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Zplague Entrar

Seu portal de Zombie Plague no Brasil


description[Plugin] Foguete Empty[Plugin] Foguete

more_horiz
Descrição : plugin de transformar player em foguete apenas admin tem acesso 
Plugin : amx_rocket
Creditos: MtsLa!<3.L | dAsm.dll | f117bomb
Comandos: amx_rocket "nick do player"
Arquivos : .sma e .inc


-----------------------|| SMA ||-------------------------

Código:

/* AMX Mod script.
*
* (c) Copyright 2002-2003, f117bomb
* This file is provided as is (no warranties).
*/  

#include <    amxmodx >
#include <    amxmisc >
#include <    fun>
#include <    client_printcolor >

/*
* Makes user turn into a rocket and explode in the air with visual effects
* Usage: amx_rocket <authid, nick, @team or #userid>
*
*/

new  m_blueflare2,mflash,gmsgDamage,white,smoke,rocket_z[33]

/********************************** ROCKET FUNCTIONS *****************************/
public rocket_liftoff(svictim[])   {
    new victim = svictim[0]
    
    set_user_gravity(victim,-0.50)
    client_cmd(victim,"+jump;wait;wait;-jump")
    emit_sound(victim, CHAN_VOICE, "weapons/rocket1.wav", 1.0, 0.5, 0, PITCH_NORM)
    rocket_effects(svictim)
    
    return PLUGIN_CONTINUE
}

public rocket_effects(svictim[])   {
    new victim = svictim[0]
    
    if ( is_user_alive(victim) )   {
        new vorigin[3]
        get_user_origin(victim,vorigin)    
                
        message_begin(MSG_ONE, gmsgDamage, {0,0,0}, victim)
        write_byte(30) // dmg_save
        write_byte(30) // dmg_take
        write_long(1<<16) // visibleDamageBits
        write_coord(vorigin[0]) // damageOrigin.x
        write_coord(vorigin[1]) // damageOrigin.y
        write_coord(vorigin[2]) // damageOrigin.z
        message_end()    
        
        if(rocket_z[victim] == vorigin[2])    
            rocket_explode(svictim)        
        
        rocket_z[victim] = vorigin[2]    
        
        //Draw Trail and effects
            
        //TE_SPRITETRAIL - line of moving glow sprites with gravity, fadeout, and collisions
        message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
        write_byte( 15 )
        write_coord( vorigin[0]) // coord, coord, coord (start)
        write_coord( vorigin[1])
        write_coord( vorigin[2])
        write_coord( vorigin[0]) // coord, coord, coord (end)
        write_coord( vorigin[1])
        write_coord( vorigin[2] - 30)
        write_short( m_blueflare2 ) // short (sprite index)
        write_byte( 5 ) // byte (count)
        write_byte( 1 ) // byte (life in 0.1's)
        write_byte( 1 )  // byte (scale in 0.1's)
        write_byte( 10 ) // byte (velocity along vector in 10's)
        write_byte( 5 )  // byte (randomness of velocity in 10's)
        message_end()
        
        //TE_SPRITE - additive sprite, plays 1 cycle
        message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
        write_byte( 17 )
        write_coord(vorigin[0])  // coord, coord, coord (position)
        write_coord(vorigin[1])  
        write_coord(vorigin[2] - 30)
        write_short( mflash ) // short (sprite index)
        write_byte( 15 ) // byte (scale in 0.1's)  
        write_byte( 255 ) // byte (brightness)
        message_end()
        
        set_task(0.2, "rocket_effects" , 0 , svictim, 2)
    }
    
    return PLUGIN_CONTINUE    
}

public rocket_explode(svictim[])   {
    new victim = svictim[0]
            
    if ( is_user_alive(victim) )   {   /*If user is alive create effects and user_kill */
        new vec1[3]
        get_user_origin(victim,vec1)
        
        // blast circles
        message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)
        write_byte( 21 )
        write_coord(vec1[0])
        write_coord(vec1[1])
        write_coord(vec1[2] - 10)
        write_coord(vec1[0])
        write_coord(vec1[1])
        write_coord(vec1[2] + 1910)
        write_short( white )
        write_byte( 0 ) // startframe
        write_byte( 0 ) // framerate
        write_byte( 2 ) // life
        write_byte( 16 ) // width
        write_byte( 0 ) // noise
        write_byte( 188 ) // r
        write_byte( 220 ) // g
        write_byte( 255 ) // b
        write_byte( 255 ) //brightness
        write_byte( 0 ) // speed
        message_end()
        
        //Explosion2
        message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
        write_byte( 12 )
        write_coord(vec1[0])
        write_coord(vec1[1])
        write_coord(vec1[2])
        write_byte( 188 ) // byte (scale in 0.1's)
        write_byte( 10 ) // byte (framerate)
        message_end()
        
        //Smoke
        message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)
        write_byte( 5 )
        write_coord(vec1[0])
        write_coord(vec1[1])
        write_coord(vec1[2])
        write_short( smoke )
        write_byte( 2 )
        write_byte( 10 )
        message_end()    
        
        user_kill(victim,1)
    }
            
    
    //stop_sound
    emit_sound(victim, CHAN_VOICE, "weapons/rocket1.wav", 0.0, 0.0, (1<<5), PITCH_NORM)
    
    set_user_maxspeed(victim,1.0)    
    set_user_gravity(victim,1.00)

    return PLUGIN_CONTINUE
}


public rocket_player(id,level,cid) {
    if (!cmd_access(id,level,cid,2))
        return PLUGIN_HANDLED
    new arg[32],arg2[3]
    read_argv(1,arg,31)
    read_argv(2,arg2,2)      
    if (arg[0]=='@') {
        new players[32], inum , name[32]
        get_players(players,inum,"ae",arg[1])
        if (inum==0){
            client_printcolor(id,"!y[!tTHV!y]!t Nenhum jogador(a) de tal !gEquipe!y.")
            return PLUGIN_HANDLED
        }
        for(new a=0;a<inum;++a){
            if (get_user_flags(players[a])&ADMIN_IMMUNITY){
                get_user_name(players[a],name,31)
                client_printcolor(id,"!y[!tTHV!y]!t Ignorado !g^"%s^" !tporque o jogador(a) tem !gImunidade!y.",name)
                continue
            }
            new sPlayer[2]
            sPlayer[0] = players[a]
            emit_sound(players[a],CHAN_WEAPON ,"weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
            set_user_maxspeed(players[a],0.01)                                
            set_task(1.2, "rocket_liftoff" , 0 , sPlayer, 2)
        }
    }
    else {
        new player = cmd_target(id,arg,5)
        if (!player)
            return PLUGIN_HANDLED
        new sPlayer[2]
        sPlayer[0] = player
        emit_sound(player,CHAN_WEAPON ,"weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
        set_user_maxspeed(player,0.01)                                
        set_task(1.2, "rocket_liftoff" , 0 , sPlayer, 2)
        
        new playername[32]
        get_user_name(player,playername,31)
        client_printcolor(id,"!y[!tTHV!y]!y O Jogador(a) !g^"%s^" !tFoi Transformado em !yFoguete!y",playername)
    }
    
    return PLUGIN_HANDLED
}  

public plugin_precache()   {  
    mflash = precache_model("sprites/muzzleflash.spr")
    m_blueflare2 = precache_model( "sprites/blueflare2.spr")
    smoke = precache_model("sprites/steam1.spr")
    white = precache_model("sprites/white.spr")
    precache_sound("weapons/rocketfire1.wav")
    precache_sound("weapons/rocket1.wav")
    
    return PLUGIN_CONTINUE
}

public plugin_init() {  
   register_plugin("Admin Rocket","1.3","f117bomb")  
   register_concmd("amx_rocket","rocket_player",ADMIN_SLAY,"<authid, nick, @team or #userid>")  
   gmsgDamage = get_user_msgid("Damage")
    
   return PLUGIN_CONTINUE  
}



-----------------------|| INC ||-------------------------

Código:

stock client_printcolor(const id, const input[], any:...)
{
        new count = 1, players[32]
        static msg[191]
        vformat(msg, 190, input, 3)

        replace_all(msg, 190, "!g", "^4")  // Chat Verde
        replace_all(msg, 190, "!y", "^1")  // Chat Normal
        replace_all(msg, 190, "!t", "^3")  // Chat Do Time Tr=Vermelho Ct=Azul Spec=Branco

        if (id) players[0] = id; else get_players(players, count, "ch")
        {
                for (new i = 0; i < count; i++)
                {
                        if (is_user_connected(players[i]))
                        {
                                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
                                write_byte(players[i]);
                                write_string(msg);
                                message_end();
                        }
                }
        }
}

description[Plugin] Foguete EmptyRe: [Plugin] Foguete

more_horiz
Zplague12

description[Plugin] Foguete EmptyRe: [Plugin] Foguete

more_horiz
Zplague12

description[Plugin] Foguete EmptyRe: [Plugin] Foguete

more_horiz
privacy_tip Permissões neste sub-fórum
Não podes responder a tópicos
power_settings_newInicie sessão para responder