forked from metin2/server
225 lines
6.8 KiB
Plaintext
225 lines
6.8 KiB
Plaintext
quest arne_test1 begin
|
||
state start begin
|
||
function generate_unique_rand_table (SourceListDepth, TargetListDepth)
|
||
local Rand_List = {}
|
||
local Rand_Number
|
||
local current_length = 1
|
||
local conflict = false
|
||
local i
|
||
|
||
repeat
|
||
|
||
Rand_Number = math.random(1,SourceListDepth)
|
||
--notice("Generated Number" .. Rand_Number)
|
||
i = 1
|
||
conflict = false
|
||
|
||
while conflict == false do
|
||
if Rand_List[i] == Rand_Number then
|
||
conflict = true
|
||
else
|
||
if i == current_length then
|
||
Rand_List[i] = Rand_Number
|
||
current_length=current_length + 1
|
||
conflict = true
|
||
else
|
||
i= i + 1
|
||
end
|
||
end
|
||
|
||
end
|
||
|
||
until current_length == TargetListDepth+1
|
||
|
||
return Rand_List
|
||
|
||
end
|
||
when letter begin
|
||
local temp = math.random(1,100)
|
||
Temp_RandList ={}
|
||
Temp_RandList = arne_test1.generate_unique_rand_table(8, 4)
|
||
|
||
Test_QestBlock = false
|
||
TestQuest_timeToWait = 5
|
||
pc.setqf("cooldown_timer", get_time())
|
||
Test_Quest_LocTable_C1 =
|
||
{
|
||
[1]= {361, 478,},
|
||
[2]= {347, 475,},
|
||
[3]= {356, 461,},
|
||
[4]= {336, 462,},
|
||
[5]= {335, 447,},
|
||
[6]= {363, 450,},
|
||
[7]= {368, 479,},
|
||
[8]= {380, 463,},
|
||
}
|
||
Test_Quest_LocTable_Temp =
|
||
{
|
||
Test_Quest_LocTable_C1[Temp_RandList[1]],
|
||
Test_Quest_LocTable_C1[Temp_RandList[2]],
|
||
Test_Quest_LocTable_C1[Temp_RandList[3]],
|
||
Test_Quest_LocTable_C1[Temp_RandList[4]],
|
||
}
|
||
-- set_state(reach_marker)
|
||
end
|
||
end
|
||
|
||
state reach_marker begin
|
||
when letter begin
|
||
target.pos("__TARGET8__", Test_Quest_LocTable_Temp[1][1], Test_Quest_LocTable_Temp[1][2], 41, "")
|
||
target.pos("__TARGET9__", Test_Quest_LocTable_Temp[2][1], Test_Quest_LocTable_Temp[2][2], 41, "")
|
||
target.pos("__TARGET10__", Test_Quest_LocTable_Temp[3][1], Test_Quest_LocTable_Temp[3][2], 41, "")
|
||
target.pos("__TARGET11__", Test_Quest_LocTable_Temp[4][1], Test_Quest_LocTable_Temp[4][2], 41, "")
|
||
-- target.pos("__TARGET9__", 347, 475, 41, "")
|
||
notice("Markers should be there")
|
||
end
|
||
|
||
when __TARGET8__.target.arrive begin
|
||
if Test_QestBlock == true then
|
||
notice("Bool true")
|
||
if get_time() - pc.getqf("cooldown_timer") >= TestQuest_timeToWait then
|
||
notice("wait timer through")
|
||
Test_QestBlock = false
|
||
else
|
||
notice("waiting for timer")
|
||
end
|
||
else
|
||
target.delete("__TARGET8__")
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Hier ist eine der geforenen Tr<54>nen des Drachengottes zur Erde gest<73>rtzt.")
|
||
local s = select("Tr<54>ne aufnehmen", "Nach mehr graben", "Nichts tun")
|
||
if s == 1 then
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du erh<72>lst eine gefrorene Tr<54>ne.")
|
||
mob.spawn(173, pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
|
||
end
|
||
if s == 2 then
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du findest 2 gefroene Tr<54>nen.")
|
||
mob.spawn(173, pc.get_local_x(), pc.get_local_y(), 1, 1, 3)
|
||
end
|
||
if s == 3 then
|
||
pc.setqf("cooldown_timer", get_time())
|
||
affect.add(apply.CON, 120, 60)
|
||
TestQuest_timeToWait = 5
|
||
Test_QestBlock = true
|
||
target.pos("__TARGET8__", Test_Quest_LocTable_Temp[1][1], Test_Quest_LocTable_Temp[1][2], 41, "")
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du l<>sst die Tr<54>ne liegen.")
|
||
end
|
||
end
|
||
end
|
||
|
||
when __TARGET9__.target.arrive begin
|
||
if Test_QestBlock == true then
|
||
notice("Bool true")
|
||
if get_time() - pc.getqf("cooldown_timer") >= TestQuest_timeToWait then
|
||
notice("wait timer through")
|
||
Test_QestBlock = false
|
||
else
|
||
notice("waiting for timer")
|
||
end
|
||
else
|
||
target.delete("__TARGET9__")
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Hier ist eine der geforenen Tr<54>nen des Drachengottes zur Erde gest<73>rtzt.")
|
||
local s = select("Tr<54>ne aufnehmen", "Nach mehr graben", "Nichts tun")
|
||
if s == 1 then
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du erh<72>lst eine gefrorene Tr<54>ne.")
|
||
affect.add(apply.CON, 30, 60)
|
||
mob.spawn(173, pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
|
||
end
|
||
if s == 2 then
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du findest 2 gefroene Tr<54>nen.")
|
||
mob.spawn(173, pc.get_local_x(), pc.get_local_y(), 1, 1, 3)
|
||
end
|
||
if s == 3 then
|
||
pc.setqf("cooldown_timer", get_time())
|
||
affect.add(apply.CON, 120, 60)
|
||
TestQuest_timeToWait = 5
|
||
Test_QestBlock = true
|
||
target.pos("__TARGET9__", Test_Quest_LocTable_Temp[2][1], Test_Quest_LocTable_Temp[2][2], 41, "")
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du l<>sst die Tr<54>ne liegen.")
|
||
end
|
||
end
|
||
end
|
||
|
||
when __TARGET10__.target.arrive begin
|
||
if Test_QestBlock == true then
|
||
notice("Bool true")
|
||
if get_time() - pc.getqf("cooldown_timer") >= TestQuest_timeToWait then
|
||
notice("wait timer through")
|
||
Test_QestBlock = false
|
||
else
|
||
notice("waiting for timer")
|
||
end
|
||
else
|
||
target.delete("__TARGET10__")
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Hier ist eine der geforenen Tr<54>nen des Drachengottes zur Erde gest<73>rtzt.")
|
||
local s = select("Tr<54>ne aufnehmen", "Nach mehr graben", "Nichts tun")
|
||
if s == 1 then
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du erh<72>lst eine gefrorene Tr<54>ne.")
|
||
affect.add(apply.CON, 30, 60)
|
||
mob.spawn(173, pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
|
||
end
|
||
if s == 2 then
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du findest 2 gefroene Tr<54>nen.")
|
||
mob.spawn(173, pc.get_local_x(), pc.get_local_y(), 1, 1, 3)
|
||
end
|
||
if s == 3 then
|
||
pc.setqf("cooldown_timer", get_time())
|
||
affect.add(apply.CON, 120, 60)
|
||
TestQuest_timeToWait = 5
|
||
Test_QestBlock = true
|
||
target.pos("__TARGET10__", Test_Quest_LocTable_Temp[3][1], Test_Quest_LocTable_Temp[3][2], 41, "")
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du l<>sst die Tr<54>ne liegen.")
|
||
end
|
||
end
|
||
end
|
||
|
||
when __TARGET11__.target.arrive begin
|
||
if Test_QestBlock == true then
|
||
notice("Bool true")
|
||
if get_time() - pc.getqf("cooldown_timer") >= TestQuest_timeToWait then
|
||
notice("wait timer through")
|
||
Test_QestBlock = false
|
||
else
|
||
notice("waiting for timer")
|
||
end
|
||
else
|
||
target.delete("__TARGET11__")
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Hier ist eine der geforenen Tr<54>nen des Drachengottes zur Erde gest<73>rtzt.")
|
||
local s = select("Tr<54>ne aufnehmen", "Nach mehr graben", "Nichts tun")
|
||
if s == 1 then
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du erh<72>lst eine gefrorene Tr<54>ne.")
|
||
affect.add(apply.CON, 30, 60)
|
||
mob.spawn(173, pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
|
||
end
|
||
if s == 2 then
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du findest 2 gefroene Tr<54>nen.")
|
||
mob.spawn(173, pc.get_local_x(), pc.get_local_y(), 1, 1, 3)
|
||
end
|
||
if s == 3 then
|
||
pc.setqf("cooldown_timer", get_time())
|
||
affect.add(apply.CON, 120, 60)
|
||
TestQuest_timeToWait = 5
|
||
Test_QestBlock = true
|
||
target.pos("__TARGET11__", Test_Quest_LocTable_Temp[4][1], Test_Quest_LocTable_Temp[4][2], 41, "")
|
||
say_title("Gefrorene Tr<54>ne")
|
||
say("Du l<>sst die Tr<54>ne liegen.")
|
||
end
|
||
end
|
||
end
|
||
|
||
end
|
||
end |