Raised This Month: $ Target: $400
 0% 

[Zp] Flying Eggs


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
FloorenTIbraimi
Member
Join Date: Jul 2014
Location: Macedonia
Old 07-25-2014 , 05:59   [Zp] Flying Eggs
Reply With Quote #1

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <zombieplague>

#define PLUGIN "[ZP] Flying eggs"
#define VERSION "1.4"
#define AUTHOR "FloorenTIbraimi"

new model[] = "models/zombie_plague/w_egg.mdl"
new sound[] = "zombie_plague/egg_pick_up.wav"
new sprite_grenade_trail[] = "sprites/laserbeam.spr"

new g_trailSpr
new g_msgScreenFade

new cvar_eggscvar_eggs_limitcvar_eggs_new_roundcvar_eggs_colors
new bool:can_pickup[33]

new 
g_eggs

public plugin_init() {
    
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
cvar_eggs register_cvar("zp_eggs_turn","1")
    
cvar_eggs_new_round register_cvar("zp_new_eggs_round_remover","1")
    
cvar_eggs_colors register_cvar("zp_color_eggs","5")
    
cvar_eggs_limit register_cvar("zp_eggs_limite","100")
    
    
set_task(58.3"anuncio"100_,_"b")
    
set_task(1.0"check_status"20000_,_"b")
    
    
register_clcmd("say /egg""menu_egg")
    
register_clcmd("say_team /egg""menu_egg")
    
    
register_forward(FM_Touch"player_Touch")
    
    
register_logevent("round_start"2"1=Round_Start")
    
    
g_msgScreenFade get_user_msgid("ScreenFade")
}

public 
plugin_precache()  {
    
    
precache_model(model)
    
precache_sound(sound)
    
g_trailSpr engfunc(EngFunc_PrecacheModelsprite_grenade_trail)
}

public 
anuncio() {
    
    
client_print_color(0"!g[ZP] !yFlying eggs: !tPower By FloorentIbraimi")
}

public 
client_putinserver(id) {
    
    
can_pickup[id] = true
}

public 
client_disconnect(id) {
    
    
can_pickup[id] = false
}

public 
reset_pick(id) {
    
    
can_pickup[id] = true
}

public 
round_start() {
    
    if(
get_pcvar_num(cvar_eggs_new_round)) {
        
        
remove()
    }
}

public 
check_status() {    
    
    if(!
get_pcvar_num(cvar_eggs)) {
        
        
remove()
    }
}

public 
remove() {    
    
    new 
ent = -1
    
while ((ent engfunc(EngFunc_FindEntityByStringent"classname""eggs_flying")) != 0) {
        
        
engfunc(EngFunc_RemoveEntityent)
        
g_eggs 0
    
}
}

public 
menu_egg(id) {
    
    if(!(
get_user_flags(id) & ADMIN_RCON) || !get_pcvar_num(cvar_eggs)) return PLUGIN_HANDLED
    
    
new szMenu[128]
    
    
formatex(szMenu,127,"\rMenu Eggs")
    
    new 
Menu menu_create(szMenu,"handler_menu_egg")
    
    
menu_additem(Menu"Throw eggs on map""1")
    
    
menu_additem(Menu"Remove eggs map""2")
    
    
menu_additem(Menu"Select color eggs""3")
    
    
menu_setprop(MenuMPROP_EXITMEXIT_NORMAL)
    
    
menu_display(id,Menu,0)
    
    return 
PLUGIN_HANDLED
}

public 
handler_menu_egg(id,menu,item) {
    
    if(
item == MENU_EXIT) {
        
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    switch(
item) {
        
        case 
0: {
            
            
egg_drop(id)
            
menu_egg(id)
        }
        case 
1: {
            
            
            
remove()
            
menu_egg(id)
        }
        case 
2: {
            
            
menu_egg_color(id)
        }
    }
    return 
PLUGIN_HANDLED
}

public 
menu_egg_color(id) {
    
    new 
szMenu[128]
    
    
formatex(szMenu,127,"\rSelect the color of the egg")
    
    new 
Menu menu_create(szMenu,"handler_menu_egg_color")
    
    
menu_additem(Menu"White""1")
    
    
menu_additem(Menu"Red""2")
    
    
menu_additem(Menu"Green""3")
    
    
menu_additem(Menu"Blue^n""4")
    
    
menu_additem(Menu"All""5")
    
    
menu_setprop(MenuMPROP_EXITMEXIT_NORMAL)
    
    
menu_display(id,Menu,0)
    
    return 
PLUGIN_HANDLED
}

public 
handler_menu_egg_color(id,menu,item) {
    
    if(
item == MENU_EXIT) {
        
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    switch(
item) {
        
        case 
0: {
            
            
server_cmd("zp_color_eggs 1")
            
menu_egg(id)
        }
        case 
1: {
            
            
server_cmd("zp_color_eggs 2")
            
menu_egg(id)
        }
        case 
2: {
            
            
server_cmd("zp_color_eggs 3")
            
menu_egg(id)
        }
        case 
3: {
            
            
server_cmd("zp_color_eggs 4")
            
menu_egg(id)
        }
        case 
4: {
            
            
server_cmd("zp_color_eggs 5")
            
menu_egg(id)
        }
    }
    return 
PLUGIN_HANDLED
}

public 
egg_drop(id) {
    
    if(!
is_user_alive(id)) return PLUGIN_HANDLED
    
    
if(g_eggs >= get_pcvar_num(cvar_eggs_limit)) {
        
        
set_hudmessage(25500, -1.00, -0.4506.012.0)
        
show_hudmessage(id"Limit eggs hit!")
        
        return 
PLUGIN_HANDLED
    
}
    if(
can_pickup[id] != false) {
        
        
can_pickup[id] = false
        
        set_task
(0.1"reset_pick"id)
        
        new 
Float:Speed[3]
        
        
velocity_by_aim(id10 100Speed)
        
drop_egg(idSpeed)
        
        
g_eggs++
        
        
set_hudmessage(255255255, -1.00, -0.4506.012.0)
        
show_hudmessage(id"Eggs on map [ %d ]"g_eggs)
    }
    return 
PLUGIN_HANDLED
}

public 
drop_egg(idFloat:Speed[]) {
    
    new 
ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"))
    
    new 
Float:origin[3]
    
pev(idpev_originorigin)
    
set_pev(entpev_originorigin)
    
    
Speed[2] += 100.0
    set_pev
(entpev_velocitySpeed)
    
    new 
Float:angles[3]
    
pev(entpev_angles,angles)
    
angles[1] += random_num(1,360)
    
set_pev(entpev_anglesangles)
    
    
set_pev(entpev_classname"eggs_flying")
    
engfunc(EngFunc_SetModelentmodel)
    
engfunc(EngFunc_SetSizeentFloat:{-2.79, -0.0, -6.14}, Float:{2.421.996.35})
    
set_pev(entpev_solidSOLID_TRIGGER)
    
set_pev(entpev_movetypeMOVETYPE_BOUNCE)
    
engfunc(EngFunc_DropToFloorent)
    
    
colors(ent)    
}

public 
colors(ent) {
    
    
set_pev(entpev_renderfxkRenderFxGlowShell)
    
    new 
cvar get_pcvar_num(cvar_eggs_colors)
    new 
rgb
    
    
if(cvar == 1) {
        
        
set_pev(entpev_rendercolorFloat:{255.0255.0255.0})
        
255
        g 
255
        b 
255
    
}
    else if(
cvar == 2) {
        
        
set_pev(entpev_rendercolorFloat:{255.0000.0000.0})
        
255
        g 
0
        b 
0
    
}
    else if(
cvar == 3) {
        
        
set_pev(entpev_rendercolorFloat:{000.0255.0000.0})
        
000
        g 
255
        b 
000
    
}
    else if(
cvar == 4) {
        
        
set_pev(entpev_rendercolorFloat:{000.0000.0255.0})
        
000
        g 
000
        b 
255
    
}
    else {
        
        switch (
random(4)) {    
            
            case 
0: {
                
                
set_pev(entpev_rendercolorFloat:{255.0255.0255.0})
                
255
                g 
255
                b 
255
            
}
            case 
1: {
                
                
set_pev(entpev_rendercolorFloat:{255.0000.0000.0})
                
255 
                g 
000
                b 
000
            
}
            case 
2:{
                
                
set_pev(entpev_rendercolorFloat:{000.0255.0000.0})
                
000
                g 
255
                b 
000
            
}
            case 
3: {
                
                
set_pev(entpev_rendercolorFloat:{000.0000.0255.0})
                
000
                g 
000
                b 
255
            
}
        }
    }    
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_BEAMFOLLOW)
    
write_short(ent)
    
write_short(g_trailSpr)
    
write_byte(5)
    
write_byte(1)
    
write_byte(r)
    
write_byte(g)
    
write_byte(b)
    
write_byte(255)
    
message_end()
}

public 
screen_fade(id) {
    
    
message_begin(MSG_ONEg_msgScreenFade, {000}, id
    
write_short(1<<12)
    
write_short(1<<12)
    
write_short(1<<12)
    
write_byte(200)
    
write_byte(200)
    
write_byte(200)
    
write_byte(20)
    
message_end()
}

public 
player_Touch(entid) { 
    
    if(!
pev_valid(ent) || !is_user_alive(id) ||  !get_pcvar_num(cvar_eggs) || !can_pickup[id]) return FMRES_IGNORED
    
    
new classname[32]
    
pev(entpev_classnameclassnamecharsmax(classname))
    
    if(
equali(classname"eggs_flying")) {
        
        
g_eggs--
        
        
item(id)
        
screen_fade(id)
        
emit_sound(idCHAN_AUTOsound1.0ATTN_NORM0PITCH_NORM)
        
        if(
pev_valid(ent)) {
            
            
engfunc(EngFunc_RemoveEntityent)    
        }
    }
    return 
FMRES_IGNORED
}

public 
item(id) {
    
    switch (
random_num(05)) {
        
        case 
012: {
            
            
client_print(idprint_center"+ 1 AP")
            
zp_set_user_ammo_packs(idzp_get_user_ammo_packs(id) + 1)
        }
        case 
3: {
            
            
client_print(idprint_center"+ 2 AP")
            
zp_set_user_ammo_packs(idzp_get_user_ammo_packs(id) + 2)
        }
        case 
4: {
            
            
client_print(idprint_center"+ 0 AP")
        }
        case 
5: {
            
            
client_print(idprint_center"- 1 AP")
            
zp_set_user_ammo_packs(idzp_get_user_ammo_packs(id) - 1)
        }
    }
}

stock client_print_color(const id, const input[], any:...) {
    
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4")
    
replace_all(msg190"!y""^1")
    
replace_all(msg190"!t""^3")
    
replace_all(msg190"!team2""^0")
    
    if(
id)
        
players[0] = id;
    else
        
get_players(playerscount"ch")
    
    for (new 
0counti++) {
        
        if(
is_user_connected(players[i])) {
            
            
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
            
write_byte(players[i]);
            
write_string(msg);
            
message_end();
        }
    }

Attached Files
File Type: sma Get Plugin or Get Source (zp_flying_eggs.sma - 627 views - 8.3 KB)
File Type: zip zp_eggs flying-1.4.zip (77.4 KB, 64 views)

Last edited by FloorenTIbraimi; 07-25-2014 at 07:34.
FloorenTIbraimi is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 13:13.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode