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

Problem z menu.


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

#1 wizu

    Godlike

  • Przyjaciel

Reputacja: 224
Profesjonalista

  • Postów:1 217
  • GG:
  • Lokalizacja:Sanok
Offline

Napisano 21.09.2008 13:58

Witam. Chciałem sobie napisać plugin, który działałby mniej więcej na takiej zasadzie:
-Po 15 sekundach od rozpoczęcia mapy wyświetla wszystkim dane menu
-Potem w zależności jaki wariant wybrali gracze, na początku każdej rundy wyświetla się wszystkim dany tekst na środku ekranu
Napisałem coś takiego, jednak nie wyświetla menu :/
#include <amxmod>
#include <amxmisc>
      
new za, przeciw
public plugin_init() {
   register_plugin("menu","0.1","wizu")
   register_menucmd(register_menuid("Menu"),1023,"actionMenu")
   register_event("HLTV", "wyswietl", "a", "1=0", "2=0") 
   set_task(30.0,"showMenu")
   set_task(50.0,"wyswietl")
}

public actionMenu(id,key){



switch(key){

      case 3: {
	za = za + 1
         }
      case 4: {
	przeciw = przeciw +1
          }
   }

}

public showMenu(){
   new menuBody[512]
   
   format(menuBody,511,"Tak, czy nie??^n^n^n3. Tak^n4. Nie")
   show_menu(0,((1<<2)|(1<<3)),menuBody, 15)

   return PLUGIN_CONTINUE
}

public wyswietl()
{
if (za >= przeciw)
{
	set_hudmessage(255, 255, 255, 0.5, 0.5)
	show_hudmessage(0, "Tak!!")	
}else
{
	show_hudmessage(0, "Nie!!")
	set_hudmessage(255, 255, 255, 0.5, 0.5)
}
}


Podejrzewam, ze to będzie coś z zasięgiem zmiennych. Zawsze wyskakuje "Tak!!". Dzięki za każdą pomoc.
  • +
  • -
  • 0

#2 Seba

    Wszechobecny

  • Zbanowany

Reputacja: 198
Profesjonalista

  • Postów:424
  • Lokalizacja:Internet
Offline

Napisano 21.09.2008 16:29

Nie chce mi sie patrzeć w kod i analizować go,ale
    przeciw = przeciw +1
;o

przeciw += 1 jak już

#3 wizu

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 224
Profesjonalista

  • Postów:1 217
  • GG:
  • Lokalizacja:Sanok
Offline

Napisano 21.09.2008 16:52

To nie robi żadnej różnicy. I jeżeli już to przeciw++ będzie jeszcze krócej :P
  • +
  • -
  • 0

#4 Seba

    Wszechobecny

  • Zbanowany

Reputacja: 198
Profesjonalista

  • Postów:424
  • Lokalizacja:Internet
Offline

Napisano 21.09.2008 20:28

/* Plugin generated by AMXX-Studio */



#include <amxmodx>

#include <amxmisc>



#define PLUGIN "Nowy Plugin"

#define VERSION "1.0"

#define AUTHOR "Sn!ff3r"



new taknie[3]



public plugin_init() {

	register_plugin(PLUGIN, VERSION, AUTHOR)

	set_task(120.0, "start_vote")

	

	// Add your code here...

}



public start_vote()

{    

	new menu = menu_create("w ***** tak czy nie?!", "menu_handler")

	menu_additem(menu, "wTak", "1", 0)

	menu_additem(menu, "wNie", "2", 0)

	menu_addblank(menu, 0)

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

	

	new players[32], inum

	get_players(players, inum, "ch")

	for(new i = 0; i < inum; i++)

	{

		menu_display(players[i], menu, 0)

	}

	

	set_task(15.0, "finish_vote")

	

	taknie[1] = taknie[2] = 0

	

	return PLUGIN_HANDLED

}



public menu_handler(id, menu, item)

{

	if (item == MENU_EXIT)

	{

		menu_cancel(id)

		return PLUGIN_HANDLED

	}

	

	new data[6], name[32]

	new access, callback

	

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

	

	new key = str_to_num(data)

	get_user_name(id, name, 31)

	

	switch (key) 

	{

		case 1: 

		{

			client_print (0, print_chat, "[AMXX] %s wybral tak", name)

		}

		case 2:

		{

			client_print (0, print_chat, "[AMXX] %s wybral nie", name)

		}

	}

	

	++taknie[key]

	

	menu_cancel(id)

	return PLUGIN_HANDLED

}





public finish_vote()

{	

	if(taknie[1] > taknie[2])

	{

		client_print(0, print_chat, "[AMXX] %d graczy zaglosowalo na tak", taknie[1])

	}

	

	else if(taknie[2] > taknie[1])

	{

		client_print(0, print_chat, "[AMXX] %d graczy zaglosowalo na nie", taknie[2])

	}

}
ja bym tego użył, nie pakuj się w old menus :)

#5 wizu

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 224
Profesjonalista

  • Postów:1 217
  • GG:
  • Lokalizacja:Sanok
Offline

Napisano 21.09.2008 21:36

Dziękuję Ci bardzo. Jutro przetestuję.
  • +
  • -
  • 0




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

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