Вопросы

1 ответ на этот вопрос

  • 0
Гость
Новичок

@AxeraY 

  Плюсы и минусы (открыть спойлер)

Начнем с функций редактирования/создания PVar'ов. 

Как вы уже знаете в pawn скриптинге есть четыре типа переменных - целое число(integer), вещественный тип(float), строковый тип(string) и boolean(true и false), все эти типы кроме boolean доступны в PVar'ах. Вот функции: 

SetPVarInt(playerid,pvar[],int);//создает и редактирует PVar со значением целого числа 
 SetPVarFloat(playerid,pvar[],float);//создает и редактирует PVar с вещественным типом 
 SetPVarString(playerid,pvar[],string[]);//создает и редактирует PVar со строковым типом  

Если вы хотите создать PVar, то вам надо применить функцию SetPVarInt, SetPVarFloat или SetPVarString, также при создании, значение PVar'a сделается таким, какое вы указали при использовании данных функций. 


Примеры:
 

SetPVarInt(playerid,"TestInt",1);//создаем PVar со значением целого числа и присваиваем ему значение 1 
 SetPVarFloat(playerid,"TestFloat",6.1);//создаем PVar со значением дробного числа и присваиваем ему значение 6.1 
 SetPVarString(playerid,"TestString","Hello World!");//создаем PVar с строковым типом и записываем в него текст Hello World!  

Редактируются PVar'ы абсолютно теми же функциями. Как вы уже заметили название PVar'a пишется в кавычках (" "), что позволяет нам вызывать данные PVar'ы в скриптах подгруженных к серверу из мода или из скриптов в моде (об этом говорилось раньше). 

Теперь перейдем к функциям получения значения PVar'a. 

Список данных функций: 

GetPVarInt(playerid,pvar[]);//возвращает значение PVar'a pvar[] 
 GetPVarFloat(playerid,pvar[]);//возвращает значение PVar'a pvar[] 
 GetPVarString(playerid,pvar[],output[],symbols);//здесь немного сложнее, записывает значение PVar'a pvar[] в переменную со строковым типом output[] (так как по некоторым причинам функции в pawn не должны возвращать строки), symbols - это сколько символов вы хотели бы записать в переменную output.  

Вот примеры использования 
 

/*Если значение PVar'a TestInt равно 2, выводим в консоль его значение(т.е 2)*/ 
 new testint = GetPVarInt(playerid,"TestInt");//для удобства создаем переменную 
 if(testint == 2) print(testint);//делаем проверку 

 /*Тоже самое только с Float*/ 
 new Float:testfloat = GetPVarFloat(playerid,"TestFloat");//для удобства создаем переменную 
 if(testfloat == 6.1) print(testfloat);//делаем проверку 

 /*А теперь немного сложнее, делаем операцию с String значением, как вы помните мы присвоили PVar'у TestString значение: Hello World!*/ 
 new output[64];//делаем переменную в которую будет записано значением PVar'а 
 GetPVarString(playerid,"TestString",output,sizeof(output));//геттим значение PVar'а 
 if(strcmp(output,"Hello World!",true,13)) printf(output);//если находим в output Hello World! выводим в консоль output  

Но это только примеры, вы же можете использовать данные функции как захотите. 
Также хочу заметить обделенные нами функции. Одна из них DeletePVar. 
Синтаксис и значение функции думаю понятно. 

DeletePVar(playerid,pvar[]);  

Удаляем у указанного игрока playerid PVar pvar[]. 
Далее идет функция 

GetPVarType(playerid, pvar[]);  

Возвращает тип указанного PVar'a. Типы PVar'ов

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • otec
      От otec
      Копия радмира
      ║☑️Название CORVUS CRMP
      ║☑️Сервер у которого есть будущее и будет
      ║☑️Адекватная администрация
      ║☑️Идут наборы в Лидеры, Админы.
      ║☑️Вступайте в Telegram: t.me/corvusgta « Вступай!
      ║☑️Вступайте в ВКонтакте: vk.com/corvus_crmp « Вступай!
      ║☑️Постоянные ПРИЗЫ - МП | Интересный Мод
      ║☑️Все новости - обновления в Telegram и ВКонтакте
      ║☑️Сайт - corvus-crmp.ru
      ║☑️Форум - forum.corvus-crmp.ru
      ║☑️Скачать лаунчер - corvus-crmp.ru
      ║☑️Заходи мы ждем тебя
      ║☑️В случае возможных ошибок пишите сюда:@corvus_help_bot
    • vicegame
      От vicegame
      Доброго времени суток уважаемые форумчане
      Хочу представить наши услуги и цены:
      GTA SAMP от 75руб
      GTA CRMP от 75 руб
      GTA MTA от 120 руб
      Для каждого тарифа неограниченные слоты, оплата только за ресурсы 
      Удобная панель управления и широкий функционал 
      Работаем с 2023 года!
       
      Также имеются БЕСПЛАТНЫЕ тарифы для (ознакомительных целей)
       
      Мощные процессоры Ryzen 5950X (Германия)
       
      Платежная система YooKassa на борту:
      Банковские карты
      SberPay
      TinkoffPay
      Yoomoney

      Ссылка на хостинг: ТЫК
    • hatriyikko
      От hatriyikko
      Требуется мобильная сборка мод + клиент + лаунчер

      Копия Радмира, Блэк Раши или что-то другое с аналогичным функционалом. Основной упор на бизнесы, чтобы всё исправно работало
       
      Напишите сколько это будет стоить?

      В дальнейшем также могут понадобиться какие то доработки мода, если всё ок рассматриваю долгосрочное сотрудничество

      Связь тут или в тг @kovart7