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

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

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

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

adminslots.sma

, Увеличить кол-во символов в причине кика
Drotik
сообщение 7.12.2011, 15:23
Сообщение #1
Стаж: 18 лет

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

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

Вообщем столкнулся с такой проблемой, больше 53 символа не отображает в причине кика при попытки обычного смертного зайти на резервный слот .

Что нужно править чтоб увеличить кол-во символов ?

Исходик Slots Reservation

#include <amxmodx>
#include <amxmisc>

new g_cmdLoopback[16]
new g_ResPtr
new g_HidePtr

public plugin_init()
{
register_plugin("Slots Reservation", AMXX_VERSION_STR, "AMXX Dev Team")
register_dictionary("adminslots.txt")
register_dictionary("common.txt")
g_ResPtr = register_cvar("amx_reservation", "0")
g_HidePtr = register_cvar("amx_hideslots", "0")

format(g_cmdLoopback, 15, "amxres%c%c%c%c", random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'))
register_clcmd(g_cmdLoopback, "ackSignal")
}

public plugin_cfg()
{
set_task(3.0, "MapLoaded")
}

public MapLoaded()
{
if (!get_pcvar_num(g_HidePtr))
return

new maxplayers = get_maxplayers()
new players = get_playersnum(1)
new limit = maxplayers - get_pcvar_num(g_ResPtr)
setVisibleSlots(players, maxplayers, limit)
}

public ackSignal(id)
{
new lReason[64]
format(lReason, 63, "%L", id, "DROPPED_RES")
server_cmd("kick #%d ^"%s^"", get_user_userid(id), lReason)

return PLUGIN_HANDLED
}

public client_authorized(id)
{
new maxplayers = get_maxplayers()
new players = get_playersnum(1)
new limit = maxplayers - get_pcvar_num(g_ResPtr)

if (access(id, ADMIN_RESERVATION) || (players <= limit))
{
if (get_pcvar_num(g_HidePtr) == 1)
setVisibleSlots(players, maxplayers, limit)
return PLUGIN_CONTINUE
}

client_cmd(id, "%s", g_cmdLoopback)

return PLUGIN_HANDLED
}

public client_disconnect(id)
{
if (!get_pcvar_num(g_HidePtr))
return PLUGIN_CONTINUE

new maxplayers = get_maxplayers()

setVisibleSlots(get_playersnum(1) - 1, maxplayers, maxplayers - get_pcvar_num(g_ResPtr))
return PLUGIN_CONTINUE
}

setVisibleSlots(players, maxplayers, limit)
{
new num = players + 1

if (players == maxplayers)
num = maxplayers
else if (players < limit)
num = limit

set_cvar_num("sv_visiblemaxplayers", num)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Haros
сообщение 7.12.2011, 16:28
Сообщение #2


Стаж: 14 лет

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

Код
new lReason[64]
format(lReason, 63, "%L", id, "DROPPED_RES")

По-идее должно отображать 63 символа. Значит либо кс не воспринимает больше 53 символов, либо ещё что-то.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
The Asmodai-privet
сообщение 7.12.2011, 16:37
Сообщение #3
Стаж: 14 лет

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

Цитата(Haros @ 7.12.2011, 18:28) *
Код
new lReason[64]
format(lReason, 63, "%L", id, "DROPPED_RES")

По-идее должно отображать 63 символа. Значит либо кс не воспринимает больше 53 символов, либо ещё что-то.

Неа)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Drotik
сообщение 7.12.2011, 17:02
Сообщение #4
Стаж: 18 лет

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

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

Цитата(Haros @ 7.12.2011, 16:28) *
Код
new lReason[64]
format(lReason, 63, "%L", id, "DROPPED_RES")

По-идее должно отображать 63 символа. Значит либо кс не воспринимает больше 53 символов, либо ещё что-то.



я таки думал что здесь копать нужно ...

53 у меня отображает только, может просто остальные слова обрезает ...

я так понял
Код
new lReason[64]
format(lReason, 63, "%L", id, "DROPPED_RES")


тут нужно 64 изменить на 192
а 63 на 191

тоесть так же на одно меньше ?
(192\191 к примеру)

Добавленно чуть позже:
Все разобрался , изменил на 128 и 127 при этом начало отображать только 92 символа . сейчас увеличу еще ))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 7.12.2011, 19:32
Сообщение #5
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Drotik,
64 - английских символа, под русские - нужно увеличивать массив. Это так для справки.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Drotik
сообщение 7.12.2011, 19:35
Сообщение #6
Стаж: 18 лет

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

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

Цитата(STR@TEG @ 7.12.2011, 19:32) *
Drotik,
64 - английских символа, под русские - нужно увеличивать массив. Это так для справки.

пофуричил немного , где-то русскими на треть больше считаються символы.
Поставил 192 и 191 то норм все русскими влезло (136 символов)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя meloman_rus
сообщение 25.4.2012, 19:57
Сообщение #7


Стаж: 14 лет

Сообщений: 228
Благодарностей: 9
Полезность: 49

Немного не в тему, но все же. Где причину кика свою писать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
noskill
сообщение 25.4.2012, 20:10
Сообщение #8
Стаж: 14 лет

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

Цитата(meloman_rus @ 25.4.2012, 20:57) *
Немного не в тему, но все же. Где причину кика свою писать?

в ланге
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIokoMoTuB
сообщение 26.4.2012, 12:13
Сообщение #9


Стаж: 16 лет

Сообщений: 2174
Благодарностей: 566
Полезность: 425

Этот админслотс косячный. Обойти резервслот как два пальца .... Есть переписанные давно.


Empower isn't phoenix
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 2.5.2012, 21:50
Сообщение #10
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Для русского текста, увеличь обьем масива в 2 раза от длины текста.
Например: кик - 3 буквы лучший масив = 6
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 2.5.2012, 21:54
Сообщение #11


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Но ведь, всё уже давно решилось. зачем поднимать?

Отредактировал: AndrewZ, - 2.5.2012, 21:55


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 3.5.2012, 13:54
Сообщение #12
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

AndrewZ,
ммм "26.4.2012" давно?
я просто не заметил(( :D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: