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
 

Shrek04 - zdjęcie

Shrek04

Rejestracja: 19.11.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 02.03.2012 08:17
-----

#367387 [ROZWIĄZANE] [EDYCJA]Menu Interpu by MisieQ

Napisane przez MA1L0 w 19.02.2012 14:42


#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#include <fakemeta>
#include <hamsandwich>

new const gNazwaPluginu[] = "Interp Menu";
new const gWersjaPluginu[] = "0.5";
new const gAutorPluginu[] = "MisieQ";

#define ADMIN_UPRAWNIENIA ADMIN_BAN

#define MAX_PLAYERS 32
#define SetUserReversed(%1) g_bMigraineux |= 1<<(%1 & 31)
#define ClearUserReversed(%1) g_bMigraineux &= ~( 1<<(%1 & 31) )
#define HasUserMigraine(%1) g_bMigraineux &  1<<(%1 & 31)

new bool:wybral_interp[33];
new bool:dostal_kare[33];
new const interp[][] = { "^x03 wybral interp^x04 0.01", "^x03 wybral interp^x04 0.02", "^x03 wybral interp^x04 0.03", "^x03 wybiera interp..." }
new Map[32], Name[32];

new g_bMigraineux

public plugin_init()
{
register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu);

RegisterHam(Ham_Spawn, "player", "fwSpawn", 1);

register_concmd("amx_interp", "ustaw", ADMIN_UPRAWNIENIA, "<Nazwa Gracza>");


get_mapname(Map,sizeof Map - 1);
}

public client_authorized(id)
{
wybral_interp[id] = false
dostal_kare[id] = false
ClearUserReversed(id)
}

public client_disconnect(id)
{
wybral_interp[id] = false
dostal_kare[id] = false
ClearUserReversed(id)
}

public fwSpawn(id)
{
if (!is_user_alive(id))
return HAM_IGNORED;

if(!wybral_interp[id])
{
menu_interpu(id);
}

return HAM_IGNORED;
}

public menu_interpu(id)
{
new menu = menu_create("\wWybor \yInterpu:", "menu_interpu_1");

menu_additem(menu, "\w0.01", "0", 0);
menu_addblank(menu,0)
menu_additem(menu, "\y0.02", "1", 0);
menu_addblank(menu,0)
menu_additem(menu, "\r0.03", "2", 0);

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id,menu,0);

return PLUGIN_CONTINUE;
}

public menu_interpu_1(id, menu, item)
{
new data[6], iName[64], acces, callback;
menu_item_getinfo(menu, item, acces, data,sizeof data - 1, iName, sizeof iName - 1, callback);
get_user_name(id, Name, sizeof Name - 1);

new key = str_to_num(data);

switch(key)
{
case 0:
{
client_cmd(id,"ex_interp 0.01")
wybral_interp[id] = true;
informacja(id, 0);
menu_destroy(menu);
}

case 1:
{
client_cmd(id,"ex_interp 0.02")
wybral_interp[id] = true;
informacja(id, 1);
menu_destroy(menu);

}

case 2:
{
client_cmd(id,"ex_interp 0.03")
wybral_interp[id] = true;
informacja(id, 2);
menu_destroy(menu);
}
}
return PLUGIN_HANDLED;
}

public informacja(id,itp)
{
get_user_name(id, Name, sizeof Name - 1);
ColorChat(0, GREEN, "[^x03 %s^x04 ]^x03 Gracz^x04 %s %s",Map, Name, interp[itp]);
}

public ustaw(id,level,cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;

read_argv(1, Name, sizeof Name - 1);

new player = cmd_target(id, Name, 0);

if (!player)
{
console_print(id, "Przepraszamy, gracz %s nie moze zostac zlokalizowany!", Name);
return PLUGIN_HANDLED;
}
else
{
ColorChat(0, GREEN, "[^x03 %s^x04 ]^x03 Admin wymusil ponowny wybor interpu dla gracza^x04 %s", Map, Name);
wybral_interp[player] = false
}

return PLUGIN_CONTINUE;
}

Wyjścia z menu nie da się raczej usunąć zrobiłem tak aby nie było kary. I jeżeli nie wybierze się interpu to on się sam ustawi.
  • +
  • -
  • 1


#367398 [ROZWIĄZANE] [EDYCJA]Menu Interpu by MisieQ

Napisane przez ogieR8 w 19.02.2012 15:02

Da się usunąć wyjście z menu, należy zastosować starą wersję menu, tutaj info : http://amxx.pl/topic...tworzenie-menu/ Wtedy tylko 3 case w funkcji, a po nich return PLUGIN_HANDLED i klawisze 4-0 są nieaktywne, a 1-3 zmienia interp + wyłącza menu, elo ;]

Aczkolwiek i to można ominąć. Gdy jest to menu wystarczy wpisać np.. jakąś komendę, aby wywołała inne menu, wtedy stare znika. Ale jak zaproponował user wyżej, można zrobić zmienną, która się aktywuje po wybraniu interpu, a w domyśle ma 'false' i gdy nie zmieni się to wymusza co kilkanaście sekund 0.01
  • +
  • -
  • 2


#333443 Prośba o dodanie ViP'owi mapek na których ViP nie będzie działał!

Napisane przez WazzaP w 12.12.2011 09:16

http://amxx.pl/topic...na-danej-mapie/
  • +
  • -
  • 1