Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Телепорт за определеный итем: EMU-RT 482
#1
В Таблицах SQL сборки 482, в родных ТП указанна только требуемое количество итемов, а не их ID. Мне нужно сделать так, чтобы при наличии определенного итема, НПС телепортировал в определенную точку карты и забирал итем.
Пробовал переделать квест 1104_NewbieTravelToken

Открыть спойлер

, для себя, но неполучилось. НПС просто игнорит. Помогите пожалуйста разобраться как самому сделать ТП за определенные итемы.
Ответ
#2
Хороший скрипт взяли для "фундамента", но вот одного не понял, куда Вы удалили TOKEN, в котором и был указан ID предмета, который забирают?

[SOURCE="py"]qn = "1104_NewbieTravelToken"
TOKEN = 8542 # предмет, который мы наглым образом отберем у бедного персонажа

DATA={
30600:[ 12160, 16554,-4583],# Деревня Темных Эльфов
30601:[115594,-177993, -912],# Деревня Гномов
30599:[ 45470, 48328,-3059],# Деревня Эльфов
30602:[-45067,-113563, -199],# Деревня Орков
30598:[-84053, 243343,-3729],# Деревня Людей
32135:[-119712, 44519, 368] # Деревня Камаель
}[/SOURCE]

Где указывать нужный предмет, я думаю вам понятно стало. Идем дальше.

[SOURCE="py"] def onAdvEvent (self,event,npc, player) :
htmltext = event
st = player.getQuestState(qn)
if not st : return
if event.isdigit():
dest=int(event)
if dest in DATA.keys():
x,y,z=DATA[dest]
if x and y and z:
if st.getQuestItemsCount(TOKEN): # проверка, есть ли у персонажа предмет с id 8542
st.takeItems(TOKEN,1) # предмет(ы) с id 8542 найден(ы), отберем 1 шт.
st.getPlayer().teleToLocation(x,y,z) # телепортируем на указанные в DATA координаты
else: # предмет с id 8542 не найден у персонажа, отсылаем его на... рынок
st.exitQuest(1) # выходим из квеста
return "Incorrect item count" # выводим сообщение о том, что нехватает предмета
st.exitQuest(1)
return[/SOURCE]

Все расписал, думаю вопросов не будет. И последнее, квест будет работать только у персонажей < 20 уровня, ведь там есть проверка.

[SOURCE="py"] def onTalk (Self,npc,player):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
if player.getLevel() >= 20: # проверяем персонажа и если его уровень больше или равен 20, то даем отбой
htmltext="1.htm"
st.exitQuest(1)
else:
htmltext=str(npcId)+".htm"
return htmltext[/SOURCE]

Приводим все в такое состояние и радуемся жизни.

[SOURCE="py"] def onTalk (Self,npc,player):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
#if player.getLevel() >= 20: # проверяем персонажа и если его уровень больше или равен 20, то даем отбой
# htmltext="1.htm"
# st.exitQuest(1)
#else:
htmltext=str(npcId)+".htm"
return htmltext[/SOURCE]
Ответ
#3
Спасибо Вам за правку скрипта. Сделал как Вы сказали, но скрипт не работает.

1) Итоговый вид моего скрипта:

Открыть спойлер

2) Файл ошибки __init__.py.error
Открыть спойлер

Буду весьма признателен, если Вы поможете мне разобраться в этом скрипте. Также буду очень благодарен, если Вы поделитесь ссылочкой на мануал по этим скриптам(основные Команды, Ввод переменных, привязка к ядру сервера.)
Ответ
#4
Я вам дал рабочий вариант, проверенный, то что Вы показываете что-то кривое, питон не может работать без правильных переносов\пробелов и т.д. В массиве DATA (последняя строка) ошибка, откуда там появилась запятая?
Ответ
#5
Спасибо. Извините, что отнял Ваше время. Буду разбираться.
Ответ
#6
Добрые люди подскажите в чем косяк. Пытаюсь сделать квест для новичков, но почему то квест не запускается и никаких ошибок не выдает. Сборка таже, хтмлки все сделаны. Вот сам квест:

Открыть спойлер
Ответ
#7
всем спасибо. сам все нашел и исправил

Открыть спойлер
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  При заточке (снимается и одевается итем) JIeuTo 18 3,727 04-15-2018, 08:33 PM
Последний пост: JIeuTo
  Настройка итем-скила Lucky Clover - S-Grade visha22@mail 19 3,878 09-13-2013, 11:18 PM
Последний пост: Ozzy
  обновить итем La2lucky 3 1,459 07-31-2013, 02:35 PM
Последний пост: moveton
  Телепорт к рб (Баюм, Валакас) Леонид 4 3,608 04-21-2013, 08:33 AM
Последний пост: Krasavella
  Телепорт за определённый итем. temerlyanenk 22 5,359 01-27-2013, 09:09 AM
Последний пост: temerlyanenk
  Ошибка после того как создам итем в инвентарь. Ololowke666 1 1,427 10-29-2012, 02:25 PM
Последний пост: Zubastic
  При нажатии на итем.... Pro_Stalker 8 2,266 08-19-2012, 01:45 PM
Последний пост: Gaikotsu
  Телепорт... Kanabis 4 2,477 05-02-2012, 09:38 PM
Последний пост: Kanabis
  |Задумка|Определеный итем при лвлапе DorianGrey 25 7,395 02-09-2012, 06:52 PM
Последний пост: Nehrk
  Телепорт dbnfkbr33 4 2,156 02-06-2012, 11:46 AM
Последний пост: dbnfkbr33

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)