Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Modyfikacja

Przeróbka zp_radio dla wszystkich zombie (zombieplague)

Modyfikacja

  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 cinek91

    Pomocny

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:46
  • GG:
  • Lokalizacja:Jarocin
Offline

Napisano 16.04.2010 16:22

Witam,

prosiłbym o przeróbke standardowego pluginu zp_radio, gdyż w wersji normlanej to radio działa tylko dla nemesis'a, a ja chciałbym, żeby z tego radia mogły korzystać wszystkie zombie.
Jak by ktoś nie zrozumiał, tutaj opisałem problem - Zombie radio nie działa - Nieoficjalny polski support AMX Mod X


źródło pluginu: [ZP][Addon] Simple Zombie Radio - AlliedModders
/* Plugin generated by AMXX-Studio */

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

#define PLUGIN "Simple Zombie Radio"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

new enabled, disableold

static const radio1_sounds[][] = {
"",
"zombie_plague/radio/com_go.wav",
"zombie_plague/radio/ct_backup.wav",
"zombie_plague/radio/ct_coverme.wav",
"zombie_plague/radio/ct_enemys.wav",
"zombie_plague/radio/followme.wav",
"zombie_plague/radio/fallback.wav",
"zombie_plague/radio/hitassist.wav"
}

static const radio1_texts[][] = {
"",
"Zombies, go go go",
"Zombies, need backup",
"Zombies, cover me",
"Zombies, enemy spotted",
"Zombies, follow me",
"Zombies, fall back",
"Zombies, need assistance"
}

public plugin_precache()
{
for(new i = 1; i < sizeof radio1_sounds; i++)
precache_sound(radio1_sounds[i])
}

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

enabled = register_cvar("zp_radio","1")
disableold = register_cvar("zp_radio_disable_old","1")

register_clcmd("radio1","radio1")
register_clcmd("radio2","other_radio_hook")
register_clcmd("radio3","other_radio_hook")
}

public radio1(id)
{
if(!get_pcvar_num(enabled))
return PLUGIN_CONTINUE

if(!zp_get_user_zombie(id) || !zp_get_user_nemesis(id) || !is_user_alive(id))
return PLUGIN_CONTINUE

new menu = menu_create("\y Zombie Radio Commands", "radio1_handler")
menu_additem(menu, radio1_texts[1], "1", 0)
menu_additem(menu, radio1_texts[2], "2", 0)
menu_additem(menu, radio1_texts[3], "3", 0)
menu_additem(menu, radio1_texts[4], "4", 0)
menu_additem(menu, radio1_texts[5], "5", 0)
menu_additem(menu, radio1_texts[6], "6", 0)
menu_additem(menu, radio1_texts[7], "7", 0)
menu_addblank(menu, 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, menu, 0)

return PLUGIN_HANDLED
}


public radio1_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_cancel(id)
return PLUGIN_HANDLED
}

new data[6]
new access, callback

menu_item_getinfo(menu, item, access, data, 5, _, _, callback)

new key = str_to_num(data)

if(key > 0 && key < sizeof radio1_texts)
{
message(key)
}

menu_cancel(id)
return PLUGIN_HANDLED
}

stock message(key)
{
new players[32], count, name[33]
get_players(players, count, "ch")
for(new id = 0; id <= count; id++)
{
if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) && is_user_connected(id))
{
get_user_name(id,name,32)
client_print(id,print_chat,"%s (RADIO): %s!",name,radio1_texts[key])
client_cmd(id,"spk %s",radio1_sounds[key])
}
}
}

public other_radio_hook(id)
{
return (get_pcvar_num(disableold) && zp_get_user_zombie(id)) ? PLUGIN_HANDLED : PLUGIN_CONTINUE
}



  • +
  • -
  • 0

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 16.04.2010 16:38

zamień:
if(!zp_get_user_zombie(id) || !zp_get_user_nemesis(id) || !is_user_alive(id))
na:
if(!is_user_alive(id) || (!zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
i skompiluj lokalnie mając w folderze amxmodx/scripting/include plik zombieplague.inc
  • +
  • -
  • 1

#3 cinek91

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:46
  • GG:
  • Lokalizacja:Jarocin
Offline

Napisano 17.04.2010 14:56

A mały błąd, za dużo o jeden nawias, ale dziękuje za pomoc + reputacja :P

Ostateczny kod pluginy, gdyby ktoś chciał:

/* Plugin generated by AMXX-Studio */

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

#define PLUGIN "Simple Zombie Radio"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

new enabled, disableold

static const radio1_sounds[][] = {
"",
"zombie_plague/radio/com_go.wav",
"zombie_plague/radio/ct_backup.wav",
"zombie_plague/radio/ct_coverme.wav",
"zombie_plague/radio/ct_enemys.wav",
"zombie_plague/radio/followme.wav",
"zombie_plague/radio/fallback.wav",
"zombie_plague/radio/hitassist.wav"
}

static const radio1_texts[][] = {
"",
"Zombies, go go go",
"Zombies, need backup",
"Zombies, cover me",
"Zombies, enemy spotted",
"Zombies, follow me",
"Zombies, fall back",
"Zombies, need assistance"
}

public plugin_precache()
{
for(new i = 1; i < sizeof radio1_sounds; i++)
precache_sound(radio1_sounds[i])
}

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

enabled = register_cvar("zp_radio","1")
disableold = register_cvar("zp_radio_disable_old","1")

register_clcmd("radio1","radio1")
register_clcmd("radio2","other_radio_hook")
register_clcmd("radio3","other_radio_hook")
}

public radio1(id)
{
if(!get_pcvar_num(enabled))
return PLUGIN_CONTINUE

if(!zp_get_user_zombie(id) || !zp_get_user_nemesis(id) || !is_user_alive(id))
return PLUGIN_CONTINUE

new menu = menu_create("\y Zombie Radio Commands", "radio1_handler")
menu_additem(menu, radio1_texts[1], "1", 0)
menu_additem(menu, radio1_texts[2], "2", 0)
menu_additem(menu, radio1_texts[3], "3", 0)
menu_additem(menu, radio1_texts[4], "4", 0)
menu_additem(menu, radio1_texts[5], "5", 0)
menu_additem(menu, radio1_texts[6], "6", 0)
menu_additem(menu, radio1_texts[7], "7", 0)
menu_addblank(menu, 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, menu, 0)

return PLUGIN_HANDLED
}


public radio1_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_cancel(id)
return PLUGIN_HANDLED
}

new data[6]
new access, callback

menu_item_getinfo(menu, item, access, data, 5, _, _, callback)

new key = str_to_num(data)

if(key > 0 && key < sizeof radio1_texts)
{
message(key)
}

menu_cancel(id)
return PLUGIN_HANDLED
}

stock message(key)
{
new players[32], count, name[33]
get_players(players, count, "ch")
for(new id = 0; id <= count; id++)
{
if(!is_user_alive(id) || !zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
{
get_user_name(id,name,32)
client_print(id,print_chat,"%s (RADIO): %s!",name,radio1_texts[key])
client_cmd(id,"spk %s",radio1_sounds[key])
}
}
}

public other_radio_hook(id)
{
return (get_pcvar_num(disableold) && zp_get_user_zombie(id)) ? PLUGIN_HANDLED : PLUGIN_CONTINUE
}

Użytkownik cinek91 edytował ten post 17.04.2010 14:56

  • +
  • -
  • 0

#4 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 17.04.2010 15:02

raczej za mało o jeden nawias :P
if(!is_user_alive(id) || (!zp_get_user_zombie(id) && !zp_get_user_nemesis(id)))

(jeżeli nie żyje lub (nie jest zombie i nie jest nemesisem))
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych