←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[Raczej Łatwe] Jak otworzyć inne menu?

Locked

  • +
  • -
WazzaP's Photo WazzaP 26.04.2011

Witam.
Znalazłem taki plugin /zakup: Menu /zakup - AMXX.pl: Support AMX Mod X
I do niego mam pytanie.
Jak zrobić aby nie otwierało mi np. vip.txt, ale aby wpisywało komendę /rangi?

Przykład:
Mam tak:
		case 5:
{
show_motd(id, "vip.txt", "Kup VIP'a")
menu_destroy(menu);
return PLUGIN_HANDLED;


I to mi otwiera plik vip.txt
I jak mam zrobić aby otwierało drugie menu? (Aby uruchomić te drugie menu potrzebna jest komenda /rangi
Edited by WazzaP, 26.04.2011 05:51.
Quote

  • +
  • -
speedkill's Photo speedkill 26.04.2011

Zeby wpisało rangi musisz zamienic swow_motd na
clien_cmd(id,"say /rangi")
a jesli chcesz zrobic drugie menu to tak

case xx{[b][b][b][/b][/b][/b]
menu1(id)
}
potem tworzysz publica do menu 1
i juz
public menu(id)
{
//kod od menu
}
przykład
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Menu"
#define VERSION "1.0"
#define AUTHOR "michal"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /menu", "menu")

} 
public menu(id)
{
    new menu = menu_create("\rMenu", "wybieranie")
    
    menu_additem(menu, "\wGry i Zabawy", "1", 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:{
            menu1(id
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        
    }
    menu_destroy(menu)
    return PLUGIN_HANDLED
} 
public menu1(id)
{
    new menu = menu_create("\rGry i Zabawy", "wybieranie1")
    
    menu_additem(menu, "\wcos", "1", 0)
    menu_additem(menu, "\wcos", "2", 0)

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

public wybieranie1(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:{

        }
        case 2:{

        }
    }
    menu_destroy(menu)
    return PLUGIN_HANDLED
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

Edited by speedkill123, 26.04.2011 07:45.
Quote

  • +
  • -
WazzaP's Photo WazzaP 26.04.2011

Pobawiłem się chwilę i na razie nie mam gdzie testować, tak więc pytanie:

Czemu nie kompiluje się? Będzie działać? Przeniesie się samo na drugą stronę?



#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <colorchat>

#define PLUGIN "Menu"
#define VERSION "2.0"
#define AUTHOR "[AvP] ELOS"



public plugin_init ()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /menu", "xmenu");
}


public xmenu(id)
{
new menu = menu_create("\yMenu \rJust-Street:", "wybieranie");
menu_additem(menu, "\rSklep", "1", 0);
menu_additem(menu, "\wKup Admina", "2", 0);
menu_additem(menu, "\wKup Slota", "3", 0);
menu_additem(menu, "\wKup Vipa", "4", 0);
menu_additem(menu, "\dWybierz Czapke", "5", 0);
menu_additem(menu, "\dybierz Range", "6", 0);
menu_additem(menu, "\rMenu Expa", "7", 0);
menu_additem(menu, "\dLista Killerow", "8", 0);
menu_additem(menu, "\dUciszenie Gracza", "9", 0);

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

menu_display(id, menu, 0);
ColorChat(id,GREEN,"[Deathrun]^x01 Wybrales Menu Zakupu.");
}
public wybieranie(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}


new data[6], iName[64];
new zaccess, callback;
menu_item_getinfo(menu, item, zaccess, data,5, iName, 64, callback);
new key = str_to_num(data)

switch(key)
{
case 1:
{
clien_cmd(id,"say drshop")
menu_destroy(menu);
return PLUGIN_HANDLED;
}

case 2:
{

show_motd(id, "admin.txt", "Kup Admina")
menu_destroy(menu);
return PLUGIN_HANDLED;
}

case 3:
{
show_motd(id, "slot.txt", "Kup Slota")
menu_destroy(menu);
return PLUGIN_HANDLED;
}

case 4:
{
show_motd(id, "vip.txt", "Kup VIP'a")
menu_destroy(menu);
return PLUGIN_HANDLED;
}

case 5:
{
clien_cmd(id,"say /exp")
menu_destroy(menu);
return PLUGIN_HANDLED;
}

case 6:
{
clien_cmd(id,"say /rangi")
menu_destroy(menu);
return PLUGIN_HANDLED;
}

case 7:
{
clien_cmd(id,"say /czapki")
menu_destroy(menu);
return PLUGIN_HANDLED;
}

case 8:
{
clien_cmd(id,"say /top10")
menu_destroy(menu);
return PLUGIN_HANDLED;
}

case 9:
{
clien_cmd(id,"say /mute")
menu_destroy(menu);
return PLUGIN_HANDLED;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n{\\ colortbl ;\\ red0\\ green0\\ blue0;}\n\\ viewkind4\\ uc1\\ pard\\ cf1\\ lang1045\\ f0\\ fs16 \n\\ par }
*/


Przy kompilacji mam takie błędy:

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team


zakup.sma(48) : warning 217: loose indentation
zakup.sma(57) : error 017: undefined symbol "clien_cmd"
zakup.sma(86) : error 017: undefined symbol "clien_cmd"
zakup.sma(93) : error 017: undefined symbol "clien_cmd"
zakup.sma(100) : error 017: undefined symbol "clien_cmd"
zakup.sma(107) : error 017: undefined symbol "clien_cmd"
zakup.sma(114) : error 017: undefined symbol "clien_cmd"
zakup.sma(119) : warning 217: loose indentation

6 Errors.
Could not locate output file zakup.amxx (compile failed).

Edited by WazzaP, 26.04.2011 13:23.
Quote

mierzwi's Photo mierzwi 26.04.2011

client_cmd nie clien_cmd :)
Quote

  • +
  • -
WazzaP's Photo WazzaP 26.04.2011

A no xD Nie zauważyłem. A odpowie ktoś na moje pytania podane wyżej?
Quote

  • +
  • -
speedkill's Photo speedkill 26.04.2011

Tak będzie działać masz tu kod naprawiony
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <colorchat>

#define PLUGIN "Menu"
#define VERSION "2.0"
#define AUTHOR "[AvP] ELOS"



   public plugin_init ()
{
   	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_clcmd("say /menu", "menu");
}


public menu(id) 
{
		new menu = menu_create("\yMenu \rJust-Street:", "wybieranie");
		menu_additem(menu, "\rSklep", "1", 0);
		menu_additem(menu, "\wKup Admina", "2", 0);
		menu_additem(menu, "\wKup Slota", "3", 0);
		menu_additem(menu, "\wKup Vipa", "4", 0);
		menu_additem(menu, "\dWybierz Czapke", "5", 0);
                menu_additem(menu, "\dybierz Range", "6", 0);
                menu_additem(menu, "\rMenu Expa", "7", 0);
		menu_additem(menu, "\dLista Killerow", "8", 0);
                menu_additem(menu, "\dUciszenie Gracza", "9", 0);

		menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
		
		menu_display(id, menu, 0);
		ColorChat(id,GREEN,"[Deathrun]^x01 Wybrales Menu Zakupu.");
}
public wybieranie(id, menu, item)
{
		if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	
	new data[6], iName[64];
	new zaccess, callback;
	menu_item_getinfo(menu, item, zaccess, data,5, iName, 64, callback);
	new key = str_to_num(data)
	
	switch(key)
{
	case 1:
	{
		client_cmd(id,"say drshop")
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	case 2:
	{

		show_motd(id, "admin.txt", "Kup Admina")
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	case 3:
	{
		show_motd(id, "slot.txt", "Kup Slota")
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	case 4:
	{
		show_motd(id, "vip.txt", "Kup VIP'a")
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	case 5:
	{
		client_cmd(id,"say /exp")
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

        case 6:
        {
		client_cmd(id,"say /rangi")
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

        case 7:
        {
		client_cmd(id,"say /czapki")
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

        case 8:
        {
		client_cmd(id,"say /top10")
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

        case 9:
        {
		client_cmd(id,"say /mute")
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
      }
      menu_destroy(menu);
      return PLUGIN_HANDLED;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n{\\ colortbl ;\\ red0\\ green0\\ blue0;}\n\\ viewkind4\\ uc1\\ pard\\ cf1\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
Quote
Locked