Initial commit: server + serverfiles
This commit is contained in:
+175
@@ -0,0 +1,175 @@
|
||||
local lev = pc . getqf ( "current" )
|
||||
if lev == 0 then return end
|
||||
if pc . getqf ( "buttonstate" ) == 3 then
|
||||
if pc . getqf ( "complete" ) ~= lev then
|
||||
pc . setqf ( "complete" , lev )
|
||||
local s = pc . getqf ( "select" )
|
||||
if s == 0 then s = 1 end
|
||||
say_title ( string . format ( gameforge . levelup . _50_sayTitle , lev ) )
|
||||
say ( gameforge . levelup . _60_say )
|
||||
say ( "" )
|
||||
if lev <= 20 then
|
||||
if lev <= table . getn ( special . levelup_reward1 ) then
|
||||
pc . give_item ( gameforge . levelup . _64_give .. lev .. gameforge . levelup . _65_give ,
|
||||
special . levelup_reward1 [ lev ] [ pc . job + 1 ] )
|
||||
else
|
||||
local v = number ( 1 , 100 )
|
||||
if v <= special . levelup_reward3 [ 1 ] [ 1 ] then
|
||||
pc . give_item ( gameforge . levelup . _64_give .. lev .. gameforge . levelup . _65_give , special . levelup_reward3 [ 1 ] [ 2 ] , special . levelup_reward3 [ 1 ] [ 3 ] )
|
||||
elseif v <= special . levelup_reward3 [ 2 ] [ 1 ] then
|
||||
pc . give_item ( gameforge . levelup . _64_give .. lev .. gameforge . levelup . _65_give , special . levelup_reward3 [ 2 ] [ 2 ] , special . levelup_reward3 [ 2 ] [ 3 ] )
|
||||
elseif v <= special . levelup_reward3 [ 3 ] [ 1 ] then
|
||||
pc . give_item ( gameforge . levelup . _64_give .. lev .. gameforge . levelup . _65_give , special . levelup_reward3 [ 3 ] [ 2 ] , special . levelup_reward3 [ 3 ] [ 3 ] )
|
||||
elseif v <= special . levelup_reward3 [ 4 ] [ 1 ] then
|
||||
pc . give_item ( gameforge . levelup . _64_give .. lev .. gameforge . levelup . _65_give , special . levelup_reward3 [ 4 ] [ 2 ] , special . levelup_reward3 [ 4 ] [ 3 ] )
|
||||
else
|
||||
pc . give_item ( gameforge . levelup . _64_give .. lev .. gameforge . levelup . _65_give , special . levelup_reward3 [ 5 ] [ 2 ] , special . levelup_reward3 [ 5 ] [ 3 ] )
|
||||
end
|
||||
end
|
||||
pc . give_exp_perc ( gameforge . levelup . _64_give .. lev .. gameforge . levelup . _66_give , lev , special . levelup_quest [ lev ] [ 5 ] )
|
||||
if lev == 12 or lev == 14 or lev == 16 or lev == 18 or lev == 20 then
|
||||
pc . give_item2 ( 50083 )
|
||||
say_reward ( string . format ( gameforge . levelup . _70_sayReward , item_name ( 50083 ) ) )
|
||||
wait ( )
|
||||
end
|
||||
else
|
||||
local ll = lev - 20
|
||||
if lev < 26 then
|
||||
local n = table . getn ( special . levelup_reward_item_21 [ ll ] )
|
||||
local t = special . levelup_reward_item_21 [ ll ] [ number ( 1 , n ) ]
|
||||
say_reward ( gameforge . levelup . _80_sayReward )
|
||||
if type ( t ) == "table" then
|
||||
pc . give_item2 ( t [ 1 ] , t [ 2 ] )
|
||||
say_reward ( string . format ( gameforge . levelup . _90_sayReward , item_name ( t [ 1 ] ) .. " " .. t [ 2 ] ) )
|
||||
else
|
||||
pc . give_item2 ( t )
|
||||
say_reward ( string . format ( gameforge . levelup . _100_sayReward , item_name ( t ) ) )
|
||||
end
|
||||
end
|
||||
local reward_gold = special . levelup_reward_gold21 local reward_exp = special . levelup_reward_exp21 if lev >= 31 and lev <= 40 then
|
||||
reward_gold = special . levelup_reward_gold31 reward_exp = special . levelup_reward_exp31 elseif lev >= 41 and lev <= 50 then
|
||||
reward_gold = special . levelup_reward_gold41 reward_exp = special . levelup_reward_exp41 elseif lev >= 51 and lev <= 83 then
|
||||
reward_gold = special . levelup_reward_gold51 reward_exp = special . levelup_reward_exp51 elseif lev >= 84 and lev <= 90 then
|
||||
reward_gold = special . levelup_reward_gold51 reward_exp = special . levelup_reward_exp84 end
|
||||
n = number ( 0 , 99 )
|
||||
local i = 0
|
||||
for i = 1 , table . getn ( reward_gold ) begin
|
||||
if n < reward_gold [ i ] [ 2 ] then
|
||||
pc . change_money ( reward_gold [ i ] [ 1 ] )
|
||||
say_reward ( string . format ( gameforge . levelup . _110_sayReward , reward_gold [ i ] [ 1 ] ) )
|
||||
break
|
||||
else
|
||||
n = n - reward_gold [ i ] [ 2 ]
|
||||
end
|
||||
end
|
||||
n = number ( 0 , 99 )
|
||||
i = 0
|
||||
for i = 1 , table . getn ( reward_exp ) begin
|
||||
if n < reward_exp [ i ] [ 2 ] then
|
||||
pc . give_exp_perc ( gameforge . levelup . _64_give .. lev .. gameforge . levelup . _66_give , lev , reward_exp [ i ] [ 1 ] )
|
||||
say_reward ( string . format ( gameforge . levelup . _120_sayReward , reward_exp [ i ] [ 1 ] ) )
|
||||
break
|
||||
else
|
||||
n = n - reward_exp [ i ] [ 2 ]
|
||||
end
|
||||
end
|
||||
say ( "" )
|
||||
wait ( )
|
||||
end
|
||||
end
|
||||
local old_lev = lev
|
||||
lev = lev + 1
|
||||
if lev > 1 and lev < 90 and pc . level >= lev then
|
||||
pc . setqf ( "buttonstate" , 2 )
|
||||
makequestbutton ( string . format ( gameforge . levelup . _130_makequestbutton , lev ) )
|
||||
pc . setqf ( "current" , lev )
|
||||
pc . setqf ( "select" , 1 )
|
||||
pc . setqf ( "remain" , special . levelup_quest [ lev ] [ 2 ] )
|
||||
setskin ( NOWINDOW )
|
||||
return
|
||||
else
|
||||
pc . setqf ( "current" , 0 )
|
||||
q . done ( )
|
||||
end
|
||||
elseif pc . getqf ( "buttonstate" ) == 2 then
|
||||
local lev = pc . getqf ( "current" )
|
||||
if lev == 0 then
|
||||
q . done ( )
|
||||
end
|
||||
say_title ( gameforge . levelup . _140_sayTitle )
|
||||
say ( gameforge . levelup . _150_say )
|
||||
local sel = select (
|
||||
mob_name ( special . levelup_quest [ lev ] [ 1 ] ) .. " " .. special . levelup_quest [ lev ] [ 2 ] .. gameforge . levelup . _155_say ,
|
||||
mob_name ( special . levelup_quest [ lev ] [ 3 ] ) .. " " .. special . levelup_quest [ lev ] [ 4 ] .. gameforge . levelup . _155_say )
|
||||
setskin ( SCROLL )
|
||||
setbgimage ( "level_bg.tga" )
|
||||
say ( "" )
|
||||
say ( "" )
|
||||
say ( "" )
|
||||
pc . setqf ( "select" , sel )
|
||||
addimage ( 20 , 12 , special . levelup_img [ special . levelup_quest [ lev ] [ sel * 2 - 1 ] ] )
|
||||
setcolor ( 0 , 0 , 0 )
|
||||
say ( string . format ( gameforge . levelup . _20_say , mob_name ( special . levelup_quest [ lev ] [ sel * 2 - 1 ] ) ) )
|
||||
say ( string . format ( gameforge . levelup . _26_say , special . levelup_quest [ lev ] [ sel * 2 ] ) )
|
||||
say ( string . format ( gameforge . levelup . _27_say , special . levelup_quest [ lev ] [ 5 ] ) )
|
||||
if lev <= table . getn ( special . levelup_reward1 ) then
|
||||
raw_script ( ", " .. item_name ( special . levelup_reward1 [ lev ] [ pc . job + 1 ] ) )
|
||||
elseif lev > table . getn ( special . levelup_reward1 ) and lev < 26 then
|
||||
raw_script ( ", " .. locale . levelup . random_item )
|
||||
end
|
||||
if lev >= 21 then
|
||||
raw_script ( ", " .. locale . gold )
|
||||
end
|
||||
raw_script ( newline )
|
||||
levelup . show_mob_pos ( lev )
|
||||
local s = select ( gameforge . levelup . _160_select )
|
||||
if s == 1 then
|
||||
setskin ( NOWINDOW )
|
||||
pc . setqf ( "remain" , special . levelup_quest [ lev ] [ sel * 2 ] )
|
||||
syschat ( string . format ( gameforge . levelup . _170_chat , mob_name ( special . levelup_quest [ lev ] [ sel * 2 - 1 ] ) , " " .. special . levelup_quest [ lev ] [ sel * 2 ] ) )
|
||||
q . set_title ( string . format ( gameforge . levelup . _180_qSetTitle , mob_name ( special . levelup_quest [ lev ] [ sel * 2 - 1 ] ) ) )
|
||||
q . set_counter ( gameforge . levelup . _250_say , pc . getqf ( "remain" ) )
|
||||
q . start ( )
|
||||
end
|
||||
setskin ( NOWINDOW )
|
||||
clearmapsignal ( )
|
||||
elseif pc . getqf ( "buttonstate" ) == 1 then
|
||||
local s = pc . getqf ( "select" )
|
||||
if s == 0 then s = 1 end
|
||||
local lev = pc . getqf ( "current" )
|
||||
if lev ~= 0 then
|
||||
say_title ( gameforge . levelup . _140_sayTitle )
|
||||
say ( string . format ( gameforge . levelup . _190_say , pc . getqf ( "remain" ) .. gameforge . levelup . _195_say .. mob_name ( special . levelup_quest [ lev ] [ s * 2 - 1 ] ) ) )
|
||||
local ss = select ( gameforge . levelup . _200_select , gameforge . locale . levelup . prev_quest_go )
|
||||
if ss == 1 then
|
||||
setskin ( SCROLL )
|
||||
setbgimage ( "level_bg.tga" )
|
||||
say ( "" )
|
||||
say ( "" )
|
||||
say ( "" )
|
||||
addimage ( 20 , 12 , special . levelup_img [ special . levelup_quest [ lev ] [ s * 2 - 1 ] ] )
|
||||
setcolor ( 0 , 0 , 0 )
|
||||
say ( string . format ( gameforge . levelup . _20_say , mob_name ( special . levelup_quest [ lev ] [ s * 2 - 1 ] ) ) )
|
||||
say ( string . format ( gameforge . levelup . _26_say , special . levelup_quest [ lev ] [ s * 2 ] ) )
|
||||
raw_script ( string . format ( gameforge . levelup . _27_say , special . levelup_quest [ lev ] [ 5 ] ) )
|
||||
say ( "" )
|
||||
if lev <= table . getn ( special . levelup_reward1 ) then
|
||||
raw_script ( "," .. item_name ( special . levelup_reward1 [ lev ] [ pc . job + 1 ] ) )
|
||||
elseif lev > table . getn ( special . levelup_reward1 ) and lev < 26 then
|
||||
raw_script ( "," .. locale . levelup . random_item )
|
||||
end
|
||||
if lev >= 21 then
|
||||
raw_script ( "," .. locale . gold )
|
||||
end
|
||||
raw_script ( newline )
|
||||
select ( gameforge . locale . confirm )
|
||||
setskin ( NOWINDOW )
|
||||
clearmapsignal ( )
|
||||
end
|
||||
setskin ( NOWINDOW )
|
||||
q . set_title ( string . format ( gameforge . levelup . _180_qSetTitle , mob_name ( special . levelup_quest [ lev ] [ s * 2 - 1 ] ) ) )
|
||||
q . set_counter ( gameforge . levelup . _250_say , pc . getqf ( "remain" ) )
|
||||
q . start ( )
|
||||
end
|
||||
end
|
||||
pc . setqf ( "buttonstate" , - 1 )
|
||||
Reference in New Issue
Block a user