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ć!
Co i jak:
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.
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ć!
Kod: Zaznacz cały
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Mapcykl Matkojebca"
#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:
Kod: Zaznacz cały
#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.