Files
2026-06-01 12:46:52 +02:00

732 lines
18 KiB
Lua

function get_module_name()
return "Seizure_Scripts"
end
function is_online(name)
if gv("login",tostring(name)) == 1 then
return true
else
return false
end
end
function insert_tamed_creature(type,code,enhance,card_id)
if type == 1 then
insert_item(card_id,1,0,0,-2147483648)
elseif type == 2 then
insert_summon_by_summon_id(code)
else
insert_summon_by_monster_id(code)
end
if enhance > 0 then
modify_creature_enhance(card_id,enhance)
end
end
function modify_creature_enhance(card_id,enhance)
local card_array = get_item_handle_list(card_id)
local new_card = table.getn(card_array)
set_item_enhance(card_array[new_card],enhance)
end
function get_main_character_infos(player)
local rows,account
account = gv("account",player)
if is_online(player) == true then
rows = "<br><size:13>Main information about "..player.."<size:10><br><br><br>"
rows = rows.."Level : "..gv("level",player).." | Jlv : "..gv("jlv",player).."<br>"
rows = rows.."JP : "..format_jp(gv("jp",player)).." | Job : "..job_return(gv("job",player)).."<br>"
rows = rows.."Race : "..race_finder(gv("race",player)).." | Sex : "..find_sex(gv("sex",player)).."<br>"
rows = rows.."HP : "..gv("hp",player).." / "..gv("max_hp",player).." | MP : "..gv("mp",player).." / "..gv("max_mp",player).."<br>"
rows = rows.."Rupee : "..gv("gold",player).." | Holic : "..gv("huntaholic_point",player).." | AP : "..gv("ap",player).."<br>"
rows = rows.."Account : "..gv("account",player).." | Lak : "..gv("chaos",player).." / "..get_max_lak(player).."<br><br>"
rows = rows.."Main - Title : "..title_name_EN(get_main_title(player)).."<br><br>Other Title<br>"
for i = 0, 4 do
rows = rows..i..". : "..title_name_EN(get_sub_title(i,player)).."<br>"
end
for i = 1, 10 do
rows = rows.."<br>"..tostring(equip_type[i]).." : "..enhance_return(i-1,player)..""..equip_name_return(i-1,player)..""..level_return(i-1,player)
end
dlg_general(rows)
else
whisper(gv("name"),player.." is not Online.")
end
end
function force_jobchange(job_id , player , typ)
if is_online(player) == true then
if typ == 'current' then
sv("job",job_id,player)
else
current_job = get_value( "job" , player )
current_jlv = get_value( "job_level" , player )
job_depth = get_value( "job_depth" , player )
if job_depth == 0 then
set_value( "job_0", current_job , player )
set_value( "jlv_0", current_jlv , player )
elseif job_depth == 1 then
set_value( "job_1", current_job , player )
set_value( "jlv_1", current_jlv , player )
elseif job_depth == 2 then
set_value( "job_2", current_job , player )
set_value( "jlv_2", current_jlv , player )
elseif job_depth == 3 then
set_value( "job_3", current_job , player )
set_value( "jlv_3", current_jlv , player )
end
job_depth = job_depth + 1
set_value( "job" , job_id , player )
set_value( "job_level" , 1 , player )
set_value( "job_depth" , job_depth , player)
end
else
whisper(gv("name"),player.." is not Online.")
end
end
function force_status_change(player,status,value,typ,order)
if is_online(player) == true then
if order == 'add' then
if status == 'lv' then
sv(status,gv(status,player)+(value-1),player)
elseif status == 'huntaholic_point' then
set_huntaholic_point(gv(status,player) + value,player)
elseif status == 'immoral' then
if typ == 1 then
sv(status,gv(status,player) - ( value * 10000 ),player )
else
sv(status,gv(status,player) + ( value * 10000 ),player )
end
elseif status == 'ethereal_stone' then
sv(status,gv(status,player) + ( value * 10000 ),player )
else
sv(status,gv(status,player)+value,player)
end
elseif order == 'remove' then
if status == 'lv' then
sv(status,gv(status,player)-(value+1),player)
elseif status == 'huntaholic_point' then
set_huntaholic_point(gv(status,player) - value,player)
elseif status == 'immoral' then
if typ == 1 then
sv(status,gv(status,player) + ( value * 10000 ),player )
else
sv(status,gv(status,player) - ( value * 10000 ),player )
end
elseif status == 'ethereal_stone' then
sv(status,gv(status,player) - ( value * 10000 ) ,player)
else
sv(status,gv(status,player)-value,player)
end
else
if status == 'lv' then
sv(status,(value-1),player)
elseif status == 'huntaholic_point' then
set_huntaholic_point(value,player)
elseif status == 'immoral' then
if typ == 1 then
sv(status,-( value * 10000 ),player )
else
sv(status,( value * 10000 ) ,player)
end
elseif status == 'ethereal_stone' then
sv(status,( value * 10000 ),player )
else
sv(status,value,player)
end
end
else
whisper(gv("name"),player.." is not Online.")
end
end
function force_creature_status_change(status,value,order,formation_slot)
if get_creature_handle(formation_slot) ~= 0 then
if order == 'add' then
set_creature_value(get_creature_handle(formation_slot),status,get_creature_value(get_creature_handle(formation_slot),status)+value)
elseif order == 'remove' then
if get_creature_value(get_creature_handle(formation_slot),status) == 0 or get_creature_value(get_creature_handle(formation_slot),status) - value <= 0 then
whisper(gv("name"),"This would end in an negative value for : "..status..". Seizure Will not execute this Command.")
else
set_creature_value(get_creature_handle(formation_slot),status,get_creature_value(get_creature_handle(formation_slot),status)-value)
end
else
set_creature_value(get_creature_handle(formation_slot),status,value)
end
else
whisper(gv("name"),"There is no Creature at Formation Slot Nr : "..(formation_slot +1)..".")
end
end
function full_creature_evolve(formation_slot)
if get_creature_handle(formation_slot) ~= 0 then
local handle = get_creature_handle(formation_slot)
local creature_evolution_depth = get_creature_value( handle, "evolution_depth" )
local summon_state = get_creature_value( handle, "summon_state" )
if creature_evolution_depth == 1 then
learn_creature_all_skill(formation_slot + 1)
if summon_state == 0 then
Creature_Evolution_exe(handle)
full_creature_evolve(formation_slot)
else
whisper(gv("name"),"Please Recall your Creature in Formation Slot Nr : "..(formation_slot +1)..".")
end
elseif creature_evolution_depth == 2 then
learn_creature_all_skill(formation_slot + 1)
if summon_state == 0 then
Creature_Evolution_exe(handle)
full_creature_evolve(formation_slot)
else
whisper(gv("name"),"Please Recall your Creature in Formation Slot Nr : "..(formation_slot +1)..".")
end
elseif creature_evolution_depth == 3 then
learn_creature_all_skill(formation_slot + 1)
end
else
whisper(gv("name"),"There is no Creature at Formation Slot Nr : "..(formation_slot +1)..".")
end
end
function spawn_mob_at_position(player,typ,id,timer,amount)
if is_online(player) == true then
if typ == 'perm' then
add_npc(gv("x",player),gv("y",player),id,amount)
else
add_npc(gv("x",player),gv("y",player),id,amount,timer)
end
else
whisper(gv("name"),player.." is not Online.")
end
end
function add_buff(player,typ,state_id,timer,level,sort,handle)
if typ == 'timed_player' then
if is_online(player) == true then
if sort == 'add' then
if handle == 'character' then
add_state(state_id,level,timer,player)
else
if gmcv("summon_state") == 1 then
add_cstate(state_id,level,timer,player)
else
whisper(gv("name"),player.." has no summoned Creature.")
end
end
else
if handle == 'character' then
remove_state(state_id,get_state_level(state_id),player)
else
if gmcv("summon_state") == 1 then
remove_cstate(state_id,999999999,player)
else
whisper(gv("name"),player.." has no summoned Creature.")
end
end
end
else
whisper(gv("name"),player.." is not Online.")
end
elseif typ == 'timed_server' then
if sort == 'add' then
cast_world_state(state_id,level,timer,0)
else
cast_world_state(state_id,5556,50,0)
end
else
if sort == 'add' then
add_event_state(state_id,level)
else
remove_event_state(state_id)
end
end
end
function learn_creature_single_skill(skill_id,formation_slot)
if get_creature_handle(formation_slot) ~= 0 then
local handle = get_creature_handle(formation_slot)
creature_learn_skill (skill_id , get_creature_value(get_creature_handle(formation_slot), "handle"))
else
whisper(gv("name"),"There is no Creature at Formation Slot Nr : "..(formation_slot +1)..".")
end
end
function custom_warp(x,y,player)
if is_online(player) == true then
local result = warp(x,y,gv("layer",player),player)
if result == 'invalid position' then
whisper(player,"You cant Teleport to this Position!")
else
warp(x,y,gv("layer",player),player)
end
else
whisper(gv("name"),player.." is not Online.")
end
end
function warp_to_player_position(player_1,player_2,typ)
if is_online(player_1) == true then
if is_online(player_1) == true then
if typ == 'warp_to' then
warp(gv("x",player_1),gv("y",player_1),player_2)
else
warp(gv("x",player_2),gv("y",player_2),player_1)
end
else
whisper(gv("name"),player_1.." is not Online.")
end
else
whisper(gv("name"),player_1.." is not Online.")
end
end
function show_full_equip_of_player(player)
if is_online(player) == true then
local rows
rows = "<br><br>Equip of "..player.."<br>"
for i = 1, 20 do
rows = rows.."<br>"..tostring(equip_arten[i]).." : "..enhance_return(part_id[i],player)..""..equip_name_return(part_id[i],player)..""..level_return(part_id[i],player)
end
dlg_general(rows.."<br><br><br>")
else
whisper(gv("name"),player.." is not Online.")
end
end
function show_part_equip_of_player(player,part)
if is_online(player) == true then
local rows
rows = "<br><br>Equip of "..player.." ("..equip_arten[part+1]..")<br>"
rows = rows.."<br>"..enhance_return(part_id[part],player)..""..equip_name_return(part_id[part],player)..""..level_return(part_id[part],player).."<br>"
rows = rows.."<br>Durability : "..durability_return(part_id[part],player).." / "..max_durability_return(part_id[part],player)
for i = 0, 3 do
rows = rows.."<br><br>"..(i+1)..". Soulstone : "..soulstone_name_return(part,player,i)
end
dlg_general(rows.."<br><br><br>")
else
whisper(gv("name"),player.." is not Online.")
end
end
function set_player_equip_enhance(part,player,enhance,typ)
if is_online(player) == true then
local allow = false
for i = 1, 9 do
if part == allowed_parts_for_modding[i] then
allow = true
end
end
if allow == true then
local handle = get_wear_item_handle(part,player)
if handle ~= 0 then
local cur_enhance = get_item_enhance(handle)
local row
row = "<br><br>"..player.."'s "..equip_arten[part+1].." has been successfully manipulated.<br><br><br>"
row = row .. "Before | +"..get_item_enhance(handle).." "..get_item_name_by_code(get_item_code(handle)).." Lv "..get_item_level(handle).."<br><br>"
if typ == 'add' then
if cur_enhance + enhance > 25 then
set_item_enhance(handle,25,player)
else
set_item_enhance(handle,cur_enhance+enhance,player)
end
elseif typ == 'remove' then
if cur_enhance - enhance < 0 then
set_item_enhance(handle,0,player)
else
set_item_enhance(handle,cur_enhance-enhance,player)
end
else
if enhance > 25 then
set_item_enhance(handle,25,player)
elseif enhance < 0 then
set_item_enhance(handle,0,player)
else
set_item_enhance(handle,enhance,player)
end
end
row = row .. "After | +"..get_item_enhance(handle).." "..get_item_name_by_code(get_item_code(handle)).." Lv "..get_item_level(handle).."<br><br>"
dlg_general(row)
else
local row
row = "<br><br>"..player.." has no "..equip_arten[part+1].." for manipulating."
dlg_general(row.."<br>")
end
else
whisper(gv("name"),"This equip part must not be manipulated.")
end
else
whisper(gv("name"),player.." is not Online.")
end
end
function set_player_equip_level(part,player,level,typ)
if is_online(player) == true then
local allow = false
for i = 1, 9 do
if part == allowed_parts_for_modding[i] then
allow = true
end
end
if allow == true then
local handle = get_wear_item_handle(part,player)
if handle ~= 0 then
local cur_level = get_item_level(handle)
local row
row = "<br><br>"..player.."'s "..equip_arten[part+1].." has been successfully manipulated.<br><br><br>"
row = row .. "Before | +"..get_item_enhance(handle).." "..get_item_name_by_code(get_item_code(handle)).." Lv "..get_item_level(handle).."<br><br>"
if typ == 'add' then
if cur_level + level >= 25 then
set_item_level(handle,25,player)
else
set_item_level(handle,cur_level+level,player)
end
elseif typ == 'remove' then
if cur_level - level <= 1 then
set_item_level(handle,1,player)
else
set_item_level(handle,cur_level-level,player)
end
else
if level >= 25 then
set_item_level(handle,25,player)
elseif level <= 1 then
set_item_level(handle,1,player)
else
set_item_level(handle,level,player)
end
end
row = row .. "After | +"..get_item_enhance(handle).." "..get_item_name_by_code(get_item_code(handle)).." Lv "..get_item_level(handle).."<br><br>"
dlg_general(row)
else
local row
row = "<br><br>"..player.." has no "..equip_arten[part+1].." for manipulating."
dlg_general(row.."<br>")
end
else
whisper(gv("name"),"This equip part must not be manipulated.")
end
else
whisper(gv("name"),player.." is not Online.")
end
end
function set_player_equip_dura(part,player,dura,typ)
if is_online(player) == true then
local allow = false
for i = 1, 8 do
if part == allowed_parts_for_modding[i] then
allow = true
end
end
if allow == true then
local handle = get_wear_item_handle(part,player)
if handle ~= 0 then
local cur_dura = get_item_ethereal_durability(handle)
local max_dura = get_max_item_ethereal_durability(handle)
if max_dura == 0 then
dlg_general("<br><br>"..player.."'s "..equip_arten[part+1].." is a Non-Dura Item.")
else
local row
row = "<br><br>"..player.."'s "..equip_arten[part+1].." has been successfully manipulated.<br><br><br>"
row = row .. "Before | "..(cur_dura / 10000).." / "..(max_dura / 10000).." Durability<br><br>"
if typ == 'add' then
if cur_dura + (dura*10000) >= max_dura then
set_item_ethereal_durability(handle,max_dura,player)
else
set_item_ethereal_durability(handle,cur_dura+(dura*10000),player)
end
elseif typ == 'remove' then
if cur_dura - (dura*10000) <= 1 then
set_item_ethereal_durability(handle,10000,player)
else
set_item_ethereal_durability(handle,cur_dura-(dura*10000),player)
end
else
if (dura*10000) >= max_dura then
set_item_ethereal_durability(handle,max_dura,player)
elseif (dura*10000) <= 1 then
set_item_ethereal_durability(handle,10000,player)
else
set_item_ethereal_durability(handle,(dura*10000),player)
end
end
row = row .. "After | "..(get_item_ethereal_durability(handle) / 10000).." / "..(max_dura / 10000).." Durability<br><br>"
dlg_general(row)
end
else
local row
row = "<br><br>"..player.." has no "..equip_arten[part+1].." for manipulating."
dlg_general(row.."<br>")
end
else
whisper(gv("name"),"This equip part must not be manipulated.")
end
else
whisper(gv("name"),player.." is not Online.")
end
end
function set_belt_slots(part,player,anzahl)
if is_online(player) == true then
local handle = get_wear_item_handle(part,player)
if handle ~= 0 then
set_socket_info(handle,0,anzahl-1,player)
else
dlg_general("<br><br>"..player.." has no "..equip_arten[part+1].." for manipulating.")
end
else
whisper(gv("name"),player.." is not Online.")
end
end
function set_soulstone_on_player(part,player,slot,id)
if is_online(player) == true then
local handle = get_wear_item_handle(part,player)
if handle ~= 0 then
local row = "<br><br>+"..get_item_enhance(handle).." "..get_item_name_by_code(get_item_code(handle)).." Lv "..get_item_level(handle).."<br><br>Before"
for i = 0, 3 do
local name = get_item_name_by_code(get_socket_info(handle,i))
if name == "SVR0" then
row = row.."<br><br>"..(i+1)..". Soulstone : -"
else
row = row.."<br><br>"..(i+1)..". Soulstone : "..name
end
end
set_socket_info(handle,slot,id,player)
row = row .. "<br><br>After"
for i = 0, 3 do
local name = get_item_name_by_code(get_socket_info(handle,i))
if name == "SVR0" then
row = row.."<br><br>"..(i+1)..". Soulstone : -"
else
row = row.."<br><br>"..(i+1)..". Soulstone : "..name
end
end
dlg_general(row.."<br><br>")
else
dlg_general("<br><br>"..player.." has no "..equip_arten[part+1].." for manipulating.")
end
else
whisper(gv("name"),player.." is not Online.")
end
end
function set_main_title_on_player(player,id)
if is_online(player) == true then
achieve_title(id,player)
set_main_title(id,player)
else
whisper(gv("name"),player.." is not Online.")
end
end
function set_main_title_timer(player)
if is_online(player) == true then
set_remain_title_time(1,player)
else
whisper(gv("name"),player.." is not Online.")
end
end
function set_sub_title_on_player(player,id,slot,is_main_title)
if is_online(player) == true then
if is_main_title == 0 then
achieve_title(id,player)
set_sub_title(slot,id,player)
else
whisper(gv("name"),"Title No. "..id.." is not a valid Sub Title!")
end
else
whisper(gv("name"),player.." is not Online.")
end
end
function learn_all_title(player,count)
for i = 1, count do
achieve_title(i)
end
end
function cgmn(color,size,message,typ,use_size,use_color)
local final_message = ""
if use_size == 1 then
final_message = final_message.."<size:"..size..">"
end
if use_color == 1 then
final_message = final_message.."<"..color..">"
end
if typ == 1 then
notice(gv("name"),final_message..message)
else
notice(final_message..message)
end
end