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

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

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

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

Дробное Value[] в массив[33]

Статус пользователя ssx
сообщение 24.12.2016, 15:12
Сообщение #1


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Нужно результат ex_interp записать в массив.

Вот так ругается на warning 213: tag mismatch
Код:
public result_ex_interp(id, const Cvar[], const Value[])
{
ex_interp[id] = str_to_float(Value)
}


Если
Код:
public result_ex_interp(id, const Cvar[], const Value[])
{
ex_interp[id] = str_to_num(Value)
}

То пытаясь вывести через %f выводит 0.000000 у всех игроков.

Помогите нормально реализовать логирование ex_interp у игроков.


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ssx
сообщение 24.12.2016, 15:25
Сообщение #2


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Полный код плагина
Код:
#include <amxmodx>

new cl_cmdrate[33], ex_interp[33]

public plugin_init()
{
register_plugin("Log Players", "0.1", "ISDP")
}

public client_putinserver(id)
{
if(is_user_bot(id))
return PLUGIN_HANDLED

set_task(1.03, "check", id)
set_task(1.19, "client_log", id)
return PLUGIN_CONTINUE
}

public client_log(id)
{
if( !is_user_connected(id) )
return PLUGIN_HANDLED

new szName[36], szRate[32], szUpdateRate[32]
get_user_name( id , szName , 35)
get_user_info(id, "rate", szRate, 31)
get_user_info(id, "cl_updaterate", szUpdateRate, 31)

log_to_file("Log_Players.txt","[%s] [Rate: %s] [cl_updaterate: %s] [cl_cmdrate: %d] [ex_interp: %f]", szName, szRate, szUpdateRate, cl_cmdrate[id], ex_interp[id] )
return PLUGIN_CONTINUE
}

public check(id)
{
query_client_cvar(id, "cl_cmdrate", "result_cl_cmdrate")
query_client_cvar(id, "ex_interp", "result_ex_interp")
}

public result_cl_cmdrate(id, const Cvar[], const Value[])
{
cl_cmdrate[id] = str_to_num(Value)
}

public result_ex_interp(id, const Cvar[], const Value[])
{
ex_interp[id] = str_to_float(Value)
}


public client_disconnect(id)
{
cl_cmdrate[id] = -1
ex_interp[id] = -1
}

Вот так выводит логи
Код
L 12/24/2016 - 15:19:27: [GENA] [Rate: 100000] [cl_updaterate: 102] [cl_cmdrate: 102] [ex_interp: 0.000000]
L 12/24/2016 - 15:19:27: [[CHR1sMaS`G0D;3]] [Rate: 25000] [cl_updaterate: 101] [cl_cmdrate: 0] [ex_interp: 0.000000]
L 12/24/2016 - 15:21:25: [indExik] [Rate: 3500] [cl_updaterate: 50] [cl_cmdrate: -1] [ex_interp: 0.000000]
L 12/24/2016 - 15:23:54: [PiG] [Rate: 25000] [cl_updaterate: 35] [cl_cmdrate: 102] [ex_interp: 0.000000]



[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STrannik
сообщение 24.12.2016, 15:35
Сообщение #3
Стаж: 13 лет
Город: Уфа

Сообщений: 644
Благодарностей: 119
Полезность: 390

Массив зарегистрирован для действительных чисел, а не для вещественных.
Код:
new Float:ex_interp[33];


Отредактировал: STrannik, - 24.12.2016, 15:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ssx
сообщение 24.12.2016, 15:50
Сообщение #4


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

заработало
Код:
#include <amxmodx>

new cl_cmdrate[33]
new Float:ex_interp[33]

public plugin_init()
{
register_plugin("Log Players", "0.1", "ISDP")
}

public client_putinserver(id)
{
if(is_user_bot(id))
return PLUGIN_HANDLED

set_task(1.03, "check", id)
set_task(1.19, "client_log", id)
return PLUGIN_CONTINUE
}

public client_log(id)
{
if( !is_user_connected(id) )
return PLUGIN_HANDLED

new szName[36], szRate[32], szUpdateRate[32]
get_user_name( id , szName , 35)
get_user_info(id, "rate", szRate, 31)
get_user_info(id, "cl_updaterate", szUpdateRate, 31)

log_to_file("Log_Players.txt","[%s] [rate: %s] [cl_updaterate: %s] [cl_cmdrate: %d] [ex_interp: %f]", szName, szRate, szUpdateRate, cl_cmdrate[id], ex_interp[id] )
return PLUGIN_CONTINUE
}

public check(id)
{
if( !is_user_connected(id) )
return PLUGIN_HANDLED

query_client_cvar(id, "cl_cmdrate", "result_cl_cmdrate")
query_client_cvar(id, "ex_interp", "result_ex_interp")
return PLUGIN_CONTINUE
}

public result_cl_cmdrate(id, const Cvar[], const Value[])
{
cl_cmdrate[id] = str_to_num(Value)
}

public result_ex_interp(id, const Cvar[], const Value[])
{
ex_interp[id] = str_to_float(Value)
}

public client_disconnect(id)
{
cl_cmdrate[id] = -1
ex_interp[id] = -1.0
}


Щас буду делать чтобы обрезало до 4 знаков после точки.
И смотреть почему у некоторых не определяет некоторые значения..

Цитата
пока что выводит вот так
Код
L 12/24/2016 - 15:44:03: [-DZ-katana^-^] [Rate: 25000] [cl_updaterate: 101] [cl_cmdrate: 101] [ex_interp: 0.100000]
L 12/24/2016 - 15:44:05: [[R.I.P]VladosikGold] [Rate: 25000] [cl_updaterate: 101] [cl_cmdrate: 101] [ex_interp: 0.100000]
L 12/24/2016 - 15:44:19: [YEN!CER!] [Rate: 100000] [cl_updaterate: 102] [cl_cmdrate: 102] [ex_interp: 0.064999]
L 12/24/2016 - 15:48:51: [vano112211] [Rate: 100000] [cl_updaterate: 102] [cl_cmdrate: 102] [ex_interp: 0.064999]

0.064999 на самом деле = 0.065

Отредактировал: ssx, - 24.12.2016, 15:52


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Unknown
сообщение 24.12.2016, 15:51
Сообщение #5
Стаж: 10 лет

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

изи же

Отредактировал: redux, - 24.12.2016, 16:22
Причина: Выдано предупреждение!


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 24.12.2016, 16:00
Сообщение #6


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Как-то не стабильненько работает query_client_cvar:
Код
L 12/24/2016 - 15:51:20: [sasiska] [Rate: 20000] [cl_updaterate: 101] [cl_cmdrate: -1] [ex_interp: -1.000000]
L 12/24/2016 - 15:56:10: [sasiska] [Rate: 20000] [cl_updaterate: 101] [cl_cmdrate: 0] [ex_interp: 0.000000]




[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Unknown
сообщение 24.12.2016, 16:36
Сообщение #7
Стаж: 10 лет

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

опять изи же.

Псы: зови мамочку модератора


Отредактировал: redux, - 24.12.2016, 16:47
Причина: Выдано предупреждение!


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Unknown
сообщение 24.12.2016, 16:44
Сообщение #8
Стаж: 10 лет

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

мужики на этом форуме меньше и меньше :)


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 26.12.2016, 23:54
Сообщение #9


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Offtopic
Unknown, сказал "мужик" прячась за прокси...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 27.12.2016, 0:59
Сообщение #10


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

На данный момент код:
Cкрытый текст
Код:
#include <amxmodx>

new cl_cmdrate[33]
new Float:ex_interp[33]
new pcv_dp_r_protocol

public plugin_init()
{
register_plugin("Log Players", "0.1", "ISDP")

pcv_dp_r_protocol = get_cvar_pointer ("dp_r_protocol")
}

public client_putinserver(id)
{
if(is_user_bot(id))
return PLUGIN_HANDLED

new proto = get_pcvar_num(pcv_dp_r_protocol)
if (proto < 48)
return PLUGIN_HANDLED

set_task(1.03, "check", id)
set_task(1.19, "client_log", id)
return PLUGIN_CONTINUE
}

public client_log(id)
{
if( !is_user_connected(id) )
return PLUGIN_HANDLED

new szName[36], szRate[32], szUpdateRate[32]
get_user_name( id , szName , 35)
get_user_info(id, "rate", szRate, 31)
get_user_info(id, "cl_updaterate", szUpdateRate, 31)

log_to_file("Log_Players.txt","[%s] [rate: %s] [cl_updaterate: %s] [cl_cmdrate: %d] [ex_interp: %f]", szName, szRate, szUpdateRate, cl_cmdrate[id], ex_interp[id] )
return PLUGIN_CONTINUE
}

public check(id)
{
if( !is_user_connected(id) )
return PLUGIN_HANDLED

query_client_cvar(id, "cl_cmdrate", "result_cl_cmdrate")
query_client_cvar(id, "ex_interp", "result_ex_interp")
return PLUGIN_CONTINUE
}

public result_cl_cmdrate(id, const Cvar[], const Value[])
{
cl_cmdrate[id] = str_to_num(Value)
}

public result_ex_interp(id, const Cvar[], const Value[])
{
ex_interp[id] = str_to_float(Value)
}

public client_disconnect(id)
{
cl_cmdrate[id] = -1
ex_interp[id] = -1.0
}


Из недочётов - видимо протекторы блокируют query_client_cvar но в основном нормально логирует .

Создавал узнать какие значения у игроков ибо многие модельки начали подёргиваться..


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: