Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[EDİT]Biohazard Kod İçerde
#2
PHP Code:
/*================================================================================


    ---------------------------------------------------------------------------------
    |    <= Description =>                            |
    |    -----------------                            |
    |                                        |
    | This plugin added a colored NightVision into Zombie Infection Mod (Biohazard).|    
    | Some code taken from Zombie Plague 4.3. Thanks you, MeRcyLeZZ.        |
    | Official page: < https://amxx.com.ua/bio-colored-nightvision/ >        |
    ---------------------------------------------------------------------------------
    
    ---------------------------------------------------------------------------------
    |    <= CVARs =>                                |
    |    -----------                                |
    |                                        |
    | nvg_radius 80 - Size radius lighting.                        |
    ---------------------------------------------------------------------------------
    
    ---------------------------------------------------------------------------------
    |    <= Changelog =>                                |
    |    ---------------                                |
    |                                        |
    | * v1.0: (3.9.2010)                                |
    |     - First release.                            |
    ---------------------------------------------------------------------------------
    
================================================================================*/


#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <biohazard>


#define PLUGIN "[BIO] Colored NightVision"
#define VERSION "1.0"
#define AUTHOR "Slavvkko"


#define OFFSET_TEAM 114
#define OFFSET_NVG 129


new const g_Colors[][3] =
{
//    R    G    B
    
{150,    0,    0},    // 1
    
{0,    150,    0},    // 2
    
{0,    0,    150},    // 3
    
{0,    150,    150},    // 4
    
{102,    0,    255},    // 5
    
{202,    31,    123},    // 6
    
{255,    255,    0}    // 7
};


new 
g_UserColor[33][3];
new 
bool:g_Chose[33];
new 
bool:g_nvision[33];
new 
bool:g_nvisionenabled[33];
new 
g_playername[33][32];
new 
g_maxplayers;


// SaveColor written by type Zombie Plague 4.3
const MAX_STATS_SAVED 64;
new 
db_name[MAX_STATS_SAVED][32];
new 
db_user_nvg_color[MAX_STATS_SAVED][3];
new 
bool:db_chose[MAX_STATS_SAVED];
new 
db_slot_i;


new 
cvar_autonvgcvar_radius;


public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
register_dictionary("bio_colored_nightvision.txt");
    
    
register_logevent("logevent_round_end"2"1=Round_End");
    
    
register_clcmd("say /nvg""clcmd_nvg");
    
register_clcmd("say_team /nvg""clcmd_nvg");
    
register_clcmd("nightvision""clcmd_nightvision");
    
    
cvar_autonvg get_cvar_pointer("bh_autonvg");
    
cvar_radius register_cvar("nvg_radius""80");
    
    
RegisterHam(Ham_Spawn"player""fw_PlayerSpawn_Post"1);
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled");
    
register_forward(FM_ClientUserInfoChanged"fw_ClientUserInfoChanged");
    
    
g_maxplayers get_maxplayers();
    
    
register_message(get_user_msgid("NVGToggle"), "message_NVGToggle");
}


public 
logevent_round_end()
{
    static 
id;
    for (
id 1id <= g_maxplayersid++)
        
SaveColor(id);
}


public 
fw_PlayerSpawn_Post(id)
{
    if (!
is_user_alive(id) || !fm_cs_get_user_team(id))
        return;
        
    
remove_task(id);
    
g_nvision[id] = false;
}


public 
fw_PlayerKilled(victimattackershouldgib)
{
    
g_nvision[victim] = false;
    
set_task(0.1"spec_nvision"victim);
}


public 
fw_ClientUserInfoChanged(id)
{
    
get_user_name(idg_playername[id], charsmax(g_playername[]));
}


public 
client_putinserver(id)
{
    
get_user_name(idg_playername[id], charsmax(g_playername[]));
    
    
// Set color 2
    
g_UserColor[id] = g_Colors[1];
    
g_Chose[id] = false;
    
    
LoadColor(id);
}


public 
client_disconnect(id)
{
    
SaveColor(id);
    
remove_task(id);
}


public 
event_infect(victimattacker)
{
    if (
get_pcvar_num(cvar_autonvg))
    {
        
g_nvisionenabled[victim] = true;
        
remove_task(victim);
        
set_task(0.1"set_user_nvision"victim__"b");
    }
    
ShowMenu(id)
    
g_nvision[victim] = true;
}


public 
message_NVGToggle()
{
    return 
PLUGIN_HANDLED;
}


public 
clcmd_nvg(id)
{
    
ShowMenu(id);
    
    return 
PLUGIN_HANDLED;
}


public 
clcmd_nightvision(id)
{
    if (
g_nvision[id] || fm_get_user_nvg(id))
    {
        
g_nvisionenabled[id] = !(g_nvisionenabled[id]);
        
        
remove_task(id);
        if (
g_nvisionenabled[id])
            
set_task(0.1"set_user_nvision"id__"b");
    }
    
    return 
PLUGIN_HANDLED;
}


ShowMenu(id)
{
    static 
iMenuszMenu[64], iBuffer[2];
    
    
formatex(szMenucharsmax(szMenu), "%L"id"NVG_MENUTITLE");
    
    
iMenu menu_create(szMenu"handler_nvg");
    
    for (
0sizeof(g_Colors); i++)
    {
        
formatex(szMenucharsmax(szMenu), "NVG_COLOR_%d"1);
        
format(szMenucharsmax(szMenu), "%L"idszMenu);
        
Buffer[0] = i;
        
menu_additem(iMenuszMenuBuffer);
    }
    
    
formatex(szMenucharsmax(szMenu), "%L"id"NVG_MENUBACK");
    
menu_setprop(iMenuMPROP_BACKNAMEszMenu);
    
formatex(szMenucharsmax(szMenu), "%L"id"NVG_MENUNEXT");
    
menu_setprop(iMenuMPROP_NEXTNAMEszMenu);
    
formatex(szMenucharsmax(szMenu), "%L"id"NVG_MENUEXIT");
    
menu_setprop(iMenuMPROP_EXITszMenu);
    
    
menu_display(idiMenu);
}


public 
handler_nvg(idiMenuitem)
{
    if (
item == MENU_EXIT)
    {
        
menu_destroy(iMenu);
        return 
PLUGIN_HANDLED;
    }
    
    static 
Buffer[2], tempitemid;
    
menu_item_getinfo(iMenuitemtempBuffercharsmax(Buffer), __temp);
    
itemid Buffer[0];
    
    
g_UserColor[id] = g_Colors[itemid];
    
    
g_Chose[id] = true;
    
    
menu_destroy(iMenu);
    return 
PLUGIN_HANDLED;
}


SaveColor(id)
{
    if (!
g_Chose[id])
        return;


    if (
db_name[id][0] && !equal(g_playername[id], db_name[id]))
    {
        if (
db_slot_i >= sizeof(db_name))
            
db_slot_i g_maxplayers 1;
        
        
copy(db_name[db_slot_i], charsmax(db_name[]), db_name[id]);
        
db_user_nvg_color[db_slot_i] = db_user_nvg_color[id];
        
db_chose[db_slot_i] = g_Chose[id];
        
db_slot_i++;
    }
    
    
copy(db_name[id], charsmax(db_name[]), g_playername[id]);
    
db_user_nvg_color[id] = g_UserColor[id];
    
db_chose[id] = g_Chose[id];
}


LoadColor(id)
{
    static 
i;
    for (
0sizeof(db_name); i++)
    {
        if (
equal(g_playername[id], db_name[i]))
        {
            
g_Chose[id] = db_chose;
            if (
g_Chose[id])
                
g_UserColor[id] = db_user_nvg_color;
                
            return;
        }
    }
}


public 
spec_nvision(id)
{
    if (!
is_user_connected(id) || is_user_alive(id))
        return;
    
    
g_nvision[id] = true;
    
g_nvisionenabled[id] = true;
    
remove_task(id);
    
set_task(0.1"set_user_nvision"id__"b");
}


public 
set_user_nvision(id)
{
    static 
origin[3];
    
get_user_origin(idorigin);
    
    
message_begin(MSG_ONE_UNRELIABLESVC_TEMPENTITY_id);
    
write_byte(TE_DLIGHT);
    
write_coord(origin[0]);
    
write_coord(origin[1]);
    
write_coord(origin[2]);
    
write_byte(get_pcvar_num(cvar_radius));
    
write_byte(g_UserColor[id][0]);
    
write_byte(g_UserColor[id][1]);
    
write_byte(g_UserColor[id][2]);
    
write_byte(2);
    
write_byte(0);
    
message_end();
}


stock fm_cs_get_user_team(id)
{
    return 
get_pdata_int(idOFFSET_TEAM);
}


stock fm_get_user_nvg(index)
{
    return 
get_pdata_int(indexOFFSET_NVG);

[/i][/i][/i]
ZombieTurkey
Zombiye Geri Döndük =))
IP: 88.255.155.75
DNS:
zm.csturkey.org

facebook.com/
ZombieTurkey
SKYPE: zmturkey
MAIL:
[email protected]
Reply


Messages In This Thread
Cevap: [EDİT]Biohazard Kod İçerde - by vitality5 - 07-03-15, 19:47

Possibly Related Threads…
Thread Author Replies Views Last Post
  WebSiteBot plugini edit mahmutt159 21 10,603 09-12-17, 04:30
Last Post: exelds78
  [EDİT] Banka Plugini pandora158 9 12,142 09-12-17, 04:28
Last Post: exelds78
  [Istek] Biohazard Pluginleri crunch98 2 4,416 09-12-17, 04:12
Last Post: exelds78
  [İSTEK]Biohazard ceyhunreiz53 3 3,270 09-12-17, 04:08
Last Post: exelds78
  Biohazard bildiri mesajları sirketclan 0 3,113 18-03-17, 21:04
Last Post: sirketclan
  shop pluginine edit sallyreer 3 2,959 09-01-17, 21:11
Last Post: crunch98
  plugin düzenlermisiniz sma içerde lütfen 41aaa41 3 4,862 04-05-16, 12:38
Last Post: TuqcaN
  JCTF(bayrak kapmaca) Edit yapabılcek olan byby1 0 3,826 31-07-15, 20:08
Last Post: byby1
  clan gir version 3.0 edit mahmutt159 8 5,381 30-07-15, 15:44
Last Post: oguz000000
  Hatalar ve Edit için yardım zaferacar31 2 3,923 01-07-15, 17:17
Last Post: aPooCannn

Foruma Atla:


Users browsing this thread: 1 Guest(s)