Fox RM Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 Небольшой обзорчик по переменным, а именно, по тем,что чаще всего используются.Начнем.1. Персонаж.•Если нам необходимо (как пример) чтоб персонажмог поговорить с НПСом 1 раз (другими словами пройти квест только один раз, или первую ступень квеста) то необходимо присваивать постоянные чар переменные. Как они выглядят:// Задаем переменнуюset my_name_var, 1;// проверяемif (my_name_var == 1) { ... }Переменная может принимать только числовые значения.•Если нам необходимо временно выделить персонажа, или наделить его возможностью говорить с каким-нибудь НПСом (пример: разрешить персонажу пользоваться премиум-варпером до следующего входа в игру) то нужно вешать временные чар. переменные:// Задаем переменнуюset @my_name_var, 1;// проверяемif (@my_name_var == 1) { ... }Такая переменная сотрется из базы сразу же, как чар покинул игру.•Если же мы хотим, чтоб только один персонаж со всего аккаунта мог пройти скажем определенный квест, то нужно вешать перманентную аккаунт переменную:// Задаем переменнуюset #my_name_var, 1;// проверяемif (#my_name_var == 1) { ... }Переменная действует на всех персонажей данного аккаунта.2. Глобальные переменные:•К примеру мы хотим объявить о начале эвента. Эвент НПС может стоять всегда в пронтере, но пускать только в определенное время. Как же это сделать? С помощью глобальной переменной. Пример:OnClock2100: // В 21:00set $event_status, 1; // задаем глоб. переменную =1end;В самом НПСе, в самом начале:if ($event_status != 1) {mes "Прости, эвент не начался"; close; }Думаю все понятно.•Вот ещё пример использования глобальных переменных: к примеру нам нужно задавать случайное имя монстра. Делается это следующим образом:set $ranom, rand(1,3); // присвоить переменной $ranom значение от 1 до 3, причем случайно выбрать.if ($ranom == 1) {set $mobname$, "Пчелка"; } // если переменная = 1if ($ranom == 2) {set $mobname$, "Оса"; // если = 2} else { set $mobname$, "Шмель"; } // иначе (т.е. если = 3)monster "prontera",192,168,""+$mobname$+"",1002,1"; // создаем моба с нашим случайным именемПока всё. Это не гайд по переменным, т.к. тут описана лишь малая часть их. Но не всё сразу. Все вопросы по переменным задавайте здесь. Надеюсь вам понадобиться это описание. by nomn 15 Ссылка на комментарий Поделиться на другие сайты Поделиться
Славик Панфилыч Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 Если не лень, можно ко всем переменным маленький пример, ну как теория-практика.Буду очень признателен. Ссылка на комментарий Поделиться на другие сайты Поделиться
Fox RM Опубликовано 9 августа, 2011 Автор Жалоба Поделиться Опубликовано 9 августа, 2011 в Статье помоему указаны примеры, или ты хочешь полный пример npc? Ссылка на комментарий Поделиться на другие сайты Поделиться
Славик Панфилыч Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 Да, вот допустим:// Задаем переменнуюset my_name_var, 1;// проверяемif (my_name_var == 1) { ... }Пример:Маленький пример Ссылка на комментарий Поделиться на другие сайты Поделиться
Agasper Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 prontera,100,100,5 script Подарок 811,{if(podarok==1){ mes "Ты уже получил подарок!"; close; }mes "Хочешь подарок?";if(select("Да:Нет")==2){ close; }getitem 909,1;set podarok,1;close;} 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Славик Панфилыч Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 Вот прекрасно, теперь, если мне необходимо закрепить переменную за аккаунтом, что для этого мне нужно сделать? 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Agasper Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 Перед названием переменной добавить "#" :prontera,100,100,5 script Подарок 811,{if(#podarok==1){ mes "Ваш аккаунт уже получал подарок!"; close; }mes "Хочешь подарок?";if(select("Да:Нет")==2){ close; }getitem 909,1;set #podarok,1;close;} 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Славик Панфилыч Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 А разве не ## ?Я читал, что # для персонажа, ## для аккаунта. Ссылка на комментарий Поделиться на другие сайты Поделиться
Agasper Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 Переменная для чаров всегда без приставки.Можно использовать для аккаунтов либо "#" либо "##" особой разницы нету. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Славик Панфилыч Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 Хорошо, спасибо, буду знать. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Milky Way Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 name - permanent character integer variable name$ - permanent character string variable @name - temporary character integer variable @name$ - temporary character string variable $name - permanent global integer variable $name$ - permanent global string variable$@name - temporary global integer variable$@name$ - temporary global string variable .name - NPC integer variable .name$ - NPC string variable.@name - scope integer variable.@name$ - scope string variable #name - permanent local account integer variable #name$ - permanent local account string variable##name - permanent global account integer variable##name$ - permanent global account string variable Ссылка на комментарий Поделиться на другие сайты Поделиться
Milky Way Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 Переменная для чаров всегда без приставки.Можно использовать для аккаунтов либо "#" либо "##" особой разницы нету.есть.# - локальная## - глобальная Ссылка на комментарий Поделиться на другие сайты Поделиться
Славик Панфилыч Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 Вот и я о том же, значит для чара #, для акка ## Ссылка на комментарий Поделиться на другие сайты Поделиться
Agasper Опубликовано 9 августа, 2011 Жалоба Поделиться Опубликовано 9 августа, 2011 Да сколько раз повторять то...Для чара переменная должна быть без ПРИСТАВКИ. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 18 августа, 2011 Жалоба Поделиться Опубликовано 18 августа, 2011 Вот и я о том же, значит для чара #, для акка ##Нет. Они обе для аккаунта. Просто разница между ними заметна, если используется несколько чар-серверов на одном логин-сервере. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 23 января, 2013 Жалоба Поделиться Опубликовано 23 января, 2013 ап Ссылка на комментарий Поделиться на другие сайты Поделиться
ph1047 Опубликовано 23 января, 2013 Жалоба Поделиться Опубликовано 23 января, 2013 Переменная может принимать только числовые значения. :o 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 23 января, 2013 Жалоба Поделиться Опубликовано 23 января, 2013 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения