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

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

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

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

2 страниц V   1 2

Помогите с RTV

, Плачу 100-150 рублей
Статус пользователя Kinder
сообщение 13.4.2013, 15:43
Сообщение #1
Стаж: 13 лет

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

Скрытый текст
/*
* Made by DA
*
* Description:
* This plugin allows the players on your server to vote for a mapvoting.
* The players can say in the chat "/rockthevote", "rockthevote" or "rtv" to vote for the vote.
* The maps will be automaticle loaded from the maps.ini (if it exists) or from the mapcycle.txt.
*
*
* Installation:
* 1. Download the rockthevote_custom.sma and compile it on your local machine.
* 2. Put the rockthevote_custom.amxx in your plugins folder.
* 3. Add at the end from the plugins.ini this line: rockthevote_custom.amxx
* 4. Open your amxx.cfg (mod/addons/amxmodx/configs/) and add the cvar's.
* 5. Restart or change the map from your server.
*
*
* CVAR's:
* amx_timevote number - Default 5 - After 5 MINUTES (Default) is rockthevote allowed.
* amx_howmanypercentage float - Default 0.30 - When 30% (Default) of the players said rockthevote then comes the mapvote.
* amx_howmanyvotes number - Default 8 - When 8 (default) players said rockthevote then comes the mapvote.
* amx_rocktime time - Default 10 - After 10 (default) seconds the voting is over and the server change the map.
*
*
* Credits:
* Deagles - The main idea
* arkshine - Some code
* X-olent - Percentage idea
*
*/

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "RockTheVote"
#define AUTHOR "DA"
#define VERSION "1.8"

#define MAX_MAPS 5
#define MAX_MAP_LENGTH 64
#define MAPSINI "maps.ini"

new rtv[33], howmanyvotes, task_time, keycount[MAX_MAPS], s_Maps[MAX_MAPS][MAX_MAP_LENGTH], count;
new presskeys, howmanyvotesperc, timevote, directmapchange, bool:NextRoundChangeMap = false, nextmap[MAX_MAP_LENGTH];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_dictionary("mapchooser.txt");
register_dictionary("common.txt");
register_clcmd("say", "rockthevote");
register_menu("Chose your Map", 1023, "gonna_chose");
howmanyvotes = register_cvar("amx_howmanyvotes", "8");
howmanyvotesperc = register_cvar("amx_howmanypercentage", "0.30");
task_time = register_cvar("amx_rocktime", "10.0");
timevote = register_cvar("amx_timevote", "5");
directmapchange = register_cvar( "amx_directmapchange", "0" );

register_logevent ( "RoundStart", 2, "1=Round_Start" );

for (new i=0; i < MAX_MAPS+2; i++)
presskeys = presskeys | (1<<i)
}

public client_disconnect(id)
{
if (rtv[id-1] == id)
{
rtv[id-1] = 0;
count--;
}
}

public RoundStart()
{
if ( !get_pcvar_num( directmapchange ) && NextRoundChangeMap )
{
server_cmd( "amx_map %s", nextmap );
}
}

public rockthevote(id)
{
new said[192];
read_args(said, 192);
if ((contain(said, "/rockthevote") != -1) || (contain(said, "кем") != -1) || (contain(said, "rtv") != -1))
{
if (get_gametime() < (get_pcvar_float(timevote) * 60.0))
client_print(id, print_chat, "Голосование сейчас не доступно. Подождите %d минуты.", (floatround(((get_pcvar_float(timevote) * 60.0) - get_gametime()) / 60.0)));
else
{
if (rtv[id-1] == id)
client_print(id, print_chat, "Ты уже голосовал!");
else
{
rtv[id-1] = id;
count++;

static num;
num = get_playersnum();
num = floatround((get_pcvar_float(howmanyvotesperc) * num));
if ((num == count) || (count >= get_pcvar_num(howmanyvotes)))
{
// AMXX Nextmap Chooser by cheap_suit
if(find_plugin_byfile("mapchooser.amxx") != INVALID_PLUGIN_ID)
{
new oldWinLimit = get_cvar_num("mp_winlimit"), oldMaxRounds = get_cvar_num("mp_maxrounds");
set_cvar_num("mp_winlimit",0);
set_cvar_num("mp_maxrounds",-1);

if(callfunc_begin("voteNextmap","mapchooser.amxx") == 1)
callfunc_end();

set_cvar_num("mp_winlimit",oldWinLimit);
set_cvar_num("mp_maxrounds",oldMaxRounds);
set_task(get_pcvar_float(task_time), "change_map", true);
return PLUGIN_CONTINUE;
}

StartTheVote();
return PLUGIN_CONTINUE;
}
static name[32];
get_user_name( id, name, charsmax( name ) );

client_print ( 0, print_chat, "%s голос добавлен. Осталось %d или %d^%^% чтобы начать голосование!", name, (get_pcvar_num(howmanyvotes)-count), (floatround(get_pcvar_float(howmanyvotesperc) * 100.00)))
}
}
}
return PLUGIN_CONTINUE;
}

public gonna_chose(id, key)
{
if (key < MAX_MAPS)
{
keycount[key]++;
static name[32]
get_user_name(id, name, charsmax(name));
client_print(0, print_chat, "%L", LANG_PLAYER, "X_CHOSE_X", name, s_Maps[key]);
}
}

StartTheVote()
{
if (!RetrieveMaps(s_Maps))
return PLUGIN_CONTINUE;

static i, chosetext[256];
count=0;

formatex(chosetext, charsmax(chosetext), "\y%L:\w^n^n", LANG_SERVER, "CHOOSE_NEXTM");
for (i=0; i < MAX_MAPS; i++)
formatex(chosetext, charsmax(chosetext), "%s%d. %s^n", chosetext, i+1, s_Maps[i]);


formatex(chosetext, charsmax(chosetext), "%s^n%d. %L", chosetext, MAX_MAPS+2, LANG_SERVER, "NONE");
client_cmd(0, "spk Gman/Gman_Choose2");
client_print(0, print_chat, "%L", LANG_SERVER, "TIME_CHOOSE");
show_menu(0, presskeys, chosetext, 15, "Chose your Map");
set_task(get_pcvar_float(task_time), "change_map", false);
return PLUGIN_CONTINUE;
}


bool:RetrieveMaps(s_MapsFound[][])
{
new s_File[256], s_ConfigsDir[256];
get_configsdir(s_ConfigsDir, 255);
formatex(s_File, 255, "%s/%s", s_ConfigsDir, MAPSINI);

if (!file_exists(s_File))
get_cvar_string("mapcyclefile", s_File, charsmax(s_File));

new s_CurrentMap[MAX_MAP_LENGTH];
get_mapname(s_CurrentMap, charsmax(s_CurrentMap));

new p_File = fopen(s_File, "rt");
new Array:a_Maps;
new i_MapsCount = SaveAllMaps(p_File, a_Maps);

new bool:b_Error = true, i;
switch (i_MapsCount)
{
case 0 : log_amx("There are no maps in the %s.", s_File);
case 1 .. MAX_MAPS : log_amx("Not enough maps found. (requires at least %d maps)", MAX_MAPS + 1 );
default : b_Error = false;
}
if (b_Error)
{
fclose(p_File);
ArrayDestroy(a_Maps);
return false;
}
fclose(p_File);

new i_Rand, i_Cnt;
while (i_Cnt != MAX_MAPS)
{
i_Rand = random_num(0, ArraySize(a_Maps) - 1);
ArrayGetString(a_Maps, i_Rand, s_MapsFound[i_Cnt], MAX_MAP_LENGTH - 1);

if (equal(s_MapsFound[i_Cnt], s_CurrentMap))
{
continue;
}

for (i = 0; i < i_Cnt; i++)
{
if (equal(s_MapsFound[i], s_MapsFound[i_Cnt]))
{
break;
}
}

if (i == i_Cnt)
{
ArrayDeleteItem(a_Maps, i_Rand);
i_Cnt++;
}
}
ArrayDestroy(a_Maps);
return true;
}

SaveAllMaps(p_File, &Array:a_Maps)
{
a_Maps = ArrayCreate(MAX_MAP_LENGTH);
new s_Buffer[MAX_MAP_LENGTH]

while (!feof(p_File))
{
fgets(p_File, s_Buffer, charsmax(s_Buffer));
trim(s_Buffer);
if (!s_Buffer[0] || s_Buffer[0] == ';' || (s_Buffer[0] == '/' && s_Buffer[1] == '/'))
{
continue;
}
if (is_map_valid(s_Buffer))
{
ArrayPushString(a_Maps, s_Buffer);
}
}
return ArraySize(a_Maps);
}

public change_map(bool:chooserornot)
{
if (!chooserornot)
{
static keypuffer=0, i=0;
for (i=0; i < MAX_MAPS; i++)
if (keycount[i] > keycount[keypuffer])
keypuffer = i;

copy(nextmap, charsmax(nextmap), s_Maps[keypuffer]);
}
else
get_cvar_string("amx_nextmap", nextmap, charsmax(nextmap));

log_amx("Map will be changed to %s.", nextmap)
if (chooserornot)
client_print(0, print_chat, "%L", LANG_PLAYER, "CHO_FIN_NEXT", nextmap);

if ( !get_pcvar_num( directmapchange ) )
{
set_hudmessage(210, 0, 0, 0.05, 0.45, 1, 20.0, 10.0, 0.5, 0.15, 4);
show_hudmessage(0, "Это последний раунд");

NextRoundChangeMap = true;
}

else
{
server_cmd("amx_map %s", nextmap);
}
}


Вот что надо сделать
1.Надо сделать когда пишеш в чате /rtv показывало сколько осталось в минутах и секундах
тоесть 5 минут 43 секунды,а то показывает 5 минут 4 минуты итд
2.что бы писало не так как в плагине а вот так ''Kinder проголосовал для голосования нужно еще 10 голосов(тут %)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
TroFim
сообщение 13.4.2013, 16:36
Сообщение #2
Стаж: 13 лет

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

Цитата(Kinder @ 13.4.2013, 17:43) *
Скрытый текст
/*
* Made by DA
*
* Description:
* This plugin allows the players on your server to vote for a mapvoting.
* The players can say in the chat "/rockthevote", "rockthevote" or "rtv" to vote for the vote.
* The maps will be automaticle loaded from the maps.ini (if it exists) or from the mapcycle.txt.
*
*
* Installation:
* 1. Download the rockthevote_custom.sma and compile it on your local machine.
* 2. Put the rockthevote_custom.amxx in your plugins folder.
* 3. Add at the end from the plugins.ini this line: rockthevote_custom.amxx
* 4. Open your amxx.cfg (mod/addons/amxmodx/configs/) and add the cvar's.
* 5. Restart or change the map from your server.
*
*
* CVAR's:
* amx_timevote number - Default 5 - After 5 MINUTES (Default) is rockthevote allowed.
* amx_howmanypercentage float - Default 0.30 - When 30% (Default) of the players said rockthevote then comes the mapvote.
* amx_howmanyvotes number - Default 8 - When 8 (default) players said rockthevote then comes the mapvote.
* amx_rocktime time - Default 10 - After 10 (default) seconds the voting is over and the server change the map.
*
*
* Credits:
* Deagles - The main idea
* arkshine - Some code
* X-olent - Percentage idea
*
*/

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "RockTheVote"
#define AUTHOR "DA"
#define VERSION "1.8"

#define MAX_MAPS 5
#define MAX_MAP_LENGTH 64
#define MAPSINI "maps.ini"

new rtv[33], howmanyvotes, task_time, keycount[MAX_MAPS], s_Maps[MAX_MAPS][MAX_MAP_LENGTH], count;
new presskeys, howmanyvotesperc, timevote, directmapchange, bool:NextRoundChangeMap = false, nextmap[MAX_MAP_LENGTH];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_dictionary("mapchooser.txt");
register_dictionary("common.txt");
register_clcmd("say", "rockthevote");
register_menu("Chose your Map", 1023, "gonna_chose");
howmanyvotes = register_cvar("amx_howmanyvotes", "8");
howmanyvotesperc = register_cvar("amx_howmanypercentage", "0.30");
task_time = register_cvar("amx_rocktime", "10.0");
timevote = register_cvar("amx_timevote", "5");
directmapchange = register_cvar( "amx_directmapchange", "0" );

register_logevent ( "RoundStart", 2, "1=Round_Start" );

for (new i=0; i < MAX_MAPS+2; i++)
presskeys = presskeys | (1<<i)
}

public client_disconnect(id)
{
if (rtv[id-1] == id)
{
rtv[id-1] = 0;
count--;
}
}

public RoundStart()
{
if ( !get_pcvar_num( directmapchange ) && NextRoundChangeMap )
{
server_cmd( "amx_map %s", nextmap );
}
}

public rockthevote(id)
{
new said[192];
read_args(said, 192);
if ((contain(said, "/rockthevote") != -1) || (contain(said, "кем") != -1) || (contain(said, "rtv") != -1))
{
if (get_gametime() < (get_pcvar_float(timevote) * 60.0))
client_print(id, print_chat, "Голосование сейчас не доступно. Подождите %d минуты.", (floatround(((get_pcvar_float(timevote) * 60.0) - get_gametime()) / 60.0)));
else
{
if (rtv[id-1] == id)
client_print(id, print_chat, "Ты уже голосовал!");
else
{
rtv[id-1] = id;
count++;

static num;
num = get_playersnum();
num = floatround((get_pcvar_float(howmanyvotesperc) * num));
if ((num == count) || (count >= get_pcvar_num(howmanyvotes)))
{
// AMXX Nextmap Chooser by cheap_suit
if(find_plugin_byfile("mapchooser.amxx") != INVALID_PLUGIN_ID)
{
new oldWinLimit = get_cvar_num("mp_winlimit"), oldMaxRounds = get_cvar_num("mp_maxrounds");
set_cvar_num("mp_winlimit",0);
set_cvar_num("mp_maxrounds",-1);

if(callfunc_begin("voteNextmap","mapchooser.amxx") == 1)
callfunc_end();

set_cvar_num("mp_winlimit",oldWinLimit);
set_cvar_num("mp_maxrounds",oldMaxRounds);
set_task(get_pcvar_float(task_time), "change_map", true);
return PLUGIN_CONTINUE;
}

StartTheVote();
return PLUGIN_CONTINUE;
}
static name[32];
get_user_name( id, name, charsmax( name ) );

client_print ( 0, print_chat, "%s голос добавлен. Осталось %d или %d^%^% чтобы начать голосование!", name, (get_pcvar_num(howmanyvotes)-count), (floatround(get_pcvar_float(howmanyvotesperc) * 100.00)))
}
}
}
return PLUGIN_CONTINUE;
}

public gonna_chose(id, key)
{
if (key < MAX_MAPS)
{
keycount[key]++;
static name[32]
get_user_name(id, name, charsmax(name));
client_print(0, print_chat, "%L", LANG_PLAYER, "X_CHOSE_X", name, s_Maps[key]);
}
}

StartTheVote()
{
if (!RetrieveMaps(s_Maps))
return PLUGIN_CONTINUE;

static i, chosetext[256];
count=0;

formatex(chosetext, charsmax(chosetext), "\y%L:\w^n^n", LANG_SERVER, "CHOOSE_NEXTM");
for (i=0; i < MAX_MAPS; i++)
formatex(chosetext, charsmax(chosetext), "%s%d. %s^n", chosetext, i+1, s_Maps[i]);


formatex(chosetext, charsmax(chosetext), "%s^n%d. %L", chosetext, MAX_MAPS+2, LANG_SERVER, "NONE");
client_cmd(0, "spk Gman/Gman_Choose2");
client_print(0, print_chat, "%L", LANG_SERVER, "TIME_CHOOSE");
show_menu(0, presskeys, chosetext, 15, "Chose your Map");
set_task(get_pcvar_float(task_time), "change_map", false);
return PLUGIN_CONTINUE;
}


bool:RetrieveMaps(s_MapsFound[][])
{
new s_File[256], s_ConfigsDir[256];
get_configsdir(s_ConfigsDir, 255);
formatex(s_File, 255, "%s/%s", s_ConfigsDir, MAPSINI);

if (!file_exists(s_File))
get_cvar_string("mapcyclefile", s_File, charsmax(s_File));

new s_CurrentMap[MAX_MAP_LENGTH];
get_mapname(s_CurrentMap, charsmax(s_CurrentMap));

new p_File = fopen(s_File, "rt");
new Array:a_Maps;
new i_MapsCount = SaveAllMaps(p_File, a_Maps);

new bool:b_Error = true, i;
switch (i_MapsCount)
{
case 0 : log_amx("There are no maps in the %s.", s_File);
case 1 .. MAX_MAPS : log_amx("Not enough maps found. (requires at least %d maps)", MAX_MAPS + 1 );
default : b_Error = false;
}
if (b_Error)
{
fclose(p_File);
ArrayDestroy(a_Maps);
return false;
}
fclose(p_File);

new i_Rand, i_Cnt;
while (i_Cnt != MAX_MAPS)
{
i_Rand = random_num(0, ArraySize(a_Maps) - 1);
ArrayGetString(a_Maps, i_Rand, s_MapsFound[i_Cnt], MAX_MAP_LENGTH - 1);

if (equal(s_MapsFound[i_Cnt], s_CurrentMap))
{
continue;
}

for (i = 0; i < i_Cnt; i++)
{
if (equal(s_MapsFound[i], s_MapsFound[i_Cnt]))
{
break;
}
}

if (i == i_Cnt)
{
ArrayDeleteItem(a_Maps, i_Rand);
i_Cnt++;
}
}
ArrayDestroy(a_Maps);
return true;
}

SaveAllMaps(p_File, &Array:a_Maps)
{
a_Maps = ArrayCreate(MAX_MAP_LENGTH);
new s_Buffer[MAX_MAP_LENGTH]

while (!feof(p_File))
{
fgets(p_File, s_Buffer, charsmax(s_Buffer));
trim(s_Buffer);
if (!s_Buffer[0] || s_Buffer[0] == ';' || (s_Buffer[0] == '/' && s_Buffer[1] == '/'))
{
continue;
}
if (is_map_valid(s_Buffer))
{
ArrayPushString(a_Maps, s_Buffer);
}
}
return ArraySize(a_Maps);
}

public change_map(bool:chooserornot)
{
if (!chooserornot)
{
static keypuffer=0, i=0;
for (i=0; i < MAX_MAPS; i++)
if (keycount[i] > keycount[keypuffer])
keypuffer = i;

copy(nextmap, charsmax(nextmap), s_Maps[keypuffer]);
}
else
get_cvar_string("amx_nextmap", nextmap, charsmax(nextmap));

log_amx("Map will be changed to %s.", nextmap)
if (chooserornot)
client_print(0, print_chat, "%L", LANG_PLAYER, "CHO_FIN_NEXT", nextmap);

if ( !get_pcvar_num( directmapchange ) )
{
set_hudmessage(210, 0, 0, 0.05, 0.45, 1, 20.0, 10.0, 0.5, 0.15, 4);
show_hudmessage(0, "Это последний раунд");

NextRoundChangeMap = true;
}

else
{
server_cmd("amx_map %s", nextmap);
}
}


Вот что надо сделать
1.Надо сделать когда пишеш в чате /rtv показывало сколько осталось в минутах и секундах
тоесть 5 минут 43 секунды,а то показывает 5 минут 4 минуты итд
2.что бы писало не так как в плагине а вот так ''Kinder проголосовал для голосования нужно еще 10 голосов(тут %)



скайп напиши свой в личку или суда!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kinder
сообщение 13.4.2013, 18:36
Сообщение #3
Стаж: 13 лет

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

Цитата(TroFim @ 13.4.2013, 18:36) *
скайп напиши свой в личку или суда!

Скайп Polzion
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kinder
сообщение 13.4.2013, 19:55
Сообщение #4
Стаж: 13 лет

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

Попытались мне его переделать но теперь проблема с минутами
Ребят добрый вечер вообщем проблема такая мне переделывали этот плагин (/rtv) но не получилось сделать секунды.
То есть оно пишет голосование доступно через 5 минут и 300 секунд и минуты а секунды нет. Тоесть секунды тоже идут но как минуты. если через м инуту пишеш /rtv показывает
4 минуты 299 секунд
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bambuc
сообщение 13.4.2013, 19:57
Сообщение #5


Стаж: 13 лет

Сообщений: 1743
Благодарностей: 577
Полезность: 593

Меценат Меценат

Цитата(Kinder @ 13.4.2013, 19:55) *
Попытались мне его переделать но теперь проблема с минутами
Ребят добрый вечер вообщем проблема такая мне переделывали этот плагин (/rtv) но не получилось сделать секунды.
То есть оно пишет голосование доступно через 5 минут и 300 секунд и минуты а секунды нет. Тоесть секунды тоже идут но как минуты. если через м инуту пишеш /rtv показывает
4 минуты 299 секунд

Что за бред? тебе заняться нечем ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OriGinaL
сообщение 13.4.2013, 20:03
Сообщение #6
Стаж: 13 лет

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

Цитата(Bambuc @ 13.4.2013, 21:57) *
Что за бред? тебе заняться нечем ?

ему нужно чтоб показывало вот так: осталось 4 минуты 47 секунд
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 14.4.2013, 5:05
Сообщение #7
Стаж: 14 лет
Город: Moscow

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

На переделку достался наполовину русифицированный плагин. Оригинальная версия - RockTheVote Custom.

Пожелание 'показывало сколько осталось в минутах и секундах ' выполнено:
Прикрепленное изображение
А в показе числа оставшихся голосов, наоборот, полностью убраны %-ты. Дело в том, что в плагине есть 2 лимита на голоса, что необычно:
  • amx_howmanypercentage - необходимый процент голосов
  • amx_howmanyvotes - необходимое число голосов

При этом голосование стартует при достижении меньшего из обоих лимитов. Ранее плагин выводил оба лимита в сообщении, сейчас же он выводит только наименьший. Поэтому %-ты не нужны.
По задумке автора при небольшом числе игроков на сервере используется %-ный лимит, а на заполненном сервере, наоборот, числовой.

Полный список изменений
  • оставшееся время запрета на голосование выводится в минутах и секундах
  • оставшееся число голосов сообщается правильно (в учёт принимаются обе настройки amx_howmanypercentage и amx_howmanyvotes)
  • правильные падежные окончания для 'голосов' и 'минут/секунд'
  • пофикшена совместная работа со стандартным AMXX-плагином 'Nextmap Chooser' (mapchooser.amxx)
  • amx_rocktime теперь задаётся в секундах
  • amx_howmanypercentage теперь задаётся в процентах


Из интересных особенностей плагина:
  • по умолчанию меняет карту в начале следующего раунда
  • может работать со стандартным mapchooser'ом
  • набор возможностей скромный, только самое нужное

Прикрепленные файлы:
Прикрепленный файл  rockthevote_custom.sma ( 9,77 килобайт ) Кол-во скачиваний: 100
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kinder
сообщение 14.4.2013, 5:56
Сообщение #8
Стаж: 13 лет

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

Цитата
На переделку достался наполовину русифицированный плагин. Оригинальная версия - RockTheVote Custom.

Пожелание 'показывало сколько осталось в минутах и секундах ' выполнено:
Прикрепленное изображение
А в показе числа оставшихся голосов, наоборот, полностью убраны %-ты. Дело в том, что в плагине есть 2 лимита на голоса, что необычно:
  • amx_howmanypercentage - необходимый процент голосов
  • amx_howmanyvotes - необходимое число голосов

При этом голосование стартует при достижении меньшего из обоих лимитов. Ранее плагин выводил оба лимита в сообщении, сейчас же он выводит только наименьший. Поэтому %-ты не нужны.
По задумке автора при небольшом числе игроков на сервере используется %-ный лимит, а на заполненном сервере, наоборот, числовой.

Полный список изменений
  • оставшееся время запрета на голосование выводится в минутах и секундах
  • оставшееся число голосов сообщается правильно (в учёт принимаются обе настройки amx_howmanypercentage и amx_howmanyvotes)
  • правильные падежные окончания для 'голосов' и 'минут/секунд'
  • пофикшена совместная работа со стандартным AMXX-плагином 'Nextmap Chooser' (mapchooser.amxx)
  • amx_rocktime теперь задаётся в секундах
  • amx_howmanypercentage теперь задаётся в процентах


Из интересных особенностей плагина:
  • по умолчанию меняет карту в начале следующего раунда
  • может работать со стандартным mapchooser'ом
  • набор возможностей скромный, только самое нужное


Или у меня руки кривые или он не работает тоесть показывает как по пржнему
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OriGinaL
сообщение 14.4.2013, 5:57
Сообщение #9
Стаж: 13 лет

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

пошли поставлю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kinder
сообщение 14.4.2013, 14:02
Сообщение #10
Стаж: 13 лет

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

Цитата(OriGinaL2666 @ 14.4.2013, 7:57) *
пошли поставлю


Великие слова автора

ет, только 150.
ты прости, я типа крутой скриптер, я в приницпе не пишу плагины за такое бабло. но заметил, что ты уже и денег стал предлагать, наверное, тебе и правда очень надо.
писать, может, и мало, а может и не очень. но для этого надо знания иметь, отсюда и цена. Плюс ещё время на разговоры потратится, тесты и т.п. решай.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kinder
сообщение 14.4.2013, 14:10
Сообщение #11
Стаж: 13 лет

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

Цитата(Kinder @ 14.4.2013, 16:02) *
Великие слова автора

ет, только 150.
ты прости, я типа крутой скриптер, я в приницпе не пишу плагины за такое бабло. но заметил, что ты уже и денег стал предлагать, наверное, тебе и правда очень надо.
писать, может, и мало, а может и не очень. но для этого надо знания иметь, отсюда и цена. Плюс ещё время на разговоры потратится, тесты и т.п. решай.



Автор сказал плагин с нуля написал

в итоге извените за рекламу
http://makeserver.ru/plaginy/13984-rockthevote-18-rus.html
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kinder
сообщение 14.4.2013, 14:20
Сообщение #12
Стаж: 13 лет

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

Цитата(Kinder @ 14.4.2013, 16:10) *
Автор сказал плагин с нуля написал

в итоге извените за рекламу
http://makeserver.ru/plaginy/13984-rockthevote-18-rus.html



Вот такие у нас гуру скриптеры Safety1st
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OriGinaL
сообщение 14.4.2013, 14:32
Сообщение #13
Стаж: 13 лет

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

Цитата(Kinder @ 14.4.2013, 16:02) *
Великие слова автора

ет, только 150.
ты прости, я типа крутой скриптер, я в приницпе не пишу плагины за такое бабло. но заметил, что ты уже и денег стал предлагать, наверное, тебе и правда очень надо.
писать, может, и мало, а может и не очень. но для этого надо знания иметь, отсюда и цена. Плюс ещё время на разговоры потратится, тесты и т.п. решай.

мальчик ты че головой стукнулся? ты че за бред тут пишешь?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 14.4.2013, 15:00
Сообщение #14
Стаж: 14 лет
Город: Moscow

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

Цитата(Kinder @ 14.4.2013, 16:10) *
Автор сказал плагин с нуля написал

Враньё. Я его подправил, как описано в #7. Самостоятельно, ручками.
LOLka, ты глаза открой - по твоей ссылке в архиве скомпилированный файл. С такого копипастить не вариант при всём желании)
Сначала узнай, как настройки плагинов правильно задавать, потом будешь гуру скриптинга определять xD

А вот вся переписка 4fun









Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
exec1337
сообщение 14.4.2013, 15:17
Сообщение #15
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Safety1st,ну вы BAD BOY!

А если без шуток,то я по ссылке нашёл только amxx-файл. Да,говорить,что писался с нуля при только добавлении пары строк,нельзя.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 14.4.2013, 15:30
Сообщение #16
Стаж: 14 лет
Город: Moscow

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

Цитата(exec1337 @ 14.4.2013, 17:17) *
Safety1st,ну вы BAD BOY!

Ты бы лучше по моему плагину по делу что отписал. Помощи у скриптеров, которых тут пара штук, ты просишь исправно. Да и заодно, в виде исключения, +1 пост бы по делу набил ;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 14.4.2013, 15:33
Сообщение #17
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Цитата(Safety1st @ 14.4.2013, 17:30) *
Ты бы лучше по моему плагину по делу что отписал. Помощи у скриптеров, которых тут пара штук, ты просишь исправно. Да и заодно, в виде исключения, +1 пост бы по делу набил ;)

Я там есть и серьёзная часть сообщ. :p
Тут помощи скриптеров просят 1050 человек,ежедневно. В основном по пустякам,которые вам подсказать дело одной минуты.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 14.4.2013, 15:42
Сообщение #18
Стаж: 14 лет
Город: Moscow

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

'серьёзная часть сообщ.' никак не говорит ТС, что он не прав)
И речь не про всех, а про тебя конкретно. Всё равно же потратил время на отписку? У тебя есть возможность 'помочь' скриптеру, редкая, но ты этого не делаешь. В следующие разы я лично подумаю, помогать ли тебе. Знаний разобраться в этом вопросе у тебя достаточно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 14.4.2013, 15:58
Сообщение #19
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Блин,Дмитрий,я аж покраснел :)
Думаете,если бы я написал ТСу,что он...не прав,то что-то бы поменялось?
Я хотел сравнить исходники,но по ссылке только amxx+описание. Я <3 факты,а не домыслы. Фактов тут нет(да я их особо и не искал),такчто не надо дуться из-за ерунды. Вы же сами один из немногоих считаете меня...плохим парнем.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Doombringer
сообщение 14.4.2013, 15:58
Сообщение #20


Стаж: 13 лет

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

Цитата(exec1337 @ 14.4.2013, 17:17) *
Да,говорить,что писался с нуля при только добавлении пары строк,нельзя.
Может я что-то путаю, но как бы это и не утверждалось.
Цитата(Safety1st @ 14.4.2013, 7:05) *
На переделку достался наполовину русифицированный плагин. Оригинальная версия - RockTheVote Custom.

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