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

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

Modyfikacja

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

#1 Shrek04

    Nowy

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:6
  • Imię:Pawel
  • Lokalizacja:Zadupie
Offline

Napisano 18.02.2012 21:23

Siemano, mógłby mi ktoś przerobić menu interpu od MisieQ, tak aby nie było tej kary ani opcji wyjdz? Chodzi o to zeby bylo po prostu menu z wyborem i tyle...

Załączone pliki


  • +
  • -
  • 0

#2 MA1L0

    Życzliwy

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:22
  • Imię:Rado
  • Lokalizacja:Gdańsk
Offline

Napisano 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

#3 ogieR8

    Wszechmogący

  • Power User

Reputacja: 203
Profesjonalista

  • Postów:641
  • Imię:Mariusz
  • Lokalizacja:Ruda Śląska
Offline

Napisano 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

Użytkownik ogieR- edytował ten post 19.02.2012 15:06

  • +
  • -
  • 2

Irytuje mnie nieczytelny kod, jeśli oczekujesz ode mnie pomocy - zmień to !


#4 Shrek04

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:6
  • Imię:Pawel
  • Lokalizacja:Zadupie
Offline

Napisano 19.02.2012 19:49

Ok dzięki lecą plusy!
  • +
  • -
  • 0

#5 Ojciec Dyrektor

    papa smerf.

  • Przyjaciel

Reputacja: 477
Wszechobecny

  • Postów:3 035
  • Imię:Paweł
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 19.02.2012 22:41

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 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