Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Работа с PVar а также преобразование чисел из одного типа в другой

Статус
В этой теме нельзя размещать новые ответы.

Dima972511

Умник
Здравствуйте уважаемые пользователи p-i. Сегодня я объясню что такое PVar, и как преобразововать числа. Какие функции они имеют и как же с ними работать?​

Для чего же нужен PVar?
PVar нужен для хранения данных
Чем отличается PVar от new?
Дело в том что PVar не сохраняется в памяти сервера
Виды PVar?
PVar бывает 3 видов
Это целое число
HTML:
PVarInt
Вещественное число
HTML:
PVarFloat
и строка
HTML:
PVarStr
Функции PVar
Записать в значение PVarInt и тем самым объявить его
HTML:
SetPVarInt(playerid, "название", значение);
Записать в значение PVarFloat и тем самым объявить его
HTML:
SetPVarFloat(playerid, "название", значение);
Записать в значение PVarString и тем самым объявить его
HTML:
SetPVarString(playerid, "название", строка которую надо сохранить);
Пример использования:
HTML:
SetPVarInt(playerid, "Cash", PlayerInfo[playerid][pCash]);
Узнать значение PVar: Float, Int, String:
HTML:
GetPVarInt(playerid, "название");
GetPVarFloat(playerid, "название);
GetPVarString(playerid, "Название", "в какую строку будет сохранять", число ячеек);
Пример использования:
HTML:
if(GetPVarFloat(playerid, "Heal") > 20.0)
HTML:
if(GetPVarInt(playerid, "Cash") > 1000)
HTML:
new pmsg[128];
GetPVarString(playerid, "msg", pmsg, 128);
Ну и функция удаления PVar
HTML:
DeletePVar(playerid, "название");
Таким образом с помощью PVar можно сделать оптимизацию мода

Преобразование чисел:
Иногда бывает надобность в функции перевода числа из одного типа в другой
Для этого разработчики самп позаботились о таких функциях как:
HTML:
Floatround, float, floatstr
Что же это за функции и зачем они нужны?
HTML:
floatround
преобразует число с точкой в целое число(пример: 80.28 в 80) полностью функция выглядит так
HTML:
floatround(значение которое надо преобразовать, метод);
У
HTML:
floatround
есть 4 метода преобразования
1:
HTML:
floatround_round
- округление до ближайшего целого числа.Дробная часть точно 0,5 раундов вверх (это по умолчанию).
2:
HTML:
floatround_floor
- круглый вниз
3:
HTML:
floatround_ceil
- круглый вверх
4:
HTML:
floatround_tozero
- Круглый вниз для положительных значений и более при отрицательных значений («усеченной»).
Пример использования:
Был такой случай когда мне надо было значение PlayerInfo[playerid][pHeal] представить в виде целового числа для подсчёта стоимости лечения пример:
HTML:
new cena = (100 - floatround(PlayerInfo[playerid][pHeal], floatround_round)) * 1;
Так же существует метод преобразования целового числа в вещественное(т.е число с точкой)
Для этого существует такая функция
HTML:
float(значение которое надо преобразовать)
К примеру:
HTML:
new n = float(heal) + 1;
Также есть функция преобразования из строки в число с точкой:
HTML:
Floatstr(строка);
Пример использования:
HTML:
new before[4] = "6.9";
SetPlayerPos(playerid, 0, 0, floatstr(before));
На этом пожалуй я закончу, надеюсь что вам был полезен мой урок.​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу