CSPLague
[EDİT]Biohazard Kod İçerde - Printable Version

+- CSPLague (https://www.csplague.com)
+-- Forum: CS 1.6 Plugin (Eklenti) Bölümü (https://www.csplague.com/forumdisplay.php?fid=6)
+--- Forum: [İSTEK] Cs 1.6 Plugin İstek Bölümü (https://www.csplague.com/forumdisplay.php?fid=80)
+--- Thread: [EDİT]Biohazard Kod İçerde (/showthread.php?tid=11542)



[EDİT]Biohazard Kod İçerde - ceyhunreiz53 - 07-03-15

Merhaba Arkadaşlar Hayirli Günler.
Cod Aşağida Arkadaşlar Benim İstedim Birşey Var.
Biohazard Zombie Serverim Varda /nvg Sorunsuz Düzenli Çalişmaktada İstedim Şey.
Sadece Zombie Oldunda Menü'nün Direk gelmesi yani zombie iken 1daha /nvg Yazmasinlar.
Zombie Olduklarinda Direk Menü Gelmesini İstiyorum Yaparsaniz Sevinirim..
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 " 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_autonvg, cvar_radius;


public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    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 = 1; id <= g_maxplayers; id++)
        SaveColor(id);
}


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


public fw_PlayerKilled(victim, attacker, shouldgib)
{
    g_nvision = false;
    set_task(0.1, "spec_nvision", victim);
}


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


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


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


public event_infect(victim, attacker)
{
    if (get_pcvar_num(cvar_autonvg))
    {
        g_nvisionenabled = true;
        remove_task(victim);
        set_task(0.1, "set_user_nvision", victim, _, _, "b");
    }
    
    g_nvision = true;
}


public message_NVGToggle()
{
    return PLUGIN_HANDLED;
}


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


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


ShowMenu(id)
{
    static iMenu, szMenu[64], i, Buffer[2];
    
    formatex(szMenu, charsmax(szMenu), "%L", id, "NVG_MENUTITLE");
    
    iMenu = menu_create(szMenu, "handler_nvg");
    
    for (i = 0; i < sizeof(g_Colors); i++)
    {
        formatex(szMenu, charsmax(szMenu), "NVG_COLOR_%d", i + 1);
        format(szMenu, charsmax(szMenu), "%L", id, szMenu);
        Buffer[0] = i;
        menu_additem(iMenu, szMenu, Buffer);
    }
    
    formatex(szMenu, charsmax(szMenu), "%L", id, "NVG_MENUBACK");
    menu_setprop(iMenu, MPROP_BACKNAME, szMenu);
    formatex(szMenu, charsmax(szMenu), "%L", id, "NVG_MENUNEXT");
    menu_setprop(iMenu, MPROP_NEXTNAME, szMenu);
    formatex(szMenu, charsmax(szMenu), "%L", id, "NVG_MENUEXIT");
    menu_setprop(iMenu, MPROP_EXIT, szMenu);
    
    menu_display(id, iMenu);
}


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


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


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


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


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


public set_user_nvision(id)
{
    static origin[3];
    get_user_origin(id, origin);
    
    message_begin(MSG_ONE_UNRELIABLE, SVC_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[0]);
    write_byte(g_UserColor[1]);
    write_byte(g_UserColor[2]);
    write_byte(2);
    write_byte(0);
    message_end();
}


stock fm_cs_get_user_team(id)
{
    return get_pdata_int(id, OFFSET_TEAM);
}


stock fm_get_user_nvg(index)
{
    return get_pdata_int(index, OFFSET_NVG);
}



Cevap: [EDİT]Biohazard Kod İçerde - vitality5 - 07-03-15

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]


Cevap: [EDİT]Biohazard Kod İçerde - ceyhunreiz53 - 08-03-15

Verdiğiniz Kod Hatali Ve Sorunlu Olmamiş Beyefendi Adam Zombie Olduğunda veya Zombie Yapildiğinda Direk Solda
1:Kırmızı ,
2:Sarı ,
3:Yeşil ,
4:Mavi ,
5:Mor
6:Turuncu
7:Beyaz

Vb. Gibi


Cevap: [EDİT]Biohazard Kod İçerde - hazardouszm - 09-03-15

Hatali kod


Cevap: [EDİT]Biohazard Kod İçerde - kedusa - 10-04-15

aaynen kod hatali galiba