1
0
Fork 0
server/gamefiles/locale/english/quest/map_warp.quest

315 lines
15 KiB
Plaintext
Raw Normal View History

quest map_warp begin
state start begin
when 9012.chat.gameforge.map_warp._10_npcChat begin
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._30_say)
local main_set = select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
if main_set == 2 then
return
end
if pc.get_level() <= 10 then
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._40_say)
return
end
local map = pc.get_map_index()
local empire = pc.get_empire()
local level = pc.get_level()
local cost = math.floor(level / 5) * 1000
if cost < 1000 then
cost = 1000
end
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._50_say)
say_reward(string.format(gameforge.map_warp._60_sayReward, cost))
if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then
local guild_map_names = {
gameforge.map_warp._11_array,
gameforge.map_warp._12_array,
gameforge.map_warp._13_array,
}
guild_map_name = guild_map_names[empire]
local added_guild_map = {
gameforge.map_warp._17_array,
gameforge.map_warp._18_array,
gameforge.map_warp._19_array,
}
added_guild_map = added_guild_map[empire]
local empire_castle={
gameforge.map_warp._14_array,
gameforge.map_warp._15_array,
gameforge.map_warp._16_array,
}
empire_castle =empire_castle[empire]
local sub_set = 0
if level < 60 then -- weniger als 60 : die Privatkarte von Gild, das Drache, die Wuste Youngbi, Der Eisberg im Westen
if pc.count_item(30180) == 0 then
sub_set = select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.arena_manager._200_tableInsert)
if sub_set == 6 then -- Schliessen
return
end
else
sub_set = select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, added_guild_map, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
if sub_set == 7 then -- Schliessen
return
end
end
else -- mehr als 61 :die Wuste Youngbi, der Eisberg im Westen, das Schlangengeistturm, die Pfirsischblumendorf
if pc.count_item(30180) == 0 then
sub_set = select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.locale.levelup.prev_quest_go)
else
sub_set = select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
end
if sub_set == 6 and pc.count_item(30180) == 0 then
sub_set = sub_set +1
end
if sub_set == 7 then -- weiter
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._70_say)
say_reward(string.format(gameforge.map_warp._80_sayReward, cost))
sub_set = select(gameforge.locale.map_name_2, gameforge.map_warp._90_select, gameforge.map_warp._94_select,gameforge.map_warp._95_select, gameforge.map_warp._96_select, gameforge.arena_manager._200_tableInsert) + 6
if sub_set == 12 then
return
end
if sub_set == 11 then -- vorher
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._100_say)
--- l
say_reward(string.format(gameforge.map_warp._110_sayReward, cost))
say(gameforge.map_warp._120_sayReward)
if pc.count_item(30180) == 0 then
sub_set = select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1,added_guild_map, gameforge.locale.levelup.prev_quest_go)
else
sub_set = select(guild_map_name, gameforge.locale.map_name_4, gameforge.locale.map_name_3, gameforge.locale.map_name_1, added_guild_map, gameforge.map_warp._97_select,gameforge.locale.levelup.prev_quest_go)
end
if sub_set == 6 and pc.count_item(30180) == 0 then
sub_set = sub_set +1
end
if sub_set == 7 then -- weiter
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._130_say)
say_reward(string.format(gameforge.map_warp._140_sayReward, cost))
sub_set = select(gameforge.locale.map_name_2, gameforge.map_warp._90_select, gameforge.map_warp._94_select, gameforge.map_warp._95_select, gameforge.arena_manager._200_tableInsert) + 6
if sub_set == 11 then
return
end
end
end
end
end
if pc.gold < cost then
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._150_say)
say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
return
end
pc.changegold(-cost)
local warp = {
-- <<1>> guild_map
{
{ 135600, 4300 },
{ 179500, 1000 },
{ 271800, 13000 },
},
-- <<2>> 64 Seungryong
{
{ 402100, 673900 },
{ 270400, 739900 },
{ 321300, 808000 },
},
-- <<3>> 63 Yonbi-Desert
{
{ 217800, 627200 },
{ 221900, 502700 },
{ 344000, 502500 },
},
-- <<4>> 61 Sohan Mountain
{
{ 434200, 290600 },
{ 375200, 174900 },
{ 491800, 173600 },
},
{--added_guild_map
{204800, 204800},
{614400, 384000},
{256000, 819200},
} ,
-- <<5>> 64 Seungryong - Heavens Cave entrance
{
{ 287800, 799700 },
{ 275500, 800000 },
{ 277000, 788000 },
},
-- {--empire_castle
-- {975200, 133000},
-- {977200, 185000},
-- {923900, 183600},
-- } ,
-- <<6>> 62 metin2_map_n_flame_01
{
{ 599400, 756300 },
{ 597800, 622200 },
{ 730700, 689800 },
},
-- <<7>> devil_tower
{
{ 590500, 110500 },
{ 590500, 110500 },
{ 590500, 110500 },
},
-- <<8>> wood
{
{ 290000, 5600 },
{ 290000, 5600 },
{ 290000, 5600 },
},
-- <<9>> red wood
{
{ 1119500, 70200 },
{ 1119500, 70200 },
{ 1119500, 70200 },
},
}
test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._170_say)
wait()
if pc.is_dead() == false then
pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
else
return
end
else -- Falls jedes Dorf nicht 1,2 Dorf ist,ist es moglich zum 1,2 Dorf im Reich zuruckzukehren
local sub_set2 = 4
if pc.count_item(30180) == 0 then
if empire==1 then
sub_set2 = select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.arena_manager._200_tableInsert)
elseif empire ==2 then
sub_set2 = select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.arena_manager._200_tableInsert)
elseif empire ==3 then
sub_set2 = select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.arena_manager._200_tableInsert)
end
if sub_set2 == 3 then
return
end
else
if empire==1 then
sub_set2 = select(gameforge.map_warp._180_select, gameforge.map_warp._190_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
elseif empire ==2 then
sub_set2 = select(gameforge.map_warp._200_select, gameforge.map_warp._210_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
elseif empire ==3 then
sub_set2 = select(gameforge.map_warp._220_select, gameforge.map_warp._230_select, gameforge.map_warp._97_select, gameforge.arena_manager._200_tableInsert)
end
if sub_set2 == 4 then
return
end
end
if sub_set2 != 4 then
if pc.gold < cost then
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._150_say)
say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
else
if sub_set2 == 1 then
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._240_say)
wait()
if pc.is_dead() == false then
if empire == 1 then
pc.warp(474300,954800)
elseif empire == 2 then
pc.warp(63800,166400)
elseif empire == 3 then
pc.warp(959900,269200)
end
else
return
end
elseif sub_set2 == 2 then
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._250_say)
wait()
if pc.is_dead() == false then
if empire == 1 then
pc.warp(353100,882900)
elseif empire == 2 then
pc.warp(145500,240000)
elseif empire == 3 then
pc.warp(863900,246000)
end
else
return
end
elseif sub_set2 == 3 then
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._250_say)
wait()
if pc.is_dead() == false then
if empire == 1 then
pc.warp(287800, 799700)
elseif empire == 2 then
pc.warp(275500, 800000)
elseif empire == 3 then
pc.warp(277000, 788000)
end
else
return
end
end
pc.changegold(-cost)
end
end
end
end -- end_of_chat
when 9012.chat.gameforge.map_warp._260_npcChat with pc.level >= 90 and pc.get_map_index()!= 301 begin
say(mob_name(9012))
say(gameforge.map_warp._270_say)
local select1 = select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
if select1 == 1 then
say(mob_name(9012))
say(gameforge.map_warp._280_say)
local cost = 50000
if pc.level >= 90 then
cost = cost + ((pc.level - 90) * 10000)
end
say_reward(string.format(gameforge.map_warp._280_sayReward, cost))
local select2 = select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
if select2 == 1 and pc.level >= 90 and pc.gold >= cost then
pc.changegold(-cost)
pc.warp(1104300,1788500)
else
if pc.gold < cost then
say_title(gameforge.map_warp._20_sayTitle)
say(gameforge.map_warp._150_say)
say_reward(string.format(gameforge.map_warp._160_sayReward, cost))
return
end
end
else
return
end
end
end -- end_of_state
end -- end_of_quest