←  Poradniki/Łatki

AMXX.pl: Support AMX Mod X i SourceMod

»

Zombie Plague 4.3
Własny kolor Noktowizora

  • +
  • -
Kogut - zdjęcie Kogut 14.03.2012

Tutek pozwala nam stworzyć menu do wybrania koluru dla noktowizora:)
Nie zawsze każdemu zielony obraz pasuje.

1.Odtwórz plik .sma zm plague

2.Dodaj nową zmienną
g_nvg[33][3]  


3.
W client_putinserver forward dodaj
g_nvg[id] = { COLOR_RED, COLOR_GREEN, COLOR_BLUE }  


Na przykład

g_nvg[id] = { 0, 255, 0 }


4.W funkcji set_user_nivision()
Zamień to
// Get player origin and alive status
static Float:originF[3], alive
pev(ID_NVISION, pev_origin, originF)
alive = is_user_alive(ID_NVISION)


Na to

// Get player origin and alive status
static Float:originF[3]
pev(ID_NVISION, pev_origin, originF)

Następnie
if (g_nemesis[ID_NVISION] || (g_zombie[ID_NVISION] && g_nodamage[ID_NVISION]) || (!alive && g_nemround))
{
write_byte(get_pcvar_num(cvar_nemnvgcolor[0])) // r
write_byte(get_pcvar_num(cvar_nemnvgcolor[1])) // g
write_byte(get_pcvar_num(cvar_nemnvgcolor[2])) // b
}
// Human / Spectator in normal round
else if (!g_zombie[ID_NVISION] || !alive)
{
write_byte(get_pcvar_num(cvar_humnvgcolor[0])) // r
write_byte(get_pcvar_num(cvar_humnvgcolor[1])) // g
write_byte(get_pcvar_num(cvar_humnvgcolor[2])) // b
}
// Zombie
else
{
write_byte(get_pcvar_num(cvar_nvgcolor[0])) // r
write_byte(get_pcvar_num(cvar_nvgcolor[1])) // g
write_byte(get_pcvar_num(cvar_nvgcolor[2])) // b
}


Na
 if (g_nemesis[ID_NVISION] || (g_zombie[ID_NVISION] && g_nodamage[ID_NVISION]))
{
write_byte(255) // r
write_byte(0) // g
write_byte(0) // b
}
else
{
write_byte(g_nvg[ID_NVISION][0]) // r
write_byte(g_nvg[ID_NVISION][1]) // g
write_byte(g_nvg[ID_NVISION][2]) // b
}

5. Teraz musimy stworzyć menu gdzie użytkownik będzie mógł wybrać kolor
Dodajemy na konieć pluginu oto kod
// Show Menu Nvg
public show_menu_nvg(id)
{
new menu = menu_create("\yChoose your favorite color NightVision", "menu_nvg")
menu_additem(menu, "White", "1", 0)
menu_additem(menu, "Red", "2", 0)
// Add more Options if you wish

menu_display(id, menu, 0)
}
// Menu Nvg
public menu_nvg(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

switch(str_to_num(data))
{
case 1: g_nvg[id] = { 255, 255, 255 }
case 2: g_nvg[id] = { 255, 0, 0 }
// Add more Options if you wish
}

Poradnik z http://forums.alliedmods.net/index.php
Odpowiedz

  • +
  • -
Cinasek - zdjęcie Cinasek 15.03.2012

Miałem na serwerze :P ale dobrze, że wstawiles niech inni korzystają :)
Odpowiedz

  • +
  • -
BoroWSP - zdjęcie BoroWSP 15.03.2012

o fajnie choć ci co prowadzą serwery zombie powinni taką funkcję zrobić lub poprostu zmienić kolor noktowizora bo ten zielony jest ochydny i oczy potem bolą na dodatek
Odpowiedz