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

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

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

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

> Правила форума

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

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

no players map

Статус пользователя strelok93
сообщение 5.7.2014, 11:52
Сообщение #1


Стаж: 12 лет

Сообщений: 905
Благодарностей: 392
Полезность: 576

Поставил no players map но пошли ошибки !
Помогите исправить


amx_npm.sma
#include <amxmodx>
#include <amxmisc>
#include <colorchat>

#define PLUGIN "No Players Map"
#define VERSION "1.0"
#define AUTHOR "[SKA]JIbnEJIb"

new npm_map, npm_players
new vote_yes, vote_no
new nmp_on = 1
new menu

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
npm_map = register_cvar("amx_npm_map", "de_dust2_2x2")
npm_players = register_cvar("amx_npm_players", "10")
}

public npm(id) {
if(get_playersnum() <= get_pcvar_num(npm_players)) {
new npm_map_str[32], nameMap[128]
get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str))
format(nameMap, 127, "\yСменить карту на %s?", npm_map_str)
menu=menu_create(nameMap,"npm_menu")
menu_additem(menu,"\wДа","1")
menu_additem(menu,"\wНет","2")
menu_setprop(menu,MPROP_EXIT,MEXIT_NEVER)

menu_display(id,menu,0)


set_task(get_cvar_float("amx_vote_time"), "npm_result")
}
}

public npm_menu(id,menu,item) {
new data[6],iName[64],access, callback, Name[32]
get_user_name(id, Name, charsmax(Name))
menu_item_getinfo(menu,item,access,data,5,iName,63,callback)
new key = str_to_num(data)

switch(key) {
case 1:{
vote_yes = vote_yes + 1
ColorChat(0, BLUE, "^01[^04Информация^01] Игрок ^03%s ^01проголосовал за смену карты.", Name)
}
case 2:{
vote_no = vote_no + 1
ColorChat(0, RED, "^01[^04Информация^01] Игрок ^03%s ^01проголосовал против смены карты.", Name)
}
}
return PLUGIN_HANDLED
}

public npm_result() {
new Map[32], npm_map_str[32]
menu_destroy(menu)
get_mapname(Map, charsmax(Map))
get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str))
if(vote_yes >= vote_no) {
ColorChat(0, RED, "^01[^04Информация^01] Голосование завершено. Следующая карта ^03%s^01.", npm_map_str)
set_task(4.0, "npm_changelevel")
}
else {
ColorChat(0, RED, "^01[^04Информация^01] Голосование завершено. Карта продлена на ^03%d^01 минут.", get_cvar_num("amx_extendmap_step"))
vote_yes = 0
vote_no = 0
set_task((get_cvar_float("amx_extendmap_step")*60), "npm_extend")
}
}

public npm_changelevel() {
new npm_map_str[32]
get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str))
server_cmd("changelevel %s", npm_map_str)
}

public npm_extend() {
nmp_on = 1
}

public client_putinserver(id) {
if(nmp_on != 1)
return PLUGIN_HANDLED

new Players[32], Map[32], npm_map_str[32]
get_mapname(Map, charsmax(Map))
get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str))
if(equali(Map, npm_map_str))
return PLUGIN_HANDLED

new playerCount, i, player
get_players(Players, playerCount, "ch")
nmp_on = 0
for (i=0; i<playerCount; i++) {
player = Players[i]

set_task(20.0, "npm", player)
}
return PLUGIN_CONTINUE
}

public client_disconnect(id) {
if(nmp_on != 1)
return PLUGIN_HANDLED

new Players[32], Map[32], npm_map_str[32]
get_mapname(Map, charsmax(Map))
get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str))
if(equali(Map, npm_map_str))
return PLUGIN_HANDLED

new playerCount, i, player
get_players(Players, playerCount, "ch")
for (i=0; i<playerCount; i++) {
player = Players[i]

set_task(20.0, "npm", player)
}
return PLUGIN_CONTINUE
}







Ошибки
L 07/05/2014 - 03:46:28: Info (map "de_clan1_mill_2x2") (file "addons/amxmodx/logs/error_20140705.log")
L 07/05/2014 - 03:46:28: Invalid menu id 8(9)
L 07/05/2014 - 03:46:28: [AMXX] Displaying debug trace (plugin "amx_npm.amxx")
L 07/05/2014 - 03:46:28: [AMXX] Run time error 10: native error (native "menu_destroy")
L 07/05/2014 - 03:46:28: [AMXX] [0] amx_npm.sma::npm_result (line 58)
L 07/05/2014 - 03:46:28: Invalid menu id 8(9)


Отредактировал: strelok93, - 5.7.2014, 14:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
magis1337
сообщение 5.7.2014, 13:03
Сообщение #2
Стаж: 11 лет
Город: Odessa

Сообщений: 2782
Благодарностей: 1535
Полезность: 918

host5.ru
Меценат Меценат

Цитата(strelok93 @ 5.7.2014, 11:52) *
Поставил no players map но пошли ошибки !
Помогите исправить


Ошибки
L 07/05/2014 - 03:46:28: Info (map "de_clan1_mill_2x2") (file "addons/amxmodx/logs/error_20140705.log")
L 07/05/2014 - 03:46:28: Invalid menu id 8(9)
L 07/05/2014 - 03:46:28: [AMXX] Displaying debug trace (plugin "amx_npm.amxx")
L 07/05/2014 - 03:46:28: [AMXX] Run time error 10: native error (native "menu_destroy")
L 07/05/2014 - 03:46:28: [AMXX] [0] amx_npm.sma::npm_result (line 58)
L 07/05/2014 - 03:46:28: Invalid menu id 8(9)

Вот у меня он стоит, меняет карту все отлично=) но меняет автоматом сразу без голосований
Настройки сам сделаешь, set_task(120.0 это если в течений сколько времени проверка будет, если так же останется карта поменяется=)) Ну а если больше станет нетПрикрепленный файл  noplayers_map.sma ( 1,11 килобайт ) Кол-во скачиваний: 115
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 5 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 5.7.2014, 13:42
Сообщение #3


Иконка группы

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Сколько раз говорить, что большинство качать плагин, архивы и т.д. не будут. Выкладывайте исходник в code+spoiler


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FleXer
сообщение 5.7.2014, 14:17
Сообщение #4


Стаж: 13 лет

Сообщений: 291
Благодарностей: 222
Полезность: 601

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

Сам ставил такое УГ на сервер. В итоге такие же ошибки. Забил на всё и купил нормальный без ошибок с голосованием, да и ещё бесплатно обновляют. Сказка просто
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя strelok93
сообщение 5.7.2014, 14:34
Сообщение #5


Стаж: 12 лет

Сообщений: 905
Благодарностей: 392
Полезность: 576

Fred Perry,
Буду знать! magis1337,
Спасибо !

FleXer,
Знаю этот магазин в вк ! 15 грн стоит ! да жалоб на него много что у него г-код
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FleXer
сообщение 5.7.2014, 15:36
Сообщение #6


Стаж: 13 лет

Сообщений: 291
Благодарностей: 222
Полезность: 601

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

Цитата(strelok93 @ 5.7.2014, 15:34) *
Fred Perry,
Буду знать! magis1337,
Спасибо !

FleXer,
Знаю этот магазин в вк ! 15 грн стоит ! да жалоб на него много что у него г-код


Жалобы в студию lol.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BornToBeFree
сообщение 5.7.2014, 15:52
Сообщение #7


Стаж: 12 лет

Сообщений: 741
Благодарностей: 287
Полезность: 602

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

Что за магазин такой? Поделитесь в ЛС ссылкой...


Скидка 5% при заказе сервера
Чтобы получить 5% скидку при заказе сервера на хостинге Serva4ok.ru
Необходимо ввести это кодовое слово gKUt-FENO-ZonE-aIaa
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя strelok93
сообщение 5.7.2014, 17:36
Сообщение #8


Стаж: 12 лет

Сообщений: 905
Благодарностей: 392
Полезность: 576

ExTPuMaJI,
Кинул в личку ! а то за рекламу еще подумают
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
marik
сообщение 8.7.2014, 7:58
Сообщение #9
Стаж: 12 лет

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

strelok93,
У тебя не посл версия скальпеля ! вот лови
Прикрепленные файлы:
Прикрепленный файл  no_players_map.sma ( 3,81 килобайт ) Кол-во скачиваний: 125
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Golum-80
сообщение 8.7.2014, 8:51
Сообщение #10
Стаж: 15 лет

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

можно ссылку на магазин?

Отредактировал: Golum-80, - 8.7.2014, 8:52
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
marik
сообщение 8.7.2014, 8:53
Сообщение #11
Стаж: 12 лет

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

Golum-80,
Магазин
http://shop.fungun.net/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Statsenko_91
сообщение 11.11.2014, 9:48
Сообщение #12


Стаж: 13 лет

Сообщений: 387
Благодарностей: 121
Полезность: 457

Парни, сдлеайте, плиз, чтобы было голосование. Тесть когда на сервере игроков число N (задаваемое мною в исходнике) и меньше, то делается голосование "Сменить карту на de_dust2_2x2?" "Да" "Нет".

Код:
#include <amxmodx>

new g_num, cv_clients, g_maxplayers

public plugin_init()
{
register_plugin("No Players Map", "0.1", "X-factor")
cv_clients = register_cvar("nomap_players", "7")
g_maxplayers = get_maxplayers()

set_task(300.0, "check_players", 0, _, _, "b") //через сколько после запуска сервера начинать проверку кол-ва игроков
}

public check_clients()
{
new id
g_num = 0

for (id = 1; id <= g_maxplayers; id++)
{
if (is_user_connected(id) && !is_user_hltv(id))
g_num++
}
return g_num
}

public check_players()
{
new currentMap[32]
new map[] = "de_dust2_2x2"
get_mapname(currentMap, 31)

if (check_clients() < get_pcvar_num(cv_clients) && !equali(map, currentMap))
{
set_task(10.0, "change_map", 0, map, charsmax(map))
client_print(0, print_chat, "[NoPlayers] Через 10 секунд карта поменяется на %s!", map)
console_print(0, "[NoPlayers] Before 10 sec. map will be change to %s!", map)
}
return PLUGIN_CONTINUE
}

public change_map(map[])
{
server_cmd("changelevel %s", map)
}


Отредактировал: Statsenko_91, - 11.11.2014, 9:50
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 11.11.2014, 9:54
Сообщение #13


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

давно уже ничего не делал
попробуй заменить
Код:
changelevel

на
Код:
amx_votemap %s
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Statsenko_91
сообщение 11.11.2014, 9:57
Сообщение #14


Стаж: 13 лет

Сообщений: 387
Благодарностей: 121
Полезность: 457

Цитата(GOOD FELLOW @ 11.11.2014, 10:54) *
давно уже ничего не делал
попробуй заменить
Код:
changelevel

на
Код:
amx_votemap %s


А варианты ответов не надо дописывать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 11.11.2014, 10:00
Сообщение #15


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

"%s" - у тебя массив map[] есть, где записано название карты
у тебя автоматом подставится карта de_dust2_2x2
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Statsenko_91
сообщение 18.11.2014, 19:47
Сообщение #16


Стаж: 13 лет

Сообщений: 387
Благодарностей: 121
Полезность: 457

Цитата(GOOD FELLOW @ 11.11.2014, 10:54) *
давно уже ничего не делал
попробуй заменить
Код:
changelevel

на
Код:
amx_votemap %s


Сделал я так и теперь плагин даже не меняет карту, не говоря о голосовании.

В инете нашел исходник подобный, но что то он кривой. Когда меняет с голосованием, когда нет. И конечно же пугает его автор)))

Код:
#include <amxmodx>
#include <amxmisc>
#include <colorchat>

#define PLUGIN "No Players Map"
#define VERSION "1.0"
#define AUTHOR "[SKA]JIbnEJIb"

new npm_map, npm_players
new vote_yes, vote_no
new nmp_on = 1
new menu

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
npm_map = register_cvar("amx_npm_map", "de_dust2_2x2")
npm_players = register_cvar("amx_npm_players", "10")
}

public npm(id) {
if(get_playersnum() <= get_pcvar_num(npm_players)) {
new npm_map_str[32], nameMap[128]
get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str))
format(nameMap, 127, "\yСменить карту на %s?", npm_map_str)
menu=menu_create(nameMap,"npm_menu")
menu_additem(menu,"\wДа","1")
menu_additem(menu,"\wНет","2")
menu_setprop(menu,MPROP_EXIT,MEXIT_NEVER)

menu_display(id,menu,0)


set_task(get_cvar_float("amx_vote_time"), "npm_result")
}
}

public npm_menu(id,menu,item) {
new data[6],iName[64],access, callback, Name[32]
get_user_name(id, Name, charsmax(Name))
menu_item_getinfo(menu,item,access,data,5,iName,63,callback)
new key = str_to_num(data)

switch(key) {
case 1:{
vote_yes = vote_yes + 1
ColorChat(0, BLUE, "^01[^04Информация^01] Игрок ^03%s ^01проголосовал за смену карты.", Name)
}
case 2:{
vote_no = vote_no + 1
ColorChat(0, RED, "^01[^04Информация^01] Игрок ^03%s ^01проголосовал против смены карты.", Name)
}
}
return PLUGIN_HANDLED
}

public npm_result() {
new Map[32], npm_map_str[32]
menu_destroy(menu)
get_mapname(Map, charsmax(Map))
get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str))
if(vote_yes >= vote_no) {
ColorChat(0, RED, "^01[^04Информация^01] Голосование завершено. Следующая карта ^03%s^01.", npm_map_str)
set_task(4.0, "npm_changelevel")
}
else {
ColorChat(0, RED, "^01[^04Информация^01] Голосование завершено. Карта продлена на ^03%d^01 минут.", get_cvar_num("amx_extendmap_step"))
vote_yes = 0
vote_no = 0
set_task((get_cvar_float("amx_extendmap_step")*60), "npm_extend")
}
}

public npm_changelevel() {
new npm_map_str[32]
get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str))
server_cmd("changelevel %s", npm_map_str)
}

public npm_extend() {
nmp_on = 1
}

public client_putinserver(id) {
if(nmp_on != 1)
return PLUGIN_HANDLED

new Players[32], Map[32], npm_map_str[32]
get_mapname(Map, charsmax(Map))
get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str))
if(equali(Map, npm_map_str))
return PLUGIN_HANDLED

new playerCount, i, player
get_players(Players, playerCount, "ch")
nmp_on = 0
for (i=0; i<playerCount; i++) {
player = Players[i]

set_task(20.0, "npm", player)
}
return PLUGIN_CONTINUE
}

public client_disconnect(id) {
if(nmp_on != 1)
return PLUGIN_HANDLED

new Players[32], Map[32], npm_map_str[32]
get_mapname(Map, charsmax(Map))
get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str))
if(equali(Map, npm_map_str))
return PLUGIN_HANDLED

new playerCount, i, player
get_players(Players, playerCount, "ch")
for (i=0; i<playerCount; i++) {
player = Players[i]

set_task(20.0, "npm", player)
}
return PLUGIN_CONTINUE
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Statsenko_91
сообщение 18.11.2014, 22:30
Сообщение #17


Стаж: 13 лет

Сообщений: 387
Благодарностей: 121
Полезность: 457

Ребята, ну помогите сделать этот плагин)))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: