Вижу правильно думаете, необходимо воспользоваться функцией floatstr, которая преобразует строку в дробное число.
Инфо из float.inc:
/* Convert a string into a floating point value */
native Float:floatstr(const string[]);
Синтаксис:
Float: floatstr ( const string[] )
- const string[] - Строка, которую нужно преобразовать в дробное число.
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "[float.inc] floatstr"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("set_text_to_float","set_text_to_float")
}
public set_text_to_float(){
//Объявление и заполнения массива
new text[] = {"5.5"}
//Объявление новой дробной переменной
new Float:float_num
//Запись в переменную результата полученного
//путем преобразования строки в дробное число
float_num = floatstr ( text )
//Вывод результата
server_print("float_num = %f",float_num)
}
Описание:
В коде скрипта оставлены все необходимы комментарии, поясняющие работу скрипта.
Для того что бы посмотреть как это работает на сервере, выполните команду set_text_to_float в консоли сервера.
Но и так все ясно, был текст -> стал дробным числом.