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
- - - - -

MapCycle Rotator


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
25 odpowiedzi w tym temacie

#1 graczu

    Pomocny

  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:42
  • GG:
  • Lokalizacja:Wrocław
Offline

Napisano 05.05.2009 22:06

Opis:

Plugin pozwala na określanie z jakiego pliku ma ładować kolejność map od danej godziny do danej godziny.
Dodatkowa opcja to say /mapcycle

Instalacja:

Wiek: 14 lat +
Standardowa
Pliki z rotacjami map w katalogu cstrike/
w pliku konfiguracji serwera, domyślnie server.cfg NIE OKREŚLAĆ PARAMETRU mapcyclefile, pozwolić pluginowi działać!

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Mapcykl matkoj**ca"
#define VERSION "1.0"
#define AUTHOR "graczu"

#define iloscm 3
new mapcycles[iloscm][3][] = {{"mapcycle-rano.txt", "08", "mapcykl poranny"}, {"mapcycle-dzien.txt", "13", "mapcykl dzienny"}, {"mapcycle-noc.txt", "23", "mapcykl nocny"}}
new cum, lastread[3]
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /mapcycle", "cmdSayMapcycle", 0, "- wyswietla aktualny mapcykl")
	get_localinfo("lastcnum", lastread, 2)
	cum = str_to_num(lastread)
	set_localinfo("lastcnum", "")
	sprawdz_mapcycle()
	return PLUGIN_CONTINUE
}

public sprawdz_mapcycle() {
	new today_str[8], cmd[48]
	get_time("%H",today_str,8)
	new today = str_to_num(today_str)
	for(new i = 0; i <= (iloscm - 1); i++){
		if(today >= str_to_num(mapcycles[i][1])){
			cum = i
		}
	}
	new currentfile[32]
	get_cvar_string("mapcyclefile", currentfile, 31)
	if(!equali(currentfile, mapcycles[cum][0])){
		format(cmd, 48 ,"mapcyclefile %s", mapcycles[cum][0])
		server_cmd(cmd)
		log_amx("** Setting new mapcyclefile: %s - %s!", currentfile, mapcycles[cum][0])
		new czytajplik[128], line[192], txtsize = 0
		format(czytajplik, 127, "%s", mapcycles[cum][0])
		new lineread = file_size(czytajplik, 1)
		read_file(czytajplik, (lineread - 1), line, 191, txtsize)
		if (txtsize > 1 && line[0] != ';') {
			format(cmd, 48 ,"amx_nextmap %s", line)
			server_cmd(cmd)
			log_amx("** Setting new MAP NEXTMAP: %s!", line)
		} else {
			log_amx("** Setting new MAP NEXTMAP: ERROR LINE IS EMPTY!!")
		}
	} else {
		log_amx("** Mapcyclefile: %s - %s!", currentfile, mapcycles[cum][0])
	}
	return PLUGIN_HANDLED
}

public cmdSayMapcycle(id){
	client_print(id, print_chat, "* Aktualnie Gramy: %s, wcisnij TYLDE by zobaczyc liste map.", mapcycles[cum][2])
	client_print(id, print_console, "************* Aktualna Rotacja Map:")
	new line[192], lines = 0, txtsize = 0, i = 1
	new czytajplik[128]
	format(czytajplik, 127, "%s", mapcycles[cum][0])
	if(file_exists(czytajplik)){
		while ((lines = read_file(czytajplik, lines, line, 191, txtsize)) != 0) {
			if (line[0] == ';') continue;
			client_print(id, print_console, "* Pozycja: %i : %s", i, line)
			i++
		}
	}
	client_print(id, print_console, "**********************************")
}

public plugin_end()
{
	new lastcycle[3]
	num_to_str(cum, lastcycle, 2)
	set_localinfo("lastcnum", lastcycle)
}

Co i jak:

#define iloscm 3
new mapcycles[iloscm][3][] = {{"mapcycle-rano.txt", "08", "mapcykl poranny"}, {"mapcycle-dzien.txt", "13", "mapcykl dzienny"}, {"mapcycle-noc.txt", "23", "mapcykl nocny"}}

Tutaj określamy pliki oraz czas ładowanych plików z rotacjami map, trzeba pamiętać by dobrze określać godzinę dla danej rotacji, godziny lecą po kolei.

Update:

Dodałem set_localinfo w przypadku gdyby ostatnia ustalona rotacja była o 23, a początkowa o 8 (Tak by między 23 a 8 rano pokazywało dobrze jaka jest aktualna rotacja mapy).

Update2:

Zmieniłem nazwę wartość localinfo bo gryzła się z nextmap.sma.
Dodałem mały debug, i dodałem by po załadowaniu nowego mapcykla ustawiał nextmape już z nowego pliku.

Załączone pliki


  • +
  • -
  • 1

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 05.05.2009 22:16

Wiek: 14 lat +

Wiedzę po raz pierwszy plugin, który posiada ograniczenia wiekowe. O ile wiem w Polsce w Counter Strike`a można grać od 16 roku zycia.


co gdy ustawione godziny będą na siebie "nachodzić"?
  • +
  • -
  • 0

#3 graczu

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:42
  • GG:
  • Lokalizacja:Wrocław
Offline

Napisano 05.05.2009 22:37

W jakim sensie nachodzić?. Człowiek posiada zdolność myślenia by określić odpowiednio czasy rotacji map plików by na siebie nie nachodziły. Mówię tu o ludziach nie gatunku postujących "Pomocy nie działa". ;-) O:)
  • +
  • -
  • 0

#4 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 05.05.2009 22:50

Chodzi mi jak o to, jak plugin zachowa się w przypadku takiej konfiguracji:
new mapcycles[iloscm][3][] = {{"mapcycle-rano.txt", "8", "15"}, {"mapcycle-dzien.txt", "13", "23"}, {"mapcycle-noc.txt", "20", "8"}}

  • +
  • -
  • 0

#5 graczu

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:42
  • GG:
  • Lokalizacja:Wrocław
Offline

Napisano 05.05.2009 23:35

Wykona polecenia ustalenia pliku rotacji mapy z ostatniej zgodnej podanej w zbiorze.

Czyli o godzinie 14 będzie mapcykl dzień.

Btw muszę poprawić plugin by czas brał z tak zwanego unix_time bo zapomniałem że Polski zegar ma od 1 - 23 i godzinę 00.

Więc jutro update.
  • +
  • -
  • 0

#6 Seba

    Wszechobecny

  • Zbanowany

Reputacja: 198
Profesjonalista

  • Postów:424
  • Lokalizacja:Internet
Offline

Napisano 06.05.2009 00:33

W tym kodzie prawdę mówiąc same kombinowanie, wszystko można wykonać za pomocą kilku linijek.

#7 TastyB

    Zaawansowany

  • Girl

Reputacja: 9
Nowy

  • Postów:147
Offline

Napisano 06.05.2009 19:45

W tym kodzie prawdę mówiąc same kombinowanie, wszystko można wykonać za pomocą kilku linijek.


to napisz lepszy plugin ;]
  • +
  • -
  • 0

#8 graczu

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:42
  • GG:
  • Lokalizacja:Wrocław
Offline

Napisano 07.05.2009 09:43

W tym kodzie prawdę mówiąc same kombinowanie, wszystko można wykonać za pomocą kilku linijek.


Zapewne nie trzeba tworzyć zmiennych etc, ale jak ci to przeszkadza to sobie napisz własną wersję. Nikt ci nie broni. Najlepiej jest dużo pisać (Post sobie nabiłeś, jesteś cool).

Update.
  • +
  • -
  • 0

#9 bisser

    Profesjonalista

  • Użytkownik

Reputacja: 7
Nowy

  • Postów:177
  • Lokalizacja:Zachód
Offline

Napisano 09.05.2009 07:35

Dobre, tyle że przydało by się aby ten plugin współpracował z mapchooser.amxx, czyli aby mapy do votowania były dawane z tych plików.
  • +
  • -
  • 0

#10 graczu

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:42
  • GG:
  • Lokalizacja:Wrocław
Offline

Napisano 09.05.2009 23:33

a mapchoser nie odczytuje sobie z jakiego pliku idzie rotacja map z zmiennej "mapcyclefile"?, jeżeli odczytuje, to jest kompatybilny.

Nawet sprawdziłem:

if (!file_exists(maps_ini_file))
		get_cvar_string("mapcyclefile", maps_ini_file, 63)

Czyli jest kompatybilny ;-)
  • +
  • -
  • 0

#11 Gość__*

  • Gość

Reputacja: 0

Offline

Napisano 09.05.2009 23:48

Dobre, tyle że przydało by się aby ten plugin współpracował z mapchooser.amxx, czyli aby mapy do votowania były dawane z tych plików.

Poczekaj parę dni i pojawi się na forum mapchooser5, który ma min. opcje czytania map dzień / noc z osobnych plików.

#12 bisser

    Profesjonalista

  • Użytkownik

Reputacja: 7
Nowy

  • Postów:177
  • Lokalizacja:Zachód
Offline

Napisano 10.05.2009 21:43

Temat opanowany, należy wywalić pliki z których mapchooser.amxx czyta mapy do votowania, czyli mapcycle.txt z katalogu cstrike i maps.ini z amx-a, wtedy będą dawane mapy do głosowania zależnie od pory dnia.
Jest tylko jeden problem że jak wywali się maps.ini to admini nie będą mogli dawać głosowań na mapy spod amx-a, ja poradziłem sobie tak że w mapchooser.sma zmieniłem
maps.ini na nmaps.ini i jest ok.
  • +
  • -
  • 0

#13 kasza

    Godlike

  • Przyjaciel

Reputacja: 890
Czempion

  • Postów:4 102
  • GG:
  • Steam:steam
  • Imię:Imię
  • Lokalizacja:Lokalizacja
Offline

Napisano 10.05.2009 22:09

a jak ktos ma na serwerze galileo ?
  • +
  • -
  • 0

Skillownia.com

 

 #3 [UWC3NG] Skillownia.com - 213.189.52.253:27301

 


#14 dragon1626

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • GG:
Offline

Napisano 11.05.2009 16:16

thx za pluga
  • +
  • -
  • 0

#15 Old No. 7

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:Pruszcz Pomorski
Offline

Napisano 09.06.2009 12:50

sorka, że odświeżam.

po wgraniu pluginu mam pewien problem, mianowicie często powtarza się sytuacja, w której następna mapa jest mapą graną obecnie.

po polsku wygląda to tak:
grana mapa - de_dust2
nextmap - de_dust2

zmieni się na d2 i znów wpisując "nextmap" wyskoczy nam cudownie d2 i tak w kółko póki admin nie ruszy mapcycla przez "amx_cvar amx"nextmap" :D lecz po kilku mapach znów "zacina".


jakieś pomysły, bo ja ostatnio czasu nawet na myślenie nie mam. ;)
  • +
  • -
  • 0

#16 Gość__*

  • Gość

Reputacja: 0

Offline

Napisano 09.06.2009 13:03

Sprawdź czy w plikach *.txt ( tam gdzie masz mapy ) nie spacji po nazwie mapy :)

#17 Old No. 7

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:Pruszcz Pomorski
Offline

Napisano 09.06.2009 14:32

Sprawdź czy w plikach *.txt ( tam gdzie masz mapy ) nie spacji po nazwie mapy :)


nie ma... ???:( :help:
  • +
  • -
  • 0

#18 Gość__*

  • Gość

Reputacja: 0

Offline

Napisano 09.06.2009 17:00

Dodaj jako załącznik pliki od map ( *.txt ).

#19 Old No. 7

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:Pruszcz Pomorski
Offline

Napisano 17.06.2009 11:55

dopiero do kompa dopadłem :D

masz spakowane na sendspace!

mapcycle

dzięki za pomoc :)
  • +
  • -
  • 0

#20 aelef

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
  • Lokalizacja:Poznań
Offline

Napisano 18.07.2009 18:19

czy ktos może powiedzieć jakie jest rozwiązanie tego problemu o któym wspomniał old.No.7???

ja nie mam spacji w txt w mapach
  • +
  • -
  • 0




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

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