←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Spis map /mapy.

  • +
  • -
qvex's Photo qvex 24.11.2014

Witam.

Mam pytanie dotyczące spisu map.Jak zrobic, że po wpisaniu /mapy na say'u wyswietlą się mapy, które można nominować po wcisnienciu na mape.Nie wiem czy to jakis plugin z zarządzanie map ma byc do tego ?.

Quote

  • +
  • -
shajba.'s Photo shajba. 25.11.2014

Tak, potrzebny jest plugin, który będzie czytał mapy z pliku .txt przykładowo mapy.txt w którym musisz dopisać dostępne mapy na Twoim serwerze.
Quote

  • +
  • -
qvex's Photo qvex 25.11.2014

A mógłbyś mi taki pluginek podesłać ? będę wdzięczny :).

Quote

  • +
  • -
grankee's Photo grankee 27.11.2014

Podesłać to nie, bo trzeba szukać... ale napisałem Ci coś prostego. Czyta automatycznie mapy, które masz wrzucone.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
new menu

public plugin_init() {
	register_plugin("G_nominations_menu", "0.1", "grankee")
	register_clcmd("say /mapy","cmdMapy")
	set_task(10.0,"zrob_menu")
	// Add your code here...
}
public zrob_menu()
{
	menu=menu_create("Nominuj mape:^n","cbMenu")
	new szFile[32], iLen;
	for(new i=0;read_dir("maps", i, szFile, 31, iLen);i++)
	{
		if(containi(szFile,".bsp")==iLen-4) //tylko pliki z .bsp na końcu nazwy
		{
			replace(szFile,31,".bsp","")
			menu_additem(menu,szFile)
		}
	}
}
public cmdMapy(id)
{
	menu_display(id,menu)
	return PLUGIN_CONTINUE
}
public cbMenu(id,menu,item)
{
	new name[32],acc,info[1]
	menu_item_getinfo(menu,item,acc,info,0,name,31,acc)
	client_cmd(id,"say %s",name)
	return PLUGIN_CONTINUE
}

Edited by grankee, 27.11.2014 04:34.
Quote

  • +
  • -
qvex's Photo qvex 27.11.2014

Plugin nie działa, crashuje serwer.Czekam dalej na działający.

Quote

  • +
  • -
.ghiLLie's Photo .ghiLLie 27.11.2014

A to ??

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "mapy"
#define VERSION "v1.0"
#define AUTHOR "Rob Zombie"

new premium_on

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /mapy","mapy")
	premium_on = register_cvar("mapy_on","1")
	register_logevent("pokaz_info",2,"1=Round_Start")
}
public premium(id)
{
	if(get_pcvar_num(mapy_on))
	{
		show_motd(id,"/addons/mapy.txt","Mapy.")
	}
}
public pokaz_info(id)
{
	client_print(0,print_chat,"Aby Zobaczyc Jakie Na Serwerze Sa Mapy : wpisz /mapy")
}

i plik mapy.txt do addons i tam mapy wypisz

 

 


Edited by .ghiLLie, 27.11.2014 16:45.
Quote

  • +
  • -
qvex's Photo qvex 27.11.2014

To samo,  nie działa ;/

Quote

  • +
  • -
XXL's Photo XXL 27.11.2014

Proszę to działa w 100%

#include <amxmodx>

#include <amxmisc>



#define PLUGIN "Cos"

#define VERSION "1.0"

#define AUTHOR "Hiroshima"





public plugin_init() 

{

 register_plugin(PLUGIN, VERSION, AUTHOR)

 register_clcmd("say /komendy", "motd1")

 }



public motd1(id)

{

show_motd( id,"komendy.txt","Przykladowe motd")

}
Quote

  • +
  • -
Master Yoga's Photo Master Yoga 27.11.2014

Spoiler

plugin ten spowoduje jedynie odtworzenie na serwerze pliku txt w okienku motd po wpisaniu komendy, a z tego co zrozumiałem autorowi chodzi o to by wszystkie jego mapy wyświetliły się w menu ( ? ) tak by mógł je nominować.

Quote

  • +
  • -
qvex's Photo qvex 27.11.2014

Chodzi mi o dokladnie cos takiego po wpisaniu /mapy na say'u:

 

Attached Thumbnails

  • 2014-11-27_00002.jpg

Edited by qvex, 27.11.2014 20:18.
Quote

  • +
  • -
grankee's Photo grankee 28.11.2014

 

Podesłać to nie, bo trzeba szukać... ale napisałem Ci coś prostego. Czyta automatycznie mapy, które masz wrzucone.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
new menu

public plugin_init() {
	register_plugin("G_nominations_menu", "0.1", "grankee")
	register_clcmd("say /mapy","cmdMapy")
	set_task(10.0,"zrob_menu")
	// Add your code here...
}
public zrob_menu()
{
	menu=menu_create("Nominuj mape:^n","cbMenu")
	new szFile[32], iLen;
	for(new i=0;read_dir("maps", i, szFile, 31, iLen);i++)
	{
		if(containi(szFile,".bsp")==iLen-4) //tylko pliki z .bsp na końcu nazwy
		{
			replace(szFile,31,".bsp","")
			menu_additem(menu,szFile)
		}
	}
}
public cmdMapy(id)
{
	menu_display(id,menu)
	return PLUGIN_CONTINUE
}
public cbMenu(id,menu,item)
{
	new name[32],acc,info[1]
	menu_item_getinfo(menu,item,acc,info,0,name,31,acc)
	client_cmd(id,"say %s",name)
	return PLUGIN_CONTINUE
}

 

 

Plugin nie działa, crashuje serwer.Czekam dalej na działający.

 

 

To ciekawe, bo sprawdzałem go u siebie i działa (10 sekund po załadowaniu się mapy). Pojawia się menu z mapami, a jak wybierasz to piszesz jej nazwę (tak jak byś ją nominował ręcznie).

 

Masz jakieś error logi z tego crashowania? Może to nie ten plugin?


Edited by grankee, 28.11.2014 00:07.
Quote

  • +
  • -
qvex's Photo qvex 28.11.2014

Crashe robil na pewno ten plugin, bo tylko jak go wgrałem to były one , wywalilem go dziala normalnie.

Quote

  • +
  • -
grankee's Photo grankee 28.11.2014

Mi działa jak należy, no ale skoro wiesz lepiej i nie dajesz logów to powodzenia :)

Quote

  • +
  • -
qvex's Photo qvex 28.11.2014

Bo w logach nic nie widze to co Ci mam wysyłac, tak jak napisales, powinno po 10 sek działac od zmiany mapy, a mi po 10 sek jak wpisze /mapy to crashuje serwer, więc na pewno z pluginem jest nie tak.

Quote

  • +
  • -
grankee's Photo grankee 28.11.2014

Bo w logach nic nie widze to co Ci mam wysyłac, tak jak napisales, powinno po 10 sek działac od zmiany mapy, a mi po 10 sek jak wpisze /mapy to crashuje serwer, więc na pewno z pluginem jest nie tak.

Ktoś ma pomysł dlaczego? Z natury jestem dociekliwy, a mi plugin działa bez zarzutów. 

 

 

A tymczasem zrobię wersję czytającą z pliku listę map. Powiedz tylko jaki to ma być plik? maps.ini mapcycle.txt czy może jeszcze inny


Edited by grankee, 28.11.2014 14:39.
Quote

  • +
  • -
qvex's Photo qvex 28.11.2014

Najlepiej plik mapy.txt

Quote

  • +
  • -
grankee's Photo grankee 28.11.2014

#include <amxmodx>
#include <amxmisc>
new menu

public plugin_init() {
	register_plugin("G_nominations_menu", "0.1", "grankee")
	set_task(5.0,"zrob_menu")
}
public zrob_menu()
{
	if(!file_exists("mapy.txt"))
	{
		log_amx("Brak pliku mapy.txt")
		return PLUGIN_CONTINUE
	}
	register_clcmd("say /mapy","cmdMapy")
	menu=menu_create("Nominuj mape:^n","cbMenu")
	new line=0,len,text[32]
	while(read_file("mapy.txt",line,text,31,len))
	{
		menu_additem(menu,text)
		line++
	}
	return PLUGIN_CONTINUE
}
public cmdMapy(id)
{
	menu_display(id,menu)
	return PLUGIN_CONTINUE
}
public cbMenu(id,menu,item)
{
	new name[32],acc,info[1],cb
	menu_item_getinfo(menu,item,acc,info,0,name,31,cb)
	client_cmd(id,"say %s",name)
	return PLUGIN_CONTINUE
}
Quote

  • +
  • -
qvex's Photo qvex 28.11.2014

Działa elegancko, dzięki wielkie :).

 

Do zamknięcia.


Edited by qvex, 28.11.2014 21:34.
Quote