Initial commit: server + serverfiles

This commit is contained in:
Game
2026-08-17 17:31:44 +00:00
commit ff1237686b
17389 changed files with 868929 additions and 0 deletions
@@ -0,0 +1,112 @@
if pc . get_skill_group ( ) == 0 then
say_title ( gameforge . training_grandmaster_skill . _10_sayTitle )
say ( gameforge . training_grandmaster_skill . _20_say )
return
end
if get_time ( ) < pc . getqf ( "next_time" ) then
if pc . is_skill_book_no_delay ( ) then
say_title ( gameforge . training_grandmaster_skill . _10_sayTitle )
say ( gameforge . training_grandmaster_skill . _30_say )
wait ( )
else
say_title ( gameforge . training_grandmaster_skill . _10_sayTitle )
say ( gameforge . training_grandmaster_skill . _40_say )
return
end
end
local result = training_grandmaster_skill . BuildGrandMasterSkillList ( pc . get_job ( ) , pc . get_skill_group ( ) )
local vnum_list = result [ 1 ]
local name_list = result [ 2 ]
if table . getn ( vnum_list ) == 0 then
say_title ( gameforge . training_grandmaster_skill . _10_sayTitle )
say ( gameforge . training_grandmaster_skill . _50_say )
return
end
say_title ( gameforge . training_grandmaster_skill . _10_sayTitle )
say ( gameforge . training_grandmaster_skill . _60_say )
local menu_list = { }
table . foreach ( name_list , function ( i , name ) table . insert ( menu_list , name ) end )
table . insert ( menu_list , gameforge . locale . cancel )
local s = select_table ( menu_list )
if table . getn ( menu_list ) == s then
return
end
local skill_name = name_list [ s ]
local skill_vnum = vnum_list [ s ]
local skill_level = pc . get_skill_level ( skill_vnum )
local cur_alignment = pc . get_real_alignment ( )
local need_alignment = 1000 + 500 * ( skill_level - 30 )
test_chat ( string . format ( gameforge . training_grandmaster_skill . _70_chat , cur_alignment .. gameforge . training_grandmaster_skill . _75_chat .. need_alignment ) )
local title = string . format ( gameforge . training_grandmaster_skill . _80_stringFormat , skill_name , skill_level - 30 + 1 )
say_title ( gameforge . training_grandmaster_skill . _10_sayTitle )
say ( gameforge . training_grandmaster_skill . _90_say )
if cur_alignment < - 19000 + need_alignment then
say_reward ( gameforge . training_grandmaster_skill . _100_sayReward )
return
end
if cur_alignment < 0 then
say_reward ( string . format ( gameforge . training_grandmaster_skill . _110_sayReward , need_alignment , need_alignment * 2 ) )
say_reward ( gameforge . training_grandmaster_skill . _120_sayReward )
need_alignment = need_alignment * 2
elseif cur_alignment < need_alignment then
say_reward ( string . format ( gameforge . training_grandmaster_skill . _130_sayReward , need_alignment ) )
say_reward ( gameforge . training_grandmaster_skill . _140_sayReward )
else
say_reward ( string . format ( gameforge . training_grandmaster_skill . _130_sayReward , need_alignment ) )
end
local s = select ( gameforge . locale . levelup . prev_quest_go , gameforge . locale . cancel )
if s == 2 then
return
end
if cur_alignment >= 0 and cur_alignment < need_alignment then
say_title ( title )
say_reward ( gameforge . training_grandmaster_skill . _150_sayReward )
say ( gameforge . training_grandmaster_skill . _160_say )
say_reward ( gameforge . training_grandmaster_skill . _170_sayReward )
say ( gameforge . training_grandmaster_skill . _180_say )
local s = input ( )
s = string . gsub ( s , "(%a*)%s*" , "%1" )
s = string . lower ( string . gsub ( s , "(%a*)%s*" , "%1" ) )
local t = string . gsub ( gameforge . training_grandmaster_skill . _10_answer , "(%a*)%s*" , "%1" )
t = string . lower ( string . gsub ( gameforge . training_grandmaster_skill . _10_answer , "(%a*)%s*" , "%1" ) )
if s ~= t then
return
end
end
if get_time ( ) < pc . getqf ( "next_time" ) then
if pc . is_skill_book_no_delay ( ) then
pc . remove_skill_book_no_delay ( )
else
say_title ( gameforge . training_grandmaster_skill . _10_sayTitle )
return
end
end
pc . setqf ( "next_time" , get_time ( ) + time_hour_to_sec ( number ( 8 , 12 ) ) )
if need_alignment > 0 then
if pc . count_item ( 50513 ) > 0 then
if pc . learn_grand_master_skill ( skill_vnum ) then
pc . change_alignment ( - need_alignment )
say_title ( title )
say_reward ( gameforge . training_grandmaster_skill . _190_sayReward )
if 40 == pc . get_skill_level ( skill_vnum ) then
say ( gameforge . training_grandmaster_skill . _200_say )
say ( string . format ( gameforge . training_grandmaster_skill . _210_say , skill_name ) )
say ( gameforge . training_grandmaster_skill . _220_say )
else
say ( gameforge . training_grandmaster_skill . _230_say )
say ( string . format ( gameforge . training_grandmaster_skill . _240_say , skill_name , skill_level - 30 + 1 + 1 ) )
end
say_reward ( gameforge . training_grandmaster_skill . _250_sayReward )
say_reward ( string . format ( gameforge . training_grandmaster_skill . _260_sayReward , need_alignment ) )
else
say_title ( title )
say_reward ( gameforge . training_grandmaster_skill . _270_sayReward )
say ( gameforge . training_grandmaster_skill . _280_say )
say_reward ( gameforge . training_grandmaster_skill . _290_sayReward )
pc . change_alignment ( - number ( need_alignment / 3 , need_alignment / 2 ) )
end
pc . remove_item ( 50513 )
else
char_log ( 0 , "HACK 50513" , pc . getname ( ) )
end
end