• Networking: The investigation is still on the way, we've switched to backup telecom carriers since the episode but we're still working in settling everything as it must be. We'll add more updates as we have them available. Incoming and outgoing emails will be restricted, and user registration has been disabled until the issue is resolved.

[Guide] lua - scripting language

Status
Not open for further replies.
Just a Seymour
Joined
May 19, 2011
Messages
602
Reaction score
77
Location
root\hell\
Hi everybody =)
I`ve been looking throw `server_data` and have found interesting thing.
File `Lua说明文档.txt` is `Abc` for Loong Server.Here are all functions,that could be used in scripts.
Now,you know,that Master of seuwing (Emperor castle) npc doesn`t work.If you open gm console,you will see an error.And also errored file.
So,in .cpk we foun it and looking into FashionStep:

local function OnTalk()
Quest.ClearNPCTalkOptions(); --清除对话框选项 --设置对话选项
Quest.SetNPCTalkOption(EOT_ScenarioTalk,0,0,"Пошив костюма");
Quest.SetNPCTalkOption(EOT_ScenarioTalk,1,0,"Что такое улучшение костюма?");
Quest.SetNPCTalkOption(EOT_ScenarioTalk,2,0,"Как улучшить костюм?");
Quest.SetNPCTalkOption(EOT_ScenarioTalk,3,0,"Характеристики костюма");
Quest.NPCTalk(0,0,"В этом ремесле мне нет равных!");
end

local function OnScenarioTalk(id,step)
if( id == 0 )then
Quest.FashionStep();
elseif( id == 1 )then --解散帮派

Quest.NPCTalk(0,0,"1. Многие костюмы можно улучшить. Исключение составляют лишь некоторые виды одежды (например, костюм новичка).\\n2. Улучшение костюма влияет на его характеристики.\\n3. Существует три стадии улучшения.\\n4. После первой носить костюм могут только персонажи, достигшие 30 уровня.\\n5. После второй носить костюм могут только персонажи, достигшие 60 уровня.\\n6. После третьей носить костюм могут только персонажи, достигшие 90 уровня.");
elseif( id == 2 )then --解散帮派

Quest.NPCTalk(0,0,"1. Для улучшения костюма нужны шелковые нити, которые в том числе можно купить и в магазине.\\n2. Раздобыв нити, тебе следует разыскать мастера, который мог бы справиться с этой работой. Например, меня.\\n3. Чем больше катушек с нитями использовать для улучшения, тем выше вероятность успеха.\\n4. Варьировать количество материала можно с помощью кнопок '+' и '-' в окне пошива костюма; \\n5. Чтобы вероятность успеха составила 100%, при первом улучшении требуется около 10 катушек, при втором улучшении - около 30 катушек, при третьем улучшении - около 60 катушек.");
elseif( id == 3 )then --解散帮派

Quest.NPCTalk(0,0,"1. Рост характеристик зависит от типа выбранного улучшения.\\n2. В результате улучшения можно повысить показатели физической атаки и защиты, а также магической атаки и защиты.\\n3. Если надеть 3, 5 или 6 частей костюма, то это приведет к дополнительному росту характеристик.");
end

end

FashionStep = {}
FashionStep["OnTalk"] = OnTalk
FashionStep["OnScenarioTalk"] = OnScenarioTalk

We are interested in this:
local function OnScenarioTalk(id,step)
if( id == 0 )then
Quest.FashionStep();
elseif( id == 1 )then --解散帮派

so,if `id` == 0,then open variable FashionStep,which should be in server_script dirrectory.But it isn`t here.So,for Masterpiece seuver,we shouk wright our own script.For now,it is all.Best wishes:thumbup:

(I wrote this topic,for people,always asking `Why it is not working?`)
 

Attachments

Last edited:
а точнее? я не понял смысла(
more precisely? I do not understand the meaning of (

It means missing of partipicular script in server_data folder=)
Это значит отсутствие определёного скрипта на сервере=):wink:
 
Status
Not open for further replies.
Back