AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [Zp] Flying Eggs (https://forums.alliedmods.net/showthread.php?t=244886)

FloorenTIbraimi 07-25-2014 05:59

[Zp] Flying Eggs
 
2 Attachment(s)
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();
        }
    }



Backstabnoob 07-25-2014 06:01

Re: [Zp] Flying Eggs
 
So, what's your problem and what did you try to fix it?

FloorenTIbraimi 07-25-2014 06:23

Re: [Zp] Flying Eggs
 
i try to translate to english but i think somthing wrong i don't know why :/

HamletEagle 07-25-2014 08:26

Re: [Zp] Flying Eggs
 
Put zombieplague.inc in your scripting/include folder.


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

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