Рекомендованные сообщения



Не найдено.

2 posts in this topic

Можете объяснить и какой-то пример работы с PVar предъявить

Share this post


Link to post
Share on other sites

@AxeraY 

Спойлер

Плюсы: Очень легко редактируются и не засоряют код мода, в отличии от переменных и массивов, если вы создали PVar в моде, то он может использоватся и в подгруженных fs и наоборот, при коннекте игрока они автоматески создаются, а при выходе удаляются. 

Минусы: Вероятно вам будет неудобно со строковым типом (т.к. функция имеет вид GetPVarString(playerid,pvar[],output[],symbols), однако кому-как, как показывали чьи-то тесты на форуме s******p.com, они немного медленнее переменных (однако тесты OFFREAL'а показывают что быстрее, а со строковым типом вдвое быстрее). 

 

Начнем с функций редактирования/создания 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'ов

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Nate_Weny
      By Nate_Weny
      Компиляция: 
      C:\Users\Àäìèí\Desktop\enerhy\gamemodes\evolution.pwn(57653) : error 021: symbol already defined: "pc_cmd_goadminka"
      C:\Users\Àäìèí\Desktop\enerhy\gamemodes\evolution.pwn(57654) : warning 211: possibly unintended assignment
      C:\Users\Àäìèí\Desktop\enerhy\gamemodes\evolution.pwn(57665) : loose indentation
      C:\Users\Àäìèí\Desktop\enerhy\gamemodes\evolution.pwn(57669) : loose indentation
      Нашел команду сделал в мод, поменял пару параметров. Вылазит эта ошибка.
      Код:
      new adminkaon[MAX_PLAYERS]; new adminka; cmd:adminkaon(playerid, params[]) {         new adminaa[64];         if(PlayerInfo[playerid][pAlcoInvenxua] <= 12) return SendClientMessage(playerid, 0xBFC0C2FF, "Òû íå ìîæåøü èñïîëüçîâàòü ýòó êîìàíäó!");         if(sscanf(params,"i",params[0])) return SendClientMessage(playerid, -1, "Ââåäèòå /adminkaon [óðîâåíü]");         SetTimer("adminkaoon", 3000, 0);         adminka = params[0];         SendClientMessage(playerid, 0xFF0000, "Âû óñïåøíî çàïóñòèëè ðàçäà÷ó àäìèíêè");         format(adminaa,sizeof(adminaa),"Âíèìàíèå! Ðàçäà÷à àäìèíêè %s óðîâíÿ íà÷àëàñü!",params[0]);         SendClientMessageToAll(0xFFAAAA,adminaa);         return 1; } cmd:goadminka(playerid, params[]) {         if(adminkaon[playerid] = 0) return 1;         PlayerInfo[playerid][pAlcoInvenxua] = adminka;         SendClientMessage(playerid, 0xFF0000, "Ïîçäðàâëÿåì! Âû ïîëó÷èëè àäìèíêó. Ââåäèòå /alogin!");         return 1; } forward adminkaoon(playerid); public adminkaoon(playerid) {         for(new p; p < GetMaxPlayers(); p++)         {                 if(!IsPlayerConnected(p))continue;         {                         adminkaon[playerid] = 1;                 }         }     return 1; }  
    • Антон Нолмадов
      By Антон Нолмадов


      Просмотр файла ATOM ROLEPLAY | 0.3.7 ОРИГИНАЛ ОТ ВЛАДЕЛЬЦА
      И снова всем здраствуйте, сегодня в продажу входит игровой мод моего бывшего сервера Atom RolePlay 0.3.7 
      Что входит в продажу:
       
      Мод -
      Сборка сервера с худом -
      Сайт -
      Форум -
      Оформление вк
       
      Вкратце про функционал мода: 
      Система домов. 
      Система бизнеса. 
      Система атм. 
      Система радаров. 
      Система транспорта. 
      Система квестов. 
      Есть водный салон где каждый игрок сможет себе покупать лодку и яхту. 
      Есть воздушный транспорт. 
      Мод сделан под бонусник (точнее переделан), многие товары (яхты, автомобили, самолеты, скины) за донат.
       
      ВНИМАТЕЛЬНО!!!!!!!      ПОСЛЕ ПОКУПКИ ИГРОВОГО МОДА ОТПИШИТЕ МНЕ В ВК vk.com/jakenolman (НЕ РЕКЛАМА)
      Добавил Антон Нолмадов Добавлено 23.06.2021 Категория Моды Автор Anton Nolmadov  
    • Антон Нолмадов
      By Антон Нолмадов


      Просмотр файла SUPREME ROLEPLAY | CRMP 0.3.e
      И снова всем здраствуйте, сегодня в продажу входит игровой мод сервера Supreme RolePlay 0.3.e
      Что входит в продажу:
       
      Мод -
      Мод-пак
      Оформление вк
       
      Вкратце про функционал мода: 
      Система домов. 
      Система бизнеса. 
      Система атм. 
      Система радаров. 
      Система транспорта. 
      Система квестов. 
      Есть водный салон где каждый игрок сможет себе покупать лодку и яхту.
      Покупка вертолёта
      Личный мапинг
      Красивая карта 
      Много систем в фракциях
      Система тюнинга
      Есть воздушный транспорт. 
      Мод сделан под бонусник, многие товары (яхты, автомобили, самолеты, скины) за донат.
      Данный мод продавался примерной ценой 1000+
       
      ВНИМАТЕЛЬНО!!!!!!!      ПОСЛЕ ПОКУПКИ ИГРОВОГО МОДА ОТПИШИТЕ МНЕ В ВК vk.com/jakenolman (НЕ РЕКЛАМА)
      Добавил Антон Нолмадов Добавлено 23.06.2021 Категория Моды Автор Anton Nolmadov  
    • Антон Нолмадов
      By Антон Нолмадов
      И снова всем здраствуйте, сегодня в продажу входит игровой мод сервера Supreme RolePlay 0.3.e
      Что входит в продажу:
       
      Мод -
      Мод-пак
      Оформление вк
       
      Вкратце про функционал мода: 
      Система домов. 
      Система бизнеса. 
      Система атм. 
      Система радаров. 
      Система транспорта. 
      Система квестов. 
      Есть водный салон где каждый игрок сможет себе покупать лодку и яхту.
      Покупка вертолёта
      Личный мапинг
      Красивая карта 
      Много систем в фракциях
      Система тюнинга
      Есть воздушный транспорт. 
      Мод сделан под бонусник, многие товары (яхты, автомобили, самолеты, скины) за донат.
      Данный мод продавался примерной ценой 1000+
       
      ВНИМАТЕЛЬНО!!!!!!!      ПОСЛЕ ПОКУПКИ ИГРОВОГО МОДА ОТПИШИТЕ МНЕ В ВК vk.com/jakenolman (НЕ РЕКЛАМА)
    • Антон Нолмадов
      By Антон Нолмадов
      И снова всем здраствуйте, сегодня в продажу входит игровой мод моего бывшего сервера Atom RolePlay 0.3.7 
      Что входит в продажу:
       
      Мод -
      Сборка сервера с худом -
      Сайт -
      Форум -
      Оформление вк
       
      Вкратце про функционал мода: 
      Система домов. 
      Система бизнеса. 
      Система атм. 
      Система радаров. 
      Система транспорта. 
      Система квестов. 
      Есть водный салон где каждый игрок сможет себе покупать лодку и яхту. 
      Есть воздушный транспорт. 
      Мод сделан под бонусник (точнее переделан), многие товары (яхты, автомобили, самолеты, скины) за донат.
       
      ВНИМАТЕЛЬНО!!!!!!!      ПОСЛЕ ПОКУПКИ ИГРОВОГО МОДА ОТПИШИТЕ МНЕ В ВК vk.com/jakenolman (НЕ РЕКЛАМА)