347 lines
8.8 KiB
Lua
347 lines
8.8 KiB
Lua
|
|
|
|
----------------------------------------main server npc-------------------------------------------------
|
|
function get_module_name()
|
|
return "npc_boros"
|
|
end
|
|
|
|
|
|
|
|
function server_plebuffs()
|
|
add_state(163404,15,540000)
|
|
add_state(163405,15,540000)
|
|
add_state(163406,15,540000)
|
|
add_state(163407,15,540000)
|
|
add_state(2505,40,540000)
|
|
add_state(2506,5,540000)
|
|
add_state(2507,80,540000)
|
|
add_state(163433,5,540000)
|
|
add_state(163429,3,540000)
|
|
add_state(2506,12,540000)
|
|
add_state(2508,11,540000)
|
|
add_state(13424,90,540000)
|
|
add_state(13425,90,540000)
|
|
add_state(13423,25,540000)
|
|
buff_summoned_pets(163404,15,540000)
|
|
buff_summoned_pets(163405,15,540000)
|
|
buff_summoned_pets(163406,15,540000)
|
|
buff_summoned_pets(163407,15,540000)
|
|
buff_summoned_pets(163429,3,540000)
|
|
buff_summoned_pets(2505,40,540000)
|
|
buff_summoned_pets(2506,12,540000)
|
|
buff_summoned_pets(2507,80,540000)
|
|
buff_summoned_pets(163433,5,540000)
|
|
buff_summoned_pets(2506,5,540000)
|
|
buff_summoned_pets(2508,11,540000)
|
|
buff_summoned_pets(13424,90,540000)
|
|
buff_summoned_pets(13425,90,540000)
|
|
buff_summoned_pets(13423,25,540000)
|
|
end
|
|
|
|
|
|
function NPC_boros_contact()
|
|
local npc_name = "@"..get_npc_type().."|@"..get_npc_name()
|
|
dlg_title(npc_name)
|
|
dlg_text( "Welcome to Ouroboros Server!" )
|
|
dlg_menu( "<#CCFFCC>Consumable", "open_market('market_consumable_alu')")
|
|
dlg_menu( "<#CCFFCC>Enchant", "open_market('market_enchant_alu')" )
|
|
dlg_menu( "<#CCFFCC>Helmets", "open_market('market_helmet_alu')")
|
|
dlg_menu( "<#CCFFCC>Masks", "open_market('market_mask_alu')" )
|
|
dlg_menu( "<#CCFFCC>Deco Helmets", "open_market('market_deco_helmet_alu')" )
|
|
dlg_menu( "<#CCFFCC>Capes", "open_market('market_capes_alu')" )
|
|
dlg_menu( "<#CCFFCC>Pieces", "open_market('market_Pieces_alu')" )
|
|
dlg_menu( "<#CCFFCC>Loot Pets", "open_market('market_loots_alu')" )
|
|
dlg_menu( "<#CCFFCC>Deco Sets", "open_market('market_deco_alu')" )
|
|
dlg_menu( "<#CCFFCC>Wings", "open_market('market_wings_alu')" )
|
|
dlg_menu( "<#CCFFCC>Buffs", "server_plebuffs()" )
|
|
dlg_menu( "<#CCFFCC>Hidden Village Buffs", "NPC_Secroute_mage_contact1()" )
|
|
---dlg_menu("Guild Donation Register","clan_donation_register()")
|
|
---dlg_menu("Guild Donation","guild_donation_point_menu(0)")
|
|
---dlg_menu("Guild Level"," guild_level()")
|
|
---dlg_menu("Guild Buff","clan_buff()")
|
|
---dlg_menu("Guild Shop","guild_shop_menu()")
|
|
dlg_menu( "@90010002", " " )
|
|
dlg_show()
|
|
end
|
|
|
|
----------------------------------------------------------------------------------------------------------------------
|
|
|
|
-----------------------------------------------------Harris-----------------------------------------------------------
|
|
|
|
function get_module_name()
|
|
return "roaming_harris"
|
|
end
|
|
|
|
function roaming_special_npc()
|
|
|
|
local name = get_value("name")
|
|
|
|
dlg_title("Wanderer Harris")
|
|
dlg_text("Hallo "..name.." , Are you sure you want to try your luck with me?!")
|
|
dlg_menu("To try something?!","selected_question()")
|
|
dlg_menu("It's worth a try","selected_yes()")
|
|
dlg_menu("I do not think so..","selected_no()")
|
|
dlg_show()
|
|
|
|
end
|
|
|
|
function selected_question()
|
|
|
|
local name = get_value("name")
|
|
whisper(gv("name"),"You can get a very special gift from Harris, but you can also experience your worst nightmare. The choice is yours ...")
|
|
|
|
end
|
|
|
|
function selected_yes()
|
|
|
|
local name = get_value("name")
|
|
local zufall = math.random(1,5)
|
|
|
|
if gv("level") > 120 then
|
|
local flag = tonumber( get_flag("harris_wanderer") )
|
|
if flag == nil then
|
|
flag = 0
|
|
set_flag( "harris_wanderer", "0" )
|
|
end
|
|
if flag+10800 < get_os_time() then
|
|
if zufall == 1 then
|
|
schenke_crap_item()
|
|
set_flag( "harris_wanderer",get_os_time())
|
|
elseif zufall == 2 then
|
|
schenke_gutes_item()
|
|
set_flag( "harris_wanderer",get_os_time())
|
|
elseif zufall == 3 then
|
|
schenke_debuff()
|
|
set_flag( "harris_wanderer",get_os_time())
|
|
elseif zufall == 4 then
|
|
schenke_guten_buff()
|
|
set_flag( "harris_wanderer",get_os_time())
|
|
elseif zufall == 5 then
|
|
sicherer_tod()
|
|
set_flag( "harris_wanderer",get_os_time())
|
|
else
|
|
notice("A high "..name.." , he did not get anything from Harris ;D")
|
|
set_flag( "harris_wanderer",get_os_time())
|
|
end
|
|
else
|
|
whisper(gv("name"),get_os_date ("You can come to me %d.%m.%Y around %H:%M search again. See you.", flag+10800))
|
|
end
|
|
else
|
|
dlg_title("Wanderer Harris")
|
|
dlg_text("DO YOU BELIEVE YOU CAN POINT ME ?! Come back when you're at least level 120!")
|
|
dlg_menu("Oh who needs you already ..-.-", "")
|
|
end
|
|
end
|
|
|
|
crap_item = { 2010218,2010217,2010216,2010215,2010219,2010220,2010222,2010223,2010224,2010225,2010242,
|
|
2012062,3630079,3630087,3630351,3630354,3630352,3630350,3630325,5040025}
|
|
|
|
function schenke_crap_item()
|
|
|
|
local num = math.random(1,23)
|
|
local anzahl = math.random(1,3)
|
|
local ss_id = crap_item[ num ]
|
|
local id = get_item_name_by_code(ss_id)
|
|
insert_item(ss_id, anzahl)
|
|
text = sconv("<#D95310>You have "..anzahl.."x #@id@# obtained from Harris","#@id@#", id )
|
|
whisper(gv("name"),text)
|
|
end
|
|
|
|
gutes_item = { 920006,2010696,910079,960123,930035,920008,603105,601100284,3800101,2011308}
|
|
|
|
function schenke_gutes_item()
|
|
local num = math.random(1,15)
|
|
local anzahl = math.random(1,5)
|
|
local ss_id = gutes_item[ num ]
|
|
local id = get_item_name_by_code(ss_id)
|
|
insert_item(ss_id, anzahl)
|
|
text = sconv("<#D95310>You have "..anzahl.."x #@id@# obtained from Harris","#@id@#", id )
|
|
whisper(gv("name"),text)
|
|
end
|
|
|
|
debuff_add = { 201051,6003,201055,201054,5003,5004,5005,5006,5010,5011,5014,5102,201005,5997,320005}
|
|
|
|
function schenke_debuff()
|
|
local num = math.random(1,15)
|
|
local level = math.random(1,20)
|
|
local zeit = math.random(20000,720000)
|
|
local ss_id = debuff_add[ num ]
|
|
local id = get_item_name_by_code(ss_id)
|
|
add_state(ss_id, level,zeit)
|
|
text = sconv("<#D95310>You have a level "..level.." Received debuff from Harris")
|
|
whisper(gv("name"),text)
|
|
end
|
|
|
|
buff_add = { 1302,1003,1005,1007,1009,1011,1012,1501,1502,1503,1504,1505,1506,1507,320006,13210}
|
|
|
|
function schenke_guten_buff()
|
|
local num = math.random(1,14)
|
|
local level = math.random(1,20)
|
|
local zeit = math.random(20000,360000)
|
|
local ss_id = buff_add[ num ]
|
|
local state_name = get_item_name_by_code(ss_id)
|
|
add_state(ss_id, level,zeit)
|
|
text = sconv("<#D95310>You have a level "..level.." Received buff from Harris")
|
|
whisper(gv("name"),text)
|
|
end
|
|
|
|
function sicherer_tod()
|
|
|
|
local name = get_value("name")
|
|
|
|
warp(184476,138539)
|
|
add_state(6006,1,6000)
|
|
add_state(145409,25,12000)
|
|
add_npc(184476,138539,185001,10)
|
|
announce("Congratulations "..name.." , you have just been sent to certain death...")
|
|
end
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
----------------------------------------deco stuff-------------------
|
|
|
|
function blue_dragon_armor()
|
|
|
|
insert_item(1412, 1)
|
|
insert_item(1413, 1)
|
|
insert_item(1414, 1)
|
|
insert_item(1415, 1)
|
|
|
|
end
|
|
|
|
function red_dragon_armor()
|
|
|
|
insert_item(1416, 1)
|
|
insert_item(1417, 1)
|
|
insert_item(1418, 1)
|
|
insert_item(1419, 1)
|
|
|
|
end
|
|
|
|
function death_knight()
|
|
|
|
insert_item(1420, 1)
|
|
insert_item(1421, 1)
|
|
insert_item(1422, 1)
|
|
insert_item(1423, 1)
|
|
|
|
end
|
|
|
|
function death_knight_v2()
|
|
|
|
insert_item(1424, 1)
|
|
insert_item(1425, 1)
|
|
insert_item(1426, 1)
|
|
insert_item(1427, 1)
|
|
|
|
end
|
|
|
|
function death_knight_v3()
|
|
|
|
insert_item(1428, 1)
|
|
insert_item(1429, 1)
|
|
insert_item(1430, 1)
|
|
insert_item(1431, 1)
|
|
|
|
end
|
|
|
|
function death_knight_v5()
|
|
|
|
insert_item(1432, 1)
|
|
insert_item(1433, 1)
|
|
insert_item(1434, 1)
|
|
insert_item(1435, 1)
|
|
|
|
end
|
|
|
|
function foxxy_set()
|
|
|
|
insert_item(1436, 1)
|
|
insert_item(1437, 1)
|
|
insert_item(1438, 1)
|
|
insert_item(1439, 1)
|
|
|
|
end
|
|
|
|
function samael_set()
|
|
|
|
insert_item(1440, 1)
|
|
insert_item(1441, 1)
|
|
insert_item(1442, 1)
|
|
insert_item(1443, 1)
|
|
insert_item(1444, 1)
|
|
|
|
end
|
|
|
|
----------------------------------------------------------------------------------------------
|
|
|
|
----------------------------------------------------------------------------------------------
|
|
|
|
|
|
function new_scroll_of_teleport()
|
|
dlg_special_menu( 'Scroll of Teleporting', 'Scroll of Teleporting', 'Horizon','warp_hori()','Laksy','warp_laksy()','Katan','warp_katan()','Rondo','warp_rondo()','City Of Ruins','warp_ruin()' )
|
|
|
|
end
|
|
|
|
function warp_hori()
|
|
|
|
local name = get_value("name")
|
|
|
|
warp(152465,76951)
|
|
|
|
end
|
|
|
|
function warp_laksy()
|
|
|
|
local name = get_value("name")
|
|
|
|
warp(7363,7101)
|
|
|
|
end
|
|
|
|
function warp_katan()
|
|
|
|
local name = get_value("name")
|
|
|
|
warp(117974,59119)
|
|
|
|
end
|
|
|
|
function warp_rondo()
|
|
|
|
local name = get_value("name")
|
|
|
|
warp(138174,105965)
|
|
|
|
end
|
|
|
|
|
|
function warp_ruin()
|
|
|
|
local name = get_value("name")
|
|
|
|
warp(154666,150287)
|
|
|
|
end
|
|
----------------------------------------Dual summon pet buff----------------------------------
|
|
|
|
function buff_summoned_pets(buff_id,blevel,duration)
|
|
|
|
local creature_handle,handle,summon_state
|
|
|
|
for i = 0,5 do
|
|
|
|
handle = get_creature_handle(i)
|
|
summon_state = get_creature_value( handle, "summon_state" )
|
|
creature_handle = get_creature_value(handle, "handle")
|
|
|
|
if summon_state == 1 then
|
|
add_state(buff_id,blevel,duration,creature_handle)
|
|
end
|
|
end
|
|
end
|
|
|
|
-----------------------------------------------------------------------------------------------
|
|
|