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

Jak zrobić zapamietywanie wybóru w swichu


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

#1 sekio

    Wszechwidzący

  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:270
  • GG:
  • Imię:Sebastian
  • Lokalizacja:lodz
Offline

Napisano 13.02.2013 18:36

Witam potrzebuję pomocy gdyż nie wiem jak się za to zabrać , zrobiłem sobie menu i chciałem w czwartym case umieścić opcje zapamiętaj ostani wybór gdyż używam autorespawnu i ciągłe wybieranie z menu jest to z lekka denerwujące . Próbowałem coś wymyślić ale nie mam punktu zaczepienia dlatego zakładam ten temat żeby ktoś mi pomógł. :D





public menu(id)
{
	new menu = menu_create("tutul.", "wybieranie")
	
	
	menu_additem(menu, "\yopcja1)", "1", 0)
	menu_additem(menu, "\yopcja2)", "2", 0)
	menu_additem(menu, "\yopcja3)", "3", 0)
	menu_additem(menu, "\yZapamietaj ostni wybor","4",0)
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
	
	menu_display(id, menu, 0)
	
}

public wybieranie(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	new data[6], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
	
	new key = str_to_num(data)
	
	switch(key)
	{
		case 1:{
		  client_print(id,print_center,"1")
			menu_destroy(menu)
			return PLUGIN_HANDLED
		}
		
		case 2:{
		   client_print(id,print_center,"2")
			
			menu_destroy(menu)
			return PLUGIN_HANDLED
		}
		
		case 3:{
		   client_print(id,print_center,"3")
			
			menu_destroy(menu)
			return PLUGIN_HANDLED
		}
		case 4:{
		
			
			menu_destroy(menu)
			return PLUGIN_HANDLED
		}
		
		
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

Użytkownik sekio edytował ten post 13.02.2013 18:37

http://www.youtube.com/watch?v=T0qmmWiGAho
http://elite-skill.eu/

#2 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 14.02.2013 12:19

Użyj zmiennej logicznej (new bool:zmienna) true/false

Użytkownik radim edytował ten post 14.02.2013 12:20

  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#3 sekio

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:270
  • GG:
  • Imię:Sebastian
  • Lokalizacja:lodz
Offline

Napisano 14.02.2013 15:45

Właśnie nie rozumiałem wcześniej czym się różni tak deklarowana zmienna , poczytam i spróbuje coś zrobić.
http://www.youtube.com/watch?v=T0qmmWiGAho
http://elite-skill.eu/

#4 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 14.02.2013 16:09

Być może źle z interpretowałem Twój problem. Masz menu, w którym masz opcję respawn. I zamiast otwierać menu i wybierać tą opcję, chcesz za pierwszym otworzeniem menu wybrać opcję, która pozwoli Ci się respawnować bez wybierania ponownie opcji "respawn" ? Jeżeli tak to stwórz nową zmienną logiczną:
new bool:zapamietaj[33]
i w tym case od respawnu ustaw wartość tej zmiennej na true:
zapamietaj[id] = true
A potem w odpowiedniej funkcji dodaj warunek, że jeżeli zapamietaj[id] wynosi true, respawnuj gracza.
  • +
  • -
  • 1

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#5 sekio

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:270
  • GG:
  • Imię:Sebastian
  • Lokalizacja:lodz
Offline

Napisano 14.02.2013 16:13

Chodzi mi o to że menu jest wywoływane przy spawnie gracza , używam na serwerze autorespawnu i za każdym razem wyświetla się to menu. A gdy tak sie gra z 25 minut i sie zginie ze 100 razy , ciągłe wciskanie jednego przycisku wkurza. Dlatego chcialem do tego menu w czwartym case dodać opcje zapamiętaj ostatni wybór , żeby przy spawnie gracza ten mógł korzystać z wybranej wcześniej opcji. Tak jak jest np w CSDM że wybieramy bronie a później przy spawnie mamy możliwość wyboru czy chcemy bronie z poprzedniej rundy. Przeczytałem jeszcze raz pierwszy mój post i rzeczywiście trochę nie jasno napisałem mam nadzieje że teraz wyszło lepiej :D

Użytkownik sekio edytował ten post 14.02.2013 16:18

http://www.youtube.com/watch?v=T0qmmWiGAho
http://elite-skill.eu/

#6 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 14.02.2013 16:48

Aha. Dobra rozumiem. Ale to nie zmienia metody zrobienia tego czegoś. Tworzysz zmienną logiczną, ustawiasz ją na true po wybraniu opcji i przy respawnie gracza dodajesz warunek, że jak zmienna wynosi true, dostaje poprzednie bronie, a jeżeli false to otwiera menu.
  • +
  • -
  • 1

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#7 sekio

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:270
  • GG:
  • Imię:Sebastian
  • Lokalizacja:lodz
Offline

Napisano 14.02.2013 19:19

Zrobiłem tak jak napisałeś działa , tylko została ostania rzecz jak zrobić zapamiętywanie w tym case , bo to co mi podałeś to połowa sukcesu .
Spoiler

http://www.youtube.com/watch?v=T0qmmWiGAho
http://elite-skill.eu/

#8 sekio

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:270
  • GG:
  • Imię:Sebastian
  • Lokalizacja:lodz
Offline

Napisano 16.02.2013 16:40

Odswieżam

Jestem już pod samym końcem , potrzebuje tylko kogoś mądrego kto wytłumaczy mi dlaczego w publicu menu(id) to co jest w else nie działa ??

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

new bool:zapamietaj[33],gWybory[33];


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    RegisterHam(Ham_Spawn, "player", "menu", 1);
    register_clcmd("say /menu","menuon")
}

public menu(id)
{
    new menu = menu_create("tutul.", "wybieranie")
    
    if(!zapamietaj[id])
    {
        new menu = menu_create("tutul.", "wybieranie")
        
        
        menu_additem(menu, "\yopcja1)", "1", 0)
        menu_additem(menu, "\yopcja2)", "2", 0)
        menu_additem(menu, "\yopcja3)", "3", 0)
        menu_additem(menu, "\yZapamietaj ostni wybor","4",0)
        
        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
        
        menu_display(id, menu, 0)
    }
    else
    
    wybieranie(id, menu, gWybory[id])
    
    
}

public wybieranie(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    new data[6], iName[64]
    new acces, callback
    menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
    
    new key = str_to_num(data)
    
    switch(key)
    {
        case 1:{
            client_print(id,print_center,"12345")
            client_print(id,print_chat,"12345")
            gWybory[id]=item;
            
            
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        
        case 2:{
            client_print(id,print_center,"12345")
            client_print(id,print_chat,"12345")
            gWybory[id]=item;
            
            
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        
        case 3:{
            client_print(id,print_center,"12345")
            client_print(id,print_chat,"12345")
            gWybory[id]=item;
            
            
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 4:{
            wybieranie(id, menu, gWybory[id]);
            zapamietaj[id]=true;
            client_print(id,print_chat,"Napisz /menu aby wlaczyc menu przy nastepnym spwanie")
            
    
            return PLUGIN_HANDLED
            
        }
        
        
    }
    menu_destroy(menu)
    return PLUGIN_HANDLED
}

public menuon(id)
{
    zapamietaj[id]=false;
    menuon(id);
}

http://www.youtube.com/watch?v=T0qmmWiGAho
http://elite-skill.eu/

#9 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 16.02.2013 16:45

public menu(id)
{
if(!zapamietaj[id])
{
new menu = menu_create("tutul.", "wybieranie")

menu_additem(menu, "\yopcja1)", "1", 0)
menu_additem(menu, "\yopcja2)", "2", 0)
menu_additem(menu, "\yopcja3)", "3", 0)
menu_additem(menu, "\yZapamietaj ostni wybor","4",0)

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, menu, 0)
}
else wybieranie(id, menu, gWybory[id])
}

Spróbuj teraz
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#10 sekio

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:270
  • GG:
  • Imię:Sebastian
  • Lokalizacja:lodz
Offline

Napisano 16.02.2013 17:47

Nie kompiluje się ehhh , wkurza już mnie to.
http://www.youtube.com/watch?v=T0qmmWiGAho
http://elite-skill.eu/

#11 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 16.02.2013 21:53

Jaki error ?
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#12 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 16.02.2013 22:07

zapewne taki że nie zadeklarowano zmiennej menu:
public menu(id)
{
static menu
if(!zapamietaj[id])
{
menu = menu_create("tutul.", "wybieranie")

menu_additem(menu, "\yopcja1)")
menu_additem(menu, "\yopcja2)")
menu_additem(menu, "\yopcja3)")
menu_additem(menu, "\yZapamietaj ostni wybor")

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, menu, 0)
}
else wybieranie(id, menu, gWybory[id])
}

  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#13 sekio

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:270
  • GG:
  • Imię:Sebastian
  • Lokalizacja:lodz
Offline

Napisano 16.02.2013 23:22

@Jak się nazwać twoja wersja nie działa w ogóle ,radnim to czy będziemy tworzyć menu przed ifem czy po nie ma różnicy bo menu działa coś jest nie tak z zapisem wybieranie(id, menu, gWybory[id]) . Chodź dla mnie wygląda wporządku, w linku daje jak wygląda to na razie:
Wklejka #957883 – Wklej.org

Użytkownik sekio edytował ten post 16.02.2013 23:23

http://www.youtube.com/watch?v=T0qmmWiGAho
http://elite-skill.eu/

#14 sekio

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:270
  • GG:
  • Imię:Sebastian
  • Lokalizacja:lodz
Offline

Napisano 19.02.2013 03:23

@
Poradziłem sobie do zamknięcia.
http://www.youtube.com/watch?v=T0qmmWiGAho
http://elite-skill.eu/

#15 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 19.02.2013 10:06

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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