732 lines
18 KiB
Lua
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|