Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

3 страниц V  « 2 3

GHW Custom Nextmap Chooser

, v1.4m
Safety1st
сообщение 8.1.2014, 21:19
Сообщение #41
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(Spieler @ 21.12.2013, 17:35) *
У меня есть такой custom_nextmaps.ini, а еще какой нужен?

Для моего - custom_nextmaps_small.ini
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BURZUM001
сообщение 17.1.2014, 20:36
Сообщение #42
Стаж: 13 лет

Сообщений: 144
Благодарностей: 5
Полезность: < 0

А насколько стоит задержка 2 последних карт в голосовании? И можно ли сделать больше количество?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 17.1.2014, 20:50
Сообщение #43
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Не понял про задержку.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BURZUM001
сообщение 18.1.2014, 23:48
Сообщение #44
Стаж: 13 лет

Сообщений: 144
Благодарностей: 5
Полезность: < 0

Safety1st, с задержкой понял, просто у меня таймлимит по 15 мин и получается выбирают одни и теже по кругу карты (жмут 1 обычно при выборе)
Вот бы увеличить время задержки карты

Отредактировал: BURZUM001, - 18.1.2014, 23:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 18.1.2014, 23:58
Сообщение #45
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Могут 'баниться' последние 2 игравшиеся карты + текущая. Т.е. они в меню не появятся. Но это надо 'включать' в конфиге явно:
Код
map_currentmap_show
map_lastmap_show 0
map_lastlastmap_show 0


И на первые цифры я однозначно советую ставить весь набор карт.

Я некоторое время назад разочаровался в идее 'свои карты на каждом слоте'. Вот на мультимодовом сервере это было бы неплохо)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя primm
сообщение 19.1.2014, 7:44
Сообщение #46


Стаж: 16 лет
Город: Москва

Сообщений: 517
Благодарностей: 140
Полезность: 520

Не хватает рандомности выбора карт в слотах. Хотя может она и есть, но какая то не правильная. Четыре слота заполнены картами по 8-10 шт, в голосование попадают 3-4 верхних карты. Ну или покрайней мере они выпадают гораздо чаще других карт. Получается если бы не номинация то, играли бы на одних и тех же 5-6 картах.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BURZUM001
сообщение 19.1.2014, 12:18
Сообщение #47
Стаж: 13 лет

Сообщений: 144
Благодарностей: 5
Полезность: < 0

Safety1st,
это в amxx.cfg прописать? а если в sma так прописано не работает?

у меня вот какая структура:
1 - $1000$ серия карт
2 - fy_ серия карт
3 - aim_ серия карт
4 - awp_ & 35hp серии карт
5 - _2x2 серия карт
6 - cs_ de_ серия карт
7 - gg_ серия карт
8 - номинация

5, 6, 7 - выпадает голосование на режим игры GunGame

primm,
Тоже заметил, некоторых карт никогда не бывает в голосовании, а одни и теже постоянно повторяются...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 19.1.2014, 21:18
Сообщение #48
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(BURZUM001 @ 19.1.2014, 14:18) *
это в amxx.cfg прописать? а если в sma так прописано не работает?

Я не рекомендую задавать cvar'ы в коде плагина. на то они и cvar'ы.

Цитата(primm @ 19.1.2014, 9:44) *
Не хватает рандомности выбора карт в слотах.
Цитата(BURZUM001 @ 19.1.2014, 14:18) *
Тоже заметил, некоторых карт никогда не бывает в голосовании, а одни и теже постоянно повторяются...

Рандомность в плагине стандартная. У себя неудобств не замечал. Буду рад увидеть отфильтрованный лог, где указан только порядок игравшихся карт. Быть может, удастся улучшить ротацию.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 23.1.2014, 10:04
Сообщение #49
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Ностальгия xD
Цитата(Safety1st @ 1.10.2012, 19:22) *
Рекомендую глянуть Custom NextMap Chooser, только его доработанную сторонними людьми версию. Это если вы по-английски читаете :D

Это довольно простой плагин. Он поддерживает 2 'набора' карт (в зависимости от числа народа на сервере). И что мне очень нравится - позволяет задать индивидуальный набор карт на каждую кнопку в меню. Стандартные функциональности rtv и nominate. Заранее выводит меню картинкой, чтобы игроки оценили предложенный выбор и осознанно нажали кнопку. Позволяет выводить в меню текущую и предыдущую карты (если разрешено настройками).
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SkiF-1
сообщение 1.2.2014, 0:24
Сообщение #50


Стаж: 16 лет

Сообщений: 297
Благодарностей: 83
Полезность: 177

Safety1st,
Почему нельзя сменить префикс и цвет в данной строке?
Цитата
new pref[] = "^4[AMXX]" // initial color code is MANDATORY for now. Do not remove it!


Отредактировал: SkiF-1, - 1.2.2014, 0:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 1.2.2014, 0:36
Сообщение #51
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Там написано не то, что вы подумали)
Префикс и цвет можно менять свободно, но цвет обязательно должен быть задан первым символом. Иначе не будет цветов совсем)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя SkiF-1
сообщение 1.2.2014, 0:40
Сообщение #52


Стаж: 16 лет

Сообщений: 297
Благодарностей: 83
Полезность: 177

Safety1st,
Так же от цвета который стоит первым (^4) зависит и остальной текст?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 1.2.2014, 0:50
Сообщение #53
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Зависит, пока не встретится следующий код.
• ^1 - обычный
• ^3 - цвет команды
• ^4 - зелёный

'Цвет' после ^3 определяется 2-м параметром в нативе ColorChat():
• DontChange - цвет, который увидит игрок, определяется тем, в какой он команде: CT увидят синий, TT - красный
• DontChange + sender index - цвет определяется командой 'отправителя' сообщения
• Red - все игроки будут видеть красный
• Blue - то же, но синий
• Grey - то же, но серый

Плагин писался в те времена, когда в colorchat'е был баг и никакие значения параметра для тим-цвета (^3), кроме DontChange, корректно не работали. Поэтому остальные в коде не использованы.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dehost
сообщение 28.4.2014, 19:51
Сообщение #54


Стаж: 13 лет

Сообщений: 3147
Благодарностей: 1431
Полезность: 486

Ребят такой вопрос,..
плагин GHW_Custom_Nextmap
если ник длинный то не всё показывает когда пишешь /rtv
не хватает букв

как это исправить?


Золотое правило нравственности:
"Относись к людям так, как хочешь, чтобы относились к тебе."
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 28.4.2014, 20:41
Сообщение #55
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Придумайте более короткий вариант фразы, которая не помещается в чате.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 28.4.2014, 20:43
Сообщение #56
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

удобный плагин.


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dehost
сообщение 28.4.2014, 20:47
Сообщение #57


Стаж: 13 лет

Сообщений: 3147
Благодарностей: 1431
Полезность: 486

Цитата(Developer @ 28.4.2014, 21:41) *
Придумайте более короткий вариант фразы, которая не помещается в чате.


как префикс названия моего сервера + ник игрока и вообще тест срезается...
вообще можно как то увеличить?


Золотое правило нравственности:
"Относись к людям так, как хочешь, чтобы относились к тебе."
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 28.4.2014, 20:57
Сообщение #58
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(dehost @ 28.4.2014, 22:47) *
как префикс названия моего сервера + ник игрока и вообще тест срезается...

Пример дайте.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BURZUM001
сообщение 29.4.2014, 19:32
Сообщение #59
Стаж: 13 лет

Сообщений: 144
Благодарностей: 5
Полезность: < 0

Пробовал последнюю версию, но сервер с ней падает, даже не знаю, там много новооведений разных.

Мне нравится версия 1.4d, если бы туда добавить возможность доиграть раунд до смены карты, было бы вообще супер,
но похоже кроме Safety1stа с этим никто не справится...

Код:

/**
* Modified by Safety1st
* 11/24/2013
*
* Changes:
* - admins & VIPs have increased vote weight
*/

#define VERSION "1.4d"

#include <amxmodx>
#include <amxmisc>

// customizable parameters
#define MAX_NOMINATED 20
#define MAX_TRIES 50
#define ADMIN_FLAG ADMIN_BAN
#define VIP_FLAG ADMIN_LEVEL_H
new ADMIN_VOTE_WEIGHT = 5
new VIP_VOTE_WEIGHT = 2
// end of customizable parameters

new configfile[200]

new menu[2000]
new keys

new g_teamScore[2]

new bool:voting
new votes[10]
new maps[9][32]

new num_nominated = 0
new nominated[MAX_NOMINATED][32]
new bool:has_nominated[33]

new mp_winlimit
new mp_maxrounds
new mp_timelimit

new extended_pcvar
new extendtime_pcvar
new lastmap_pcvar
new lastmap_was_pcvar
new lastlastmap_pcvar
new lastlastmap_was_pcvar
new showvotes_pcvar
new rtv_percent_pcvar
new rtv_wait_pcvar
new delay_time_pcvar
new delay_tally_time_pcvar

new extended

new cur_nextmap[32]

new cstrike
new bool:rtv[33]
new rtvtotal

new Float:voterocked
new bool:voterocked2

new num

new say_commands[][32] =
{
"rockthevote",
"rock the vote",
"rtv",
"/rockthevote",
"/rock the vote",
"/rtv"
}

new say_commands2[][32] =
{
"nominate",
"/nominate"
}

new lastmap[32]
new lastlastmap[32]
new currentmap[32]

public plugin_init()
{
register_plugin("Custom NextMap Chooser",VERSION,"GHW_Chronic")

get_configsdir(configfile,199)
format(configfile,199,"%s/custom_nextmaps.ini",configfile)

register_cvar("map_enabled","1")

if(file_exists(configfile) && get_cvar_num("map_enabled"))
{
register_concmd("amx_nextmap_vote","cmd_nextmap",ADMIN_MAP,"Starts a vote for nextmap [1=allow extend(Default) | 0=Don't allow extend] [1=Change Now(Default) | 0=Change at End")

register_clcmd("say nextmap","saynextmap")
register_clcmd("say_team nextmap","saynextmap")

register_clcmd("say","say_hook")
register_clcmd("say_team","say_hook")

cstrike = cstrike_running()
if(cstrike) register_event("TeamScore", "team_score", "a")

register_menucmd(register_menuid("CustomNextMap"),(1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9),"VoteCount")

set_task(15.0,"Check_Endround",1337,"",0,"b")

if(cstrike)
{
mp_winlimit = get_cvar_pointer("mp_winlimit")
mp_maxrounds = get_cvar_pointer("mp_maxrounds")
}
mp_timelimit = get_cvar_pointer("mp_timelimit")

extended_pcvar = register_cvar("map_extend_max","1")
extendtime_pcvar = register_cvar("map_extend_time","10")
lastmap_pcvar = register_cvar("map_lastmap_show","0")
lastlastmap_pcvar = register_cvar("map_lastlastmap_show","0")
showvotes_pcvar = register_cvar("map_show_votes","1")
rtv_percent_pcvar = register_cvar("map_rtv_percent","70")
rtv_wait_pcvar = register_cvar("map_rtv_wait","180")
lastmap_was_pcvar = register_cvar("qq_lastmap","")
lastlastmap_was_pcvar = register_cvar("qq_lastlastmap","")
delay_time_pcvar = register_cvar("map_delay_time","6")
delay_tally_time_pcvar = register_cvar("map_tally_delay_time","20")

if(is_plugin_loaded("Nextmap Chooser")!=-1) pause("acd","mapchooser.amxx")
if(!cvar_exists("amx_nextmap")) register_cvar("amx_nextmap","")

get_pcvar_string(lastmap_was_pcvar,lastmap,31)
get_pcvar_string(lastlastmap_was_pcvar,lastlastmap,31)
get_mapname(currentmap,31)
}
}

public client_disconnect(id)
{
if(rtv[id])
{
rtv[id]=false
has_nominated[id]=false
rtvtotal--
}
}

public cmd_nextmap(id,level,cid)
{
if(!cmd_access(id,level,cid,1))
{
return PLUGIN_HANDLED
}

if(!voting)
{
num = get_pcvar_num(delay_time_pcvar)
if(num<1) num=1

new arg1[8] = "1"
new arg2[8] = "1"
if(read_argc()>=2)
{
read_argv(1,arg1,7)
if(read_argc()>=3)
{
read_argv(2,arg2,7)
}
}

client_print(0,print_chat,"Админ создал голосование за следующую карту! Запустится через %d сек.",num)

if(str_to_num(arg2)) voterocked2=true
else voterocked2=false
make_menu(str_to_num(arg1))

}
else
{
client_print(id,print_chat,"Голосование уже создано.")
}
return PLUGIN_HANDLED
}

public make_menu(add_extend)
{
num = get_pcvar_num(delay_time_pcvar)
if(num<1) num=1

for(new i=0;i<10;i++) votes[i]=0
for(new i=0;i<9;i++) format(maps[i],31,"")

format(menu,1999,"^n")

new Fsize = file_size(configfile,1)
new read[32], trash, string[8]
new numbers[17]

for(new i=1;i<9;i++)
{
numbers[i]=0
numbers[17-i]=0
for(new i2=0;i2<Fsize;i2++)
{
read_file(configfile,i2,read,31,trash)
format(string,7,"[%d]",i)
if(equali(read,string)) numbers[i]=i2+1

format(string,7,"[/%d]",i)
if(equali(read,string)) numbers[17-i]=i2-1
}
}

new tries
keys = (1<<9)
new j
for(new i=1;i<9;i++)
{
format(maps[i],31,"")
if(numbers[i] && numbers[17-i] && numbers[17-i]-numbers[i]>=0)
{
tries=0
while(tries<MAX_TRIES)
{
read_file(configfile,random_num(numbers[i],numbers[17-i]),read,31,trash)
if(containi(read,"%nominated%")==0 && num_nominated>0) format(read,31,"%s",nominated[random_num(0,num_nominated - 1)])
if(is_map_valid(read) && !equali(read,currentmap) && (get_pcvar_num(lastmap_pcvar) || !equali(read,lastmap)) && (get_pcvar_num(lastlastmap_pcvar) || !equali(read,lastlastmap)))
{
for(j=1;j<i;j++)
{
if(equali(read,maps[j]))
{
j = 0
break;
}
}
if(!j) break;
format(maps[i],31,"%s",read)
format(menu,1999,"%s^n%d. %s",menu,i,read)
switch(i)
{
case 1: keys |= (1<<0)
case 2: keys |= (1<<1)
case 3: keys |= (1<<2)
case 4: keys |= (1<<3)
case 5: keys |= (1<<4)
case 6: keys |= (1<<5)
case 7: keys |= (1<<6)
case 8: keys |= (1<<7)
}
break;
}
tries++
}
}
}

if(add_extend)
{
new mapname[32]
get_mapname(mapname,31)
if(extended<get_pcvar_num(extended_pcvar))
{
format(menu,1999,"%s^n^n9. Продлить %s",menu,mapname)
keys |= (1<<8)
}
}
format(menu,1999,"%s^n0. Ничего не выбирать",menu)

set_hudmessage(255,0,0,0.03,0.40,0,6.0,1.0,0.0,0.0,3)
show_hudmessage(0,"Голосование начнется через %d секунд:",num)

set_hudmessage(255,255,255,0.03,0.40,0,6.0,1.0,0.0,0.0,4)
show_hudmessage(0,menu)

set_task(1.0,"Send_Menu",0,"",0,"a",num)
set_task(get_pcvar_float(delay_tally_time_pcvar) + float(num),"VoteTally",0)

voting=true
voterocked=-1.0
}

public Send_Menu()
{
if(num!=1)
{
set_hudmessage(255,0,0,0.03,0.40,0,6.0,1.0,0.0,0.0,3)
show_hudmessage(0,"Голосование начнется через %d секунд:",num-1)

set_hudmessage(255,255,255,0.03,0.40,0,6.0,1.0,0.0,0.0,4)
show_hudmessage(0,menu)
num--
}
else
{
// client_cmd(0,"spk Gman/Gman_Choose2")
format(menu,1999,"Пора выбрать следующую карту: %s",menu)
show_menu(0,keys,menu,get_pcvar_num(delay_tally_time_pcvar),"CustomNextMap")
}
}

public saynextmap(id)
{
if(strlen(cur_nextmap)) client_print(0,print_chat,"Следующая карта: %s",cur_nextmap)
else client_print(0,print_chat,"Следующая карта будет выбрана общим голосованием.")
}

public say_hook(id)
{
new text[64]
read_args(text,63)
remove_quotes(text)

new string[32]
for(new i=0;i<sizeof(say_commands);i++)
{
format(string,31,"%s",say_commands[i])
if(containi(text,string)==0) return sayrockthevote(id);
}

for(new i=0;i<sizeof(say_commands2);i++)
{
format(string,31,"%s ",say_commands2[i])
if(containi(text,string)==0)
{
replace(text,63,string,"")
return saynominate(id,text);
}
}

if(is_map_valid2(text)) return saynominate(id,text);

return PLUGIN_CONTINUE
}

public sayrockthevote(id)
{
if(voterocked==-1.0)
{
client_print(id,print_chat,"Голосование уже активировано.")
}
else if((!voterocked && get_gametime()>get_pcvar_num(rtv_wait_pcvar)) || (get_gametime() - voterocked) > get_pcvar_num(rtv_wait_pcvar))
{
if(get_pcvar_num(rtv_percent_pcvar)>0 && get_pcvar_num(rtv_percent_pcvar)<=100)
{
if(rtv[id])
{
client_print(id,print_chat,"Вы уже проголосовали.")
}
else
{
rtv[id]=true
rtvtotal++

new num2, players[32]
get_players(players,num2,"ch")

new name[32]
get_user_name(id,name,31)

new num3 = floatround((num2 * get_pcvar_float(rtv_percent_pcvar) / 100.0) - rtvtotal,floatround_ceil)

if(num3<=0)
{
client_print(0,print_chat,"%s проголосовал за смену карты.",name)
client_print(0,print_chat,"Активированно голосование за смену карты.")

make_menu(1)

voterocked2=true
}
else
{
if(num3!=1) client_print(0,print_chat,"%s твой голос добавлен. Осталось %d голоса(ов) чтобы начать голосование.",name,num3)
else client_print(0,print_chat,"%s проголосовал за смену карту. Осталось проголосовать еще 1 игроку.",name)
}
}
}
else
{
client_print(id,print_chat,"Данная функция отключина.")
}
}
else if(voterocked>0.0)
{
client_print(id,print_chat,"Подождите %d секунд(ы) до нового голосования за смену карты.",get_pcvar_num(rtv_wait_pcvar) - (floatround(get_gametime()) - floatround(voterocked)))
}
else
{
client_print(id,print_chat,"Голосование будет доступно через %d секунд(ы).. (Осталось %d секунд(ы))",get_pcvar_num(rtv_wait_pcvar),get_pcvar_num(rtv_wait_pcvar) - floatround(get_gametime()))
}

return PLUGIN_CONTINUE
}

public saynominate(id,nom_map[64])
{
if(has_nominated[id])
{
client_print(id,print_chat,"Вы уже номинировали карту.")
}
else if(is_map_valid2(nom_map))
{
if(equali(nom_map,currentmap))
{
client_print(0,print_chat,"Карты еще не были номинированы.")
return PLUGIN_CONTINUE
}
else if(!get_pcvar_num(lastmap_pcvar) && equali(nom_map,lastmap))
{
client_print(0,print_chat,"Последня карта не известна.")
return PLUGIN_CONTINUE
}
else if(!get_pcvar_num(lastlastmap_pcvar) && equali(nom_map,lastlastmap))
{
client_print(0,print_chat,"Предпоследняя карта не известна.")
return PLUGIN_CONTINUE
}

for(new i=0;i<num_nominated;i++)
{
if(equali(nominated[i],nom_map))
{
client_print(0,print_chat,"Эта карта уже была номинирована.")
return PLUGIN_CONTINUE
}
}

format(nominated[num_nominated],31,"%s",nom_map)
num_nominated++

new name[32]
get_user_name(id,name,31)
client_print(0,print_chat,"%s номинировал карту %s.",name,nom_map)
has_nominated[id] = true
}
else
{
client_print(0,print_chat,"Такой карты нет на сервере.")
}

return PLUGIN_CONTINUE
}

public is_map_valid2(map[])
{
if(is_map_valid(map) &&
containi(map,"<")==-1 &&
containi(map,"\")==-1 &&
containi(map,"/")==-1 &&
containi(map,">")==-1 &&
containi(map,"?")==-1 &&
containi(map,"|")==-1 &&
containi(map,"*")==-1 &&
containi(map,":")==-1 &&
containi(map,"^"")==-1
)
return 1;

return 0;
}

public Check_Endround()
{
if(voterocked==-1.0)
return ;

new bool:continuea=false

if(cstrike)
{
new winlimit = get_pcvar_num(mp_winlimit)
if(winlimit)
{
new c = winlimit - 2
if(!((c> g_teamScore[0]) && (c>g_teamScore[1]) ))
{
continuea=true
}
}

new maxrounds = get_pcvar_num(mp_maxrounds)

if(maxrounds)
{
if(!((maxrounds - 2) > (g_teamScore[0] + g_teamScore[1])))
{
continuea=true
}
}
}

new timeleft = get_timeleft()
if(!(timeleft < 1 || timeleft > 129))
{
continuea=true
}

if(!continuea)
return ;

remove_task(1337)

make_menu(1)

return ;
}

public VoteCount(id,key)
{
if(voting)
{
new name[32]
get_user_name(id,name,31)
if(key==8)
{
if(get_pcvar_num(showvotes_pcvar)) client_print(0,print_chat,"%s выбрал продление карты.",name)
votes[9] += VoteWeight(id)
}
else if(key==9)
{
if(get_pcvar_num(showvotes_pcvar)) client_print(0,print_chat,"%s отказался голосовать.",name)
}
else if(strlen(maps[key+1]))
{
if(get_pcvar_num(showvotes_pcvar)) client_print(0,print_chat,"%s проголосовал за %s.",name,maps[key+1])
votes[key+1] += VoteWeight(id)
}
else
{
show_menu(id,keys,menu,-1,"CustomNextMap")
}
}
return PLUGIN_HANDLED
}

VoteWeight(id) {
new iFlags = get_user_flags(id)

if( iFlags & ADMIN_FLAG )
return ADMIN_VOTE_WEIGHT

if( iFlags & VIP_FLAG )
return VIP_VOTE_WEIGHT

return 1
}

public VoteTally(num)
{
voting=false
new winner[2]
for(new i=1;i<10;i++)
{
if(votes[i]>winner[1])
{
winner[0]=i
winner[1]=votes[i]
}
votes[i]=0
}
if(!winner[1])
{
if(!voterocked2)
{
new mapname[32]
get_cvar_string("qq_lastmap",mapname,31)
set_cvar_string("qq_lastlastmap",mapname)
get_mapname(mapname,31)
set_cvar_string("qq_lastmap",mapname)
client_print(0,print_chat,"Голосование не состоялось. Будет выбрана случайная карта.")
}
else
{
client_print(0,print_chat,"Голосование не состоялось.")
voterocked=get_gametime()
}
}
else if(winner[0]==9)
{
if(!voterocked2)
{
client_print(0,print_chat,"Голосование завершено. Карта продлена на %d минут(ы).",get_pcvar_num(extendtime_pcvar))
set_pcvar_float(mp_timelimit,get_pcvar_float(mp_timelimit) + get_pcvar_num(extendtime_pcvar))
set_task(15.0,"Check_Endround",1337,"",0,"b")
extended++
}
else
{
client_print(0,print_chat,"Голосование завершено. Карта продлена.")
}
voterocked=get_gametime()
}
else
{
new mapname[32]
get_cvar_string("qq_lastmap",mapname,31)
set_cvar_string("qq_lastlastmap",mapname)
get_mapname(mapname,31)
set_cvar_string("qq_lastmap",mapname)
client_print(0,print_chat,"Голосование завершено. Следующая карта %s!",maps[winner[0]])
if(!voterocked2)
{
set_cvar_string("amx_nextmap",maps[winner[0]])
set_task(1.0,"change_level",winner[0],"",0,"d")
}
else
{
set_task(3.0,"change_level",winner[0])
}
format(cur_nextmap,31,"%s",maps[winner[0]])
}
for(new i=0;i<=32;i++) rtv[i]=false

voterocked2=false
}

public change_level(map)
{
server_cmd("amx_map %s",maps[map])
}

//From the AMXX nextmap base file
public team_score()
{
new team[2]
read_data(1,team,1)
g_teamScore[(team[0]=='C') ? 0 : 1] = read_data(2)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dehost
сообщение 11.5.2014, 15:11
Сообщение #60


Стаж: 13 лет

Сообщений: 3147
Благодарностей: 1431
Полезность: 486

Цитата(Developer @ 28.4.2014, 21:57) *
Пример дайте.



Золотое правило нравственности:
"Относись к людям так, как хочешь, чтобы относились к тебе."
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
3 страниц V  « 2 3
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: