|
You last visited: Today at 14:54
Advertisement
Sellenstein quest ohne zeit
Discussion on Sellenstein quest ohne zeit within the Metin2 Private Server forum part of the Metin2 category.
10/30/2013, 05:17
|
#1
|
elite*gold: 0
Join Date: Nov 2012
Posts: 89
Received Thanks: 14
|
Sellenstein quest ohne zeit
Hallo meine freunde k鰊nte vlt jeman f黵 mich die quest so schreiben
das beim sellenstein lessen keine zeit ist
ich meine zb das man keine zeit braucht um noch eine zu lessen
Code:
quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say_title ( "Seelenstein" )
if pc . get_skill_group ( ) == 0 then
say ( "⊿Τヴ戮穨." .. pc . get_skill_group ( ) )
return
end
if get_time ( ) < pc . getqf ( "next_time" ) then
if pc . is_skill_book_no_delay ( ) then
say ( "Hiermit kannst du eine" )
say ( "Fertigkeit perfektionieren." )
say ( "" )
wait ( )
say_title ( "Seelenstein" )
else
say ( "Du kannst erst morgen wieder" )
say ( "einen Seelenstein nutzen!" )
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 ( "Deine Fertigkeiten sind bereits perfekt!" )
return
end
say ( "W鋒le eine Fertigkeit aus." )
say ( "" )
local menu_list = { }
table . foreach ( name_list , function ( i , name ) table . insert ( menu_list , name ) end )
table . insert ( menu_list , "Abbrechen" )
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 ( "瞷到碿: " .. cur_alignment )
test_chat ( "Ben鰐igte Rangpunkte: " .. need_alignment )
local title = string . format ( "Fertigkeit perfektionieren:" , skill_name , skill_level - 30 + 1 )
say_title ( title )
say ( "Beim lesen des Seelensteins" )
say ( "verlierst du Rangpunkte! " )
say ( "" )
if cur_alignment < - 19000 + need_alignment then
say_reward ( "Leider hast du nicht gen黦end Rangpunkte " )
return
end
if cur_alignment < 0 then
say_reward ( string . format ( "Ben鰐igte Rangpunkte: %d -> %d" , need_alignment , need_alignment * 2 ) )
need_alignment = need_alignment * 2
elseif cur_alignment < need_alignment then
say_reward ( string . format ( "Ben鰐igte Rangpunkte: %d" , need_alignment ) )
else
say_reward ( string . format ( "Ben鰐igte Rangpunkte: %d" , need_alignment ) )
end
say ( "" )
local s = select ( "Weiter" , "Abbrechen" )
if s == 2 then
return
end
if cur_alignment >= 0 and cur_alignment < need_alignment then
say_title ( string . format ( "Fertigkeit perfektionieren:" , title ) )
say ( "Es ist soweit!" )
say ( "Um zu trainieren," )
say ( "gib bitte ein: Trainieren" )
local s = input ( )
if s ~= "Trainieren" 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 ( "[蔼单]мm岿粇: ヰい" )
return
end
end
pc . setqf ( "next_time" , get_time ( ) + time_hour_to_sec ( number ( 8 , 12 ) ) )
if need_alignment > 0 then
if pc . learn_grand_master_skill ( skill_vnum ) then
pc . change_alignment ( - need_alignment )
say_title ( string . format ( "%s Erfolgreich!" , title ) )
if 40 == pc . get_skill_level ( skill_vnum ) then
say ( string . format ( "Herzlichen gl點kwunsch! =)" , skill_name ) )
else
say ( string . format ( "[蔼单]m %s琌 %d 单." , skill_name , skill_level - 30 + 1 + 1 ) )
end
say ( "" )
say_reward ( "Perfektionieren erfolgreich!" )
say_reward ( string . format ( "Rangpunkte verloren: %d " , need_alignment ) )
say ( "" )
else
say_title ( string . format ( "%s Fehlgeschlagen!" , title ) )
say ( "Pech gehabt " )
say ( "" )
say_reward ( "Perfektionieren fehlgeschlagen!" )
say ( "" )
pc . change_alignment ( - number ( need_alignment / 3 , need_alignment / 2 ) )
end
end
item . remove ( )
end
function BuildGrandMasterSkillList(job, group)
GRAND_MASTER_SKILL_LEVEL = 30
PERFECT_MASTER_SKILL_LEVEL = 40
local skill_list = special.active_skill_list[job+1][group]
local ret_vnum_list = {}
local ret_name_list = {}
-- test_chat(string.format("job=%d, group=%d", job, group))
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
-- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
table.insert(ret_vnum_list, skill_vnum)
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
if name == nil then name=skill_vnum end
table.insert(ret_name_list, name)
end
end)
return {ret_vnum_list, ret_name_list}
--return {ret_vnum_list, ret_name_list}
end
end
end
hier die quest ich w黵de mich tierig freuen
rechtschreibfehler k鰊nt ihr behalten
|
|
|
10/30/2013, 10:31
|
#2
|
elite*gold: 50
Join Date: Mar 2013
Posts: 2,401
Received Thanks: 1,613
|
PHP Code:
quest training_grandmaster_skill begin state start begin when 50513.use begin say_title ( "Seelenstein" ) if pc . get_skill_group ( ) == 0 then say ( "⊿Τヴ戮穨." .. pc . get_skill_group ( ) ) return end if get_time ( ) < pc . getqf ( "next_time" ) then if pc . is_skill_book_no_delay ( ) or 1==1 then say ( "Hiermit kannst du eine" ) say ( "Fertigkeit perfektionieren." ) say ( "" ) wait ( ) say_title ( "Seelenstein" ) else say ( "Du kannst erst morgen wieder" ) say ( "einen Seelenstein nutzen!" ) 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 ( "Deine Fertigkeiten sind bereits perfekt!" ) return end say ( "W鋒le eine Fertigkeit aus." ) say ( "" ) local menu_list = { } table . foreach ( name_list , function ( i , name ) table . insert ( menu_list , name ) end ) table . insert ( menu_list , "Abbrechen" ) 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 ( "瞷到碿: " .. cur_alignment ) test_chat ( "Ben鰐igte Rangpunkte: " .. need_alignment ) local title = string . format ( "Fertigkeit perfektionieren:" , skill_name , skill_level - 30 + 1 ) say_title ( title ) say ( "Beim lesen des Seelensteins" ) say ( "verlierst du Rangpunkte! " ) say ( "" ) if cur_alignment < - 19000 + need_alignment then say_reward ( "Leider hast du nicht gen黦end Rangpunkte " ) return end if cur_alignment < 0 then say_reward ( string . format ( "Ben鰐igte Rangpunkte: %d -> %d" , need_alignment , need_alignment * 2 ) ) need_alignment = need_alignment * 2 elseif cur_alignment < need_alignment then say_reward ( string . format ( "Ben鰐igte Rangpunkte: %d" , need_alignment ) ) else say_reward ( string . format ( "Ben鰐igte Rangpunkte: %d" , need_alignment ) ) end say ( "" ) local s = select ( "Weiter" , "Abbrechen" ) if s == 2 then return end if cur_alignment >= 0 and cur_alignment < need_alignment then say_title ( string . format ( "Fertigkeit perfektionieren:" , title ) ) say ( "Es ist soweit!" ) say ( "Um zu trainieren," ) say ( "gib bitte ein: Trainieren" ) local s = input ( ) if s ~= "Trainieren" 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 ( "[蔼单]мm岿粇: ヰい" ) return end end pc . setqf ( "next_time" , get_time ( ) + time_hour_to_sec ( number ( 8 , 12 ) ) ) if need_alignment > 0 then if pc . learn_grand_master_skill ( skill_vnum ) then pc . change_alignment ( - need_alignment ) say_title ( string . format ( "%s Erfolgreich!" , title ) ) if 40 == pc . get_skill_level ( skill_vnum ) then say ( string . format ( "Herzlichen gl點kwunsch! =)" , skill_name ) ) else say ( string . format ( "[蔼单]m %s琌 %d 单." , skill_name , skill_level - 30 + 1 + 1 ) ) end say ( "" ) say_reward ( "Perfektionieren erfolgreich!" ) say_reward ( string . format ( "Rangpunkte verloren: %d " , need_alignment ) ) say ( "" ) else say_title ( string . format ( "%s Fehlgeschlagen!" , title ) ) say ( "Pech gehabt " ) say ( "" ) say_reward ( "Perfektionieren fehlgeschlagen!" ) say ( "" ) pc . change_alignment ( - number ( need_alignment / 3 , need_alignment / 2 ) ) end end item . remove ( ) end function BuildGrandMasterSkillList(job, group) GRAND_MASTER_SKILL_LEVEL = 30 PERFECT_MASTER_SKILL_LEVEL = 40 local skill_list = special.active_skill_list[job+1][group] local ret_vnum_list = {} local ret_name_list = {} -- test_chat(string.format("job=%d, group=%d", job, group)) table.foreach(skill_list, function(i, skill_vnum) local skill_level = pc.get_skill_level(skill_vnum) -- test_chat(string.format("[%d]=%d", skill_vnum, skill_level)) if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then table.insert(ret_vnum_list, skill_vnum) local name=locale.GM_SKILL_NAME_DICT[skill_vnum] if name == nil then name=skill_vnum end table.insert(ret_name_list, name) end end) return {ret_vnum_list, ret_name_list} --return {ret_vnum_list, ret_name_list} end end end
ist ein wenig dreckig gefixt sollte aber die wartezeit aushebeln indem er dich immer durch die if abfrage l鋝st
|
|
|
10/30/2013, 11:29
|
#3
|
elite*gold: 0
Join Date: Oct 2013
Posts: 239
Received Thanks: 70
|
Nimm die IF-ElSE-Abfrage einfach raus, ich helf Dir mal:
Quote:
if get_time ( ) < pc . getqf ( "next_time" ) then
|
Ab da f鋘gst Du an zu gucken was dort steht und was Du brauchst. Mit einfachen Schulenglischkenntnissen und etwas Logik findet man von ganz alleine raus, was dort steht und wie das in etwa funktioniert.
Und das w鋜e am Ende auch definitiv perfomancefreundlicher, als eine IF-Abfrage zu behalten, die man gar nicht braucht. So wie Du es im Code des Vorposters tun w黵dest.
Gib einem hungrigem einen Fisch und er hat zu Essen. Bring einem Hungrigem bei zu fischen und er wird nie wieder hungrig sein. :-D
Du f鋒rst am Ende besser damit, wenn Du das lernst. Du brauchst dann auch nicht immer auf die Hilfe anderer angewiesen sein.
|
|
|
Similar Threads
|
Compile all quest without quest's files list // Kompilieren Sie alle Quest ohne Quest
07/17/2011 - Metin2 PServer Guides & Strategies - 3 Replies
ENGLISH
Hello dear community, this is a very simple guide but at the same time useful.
How to compile ALL quest in the folder "quest" without the files list in the file "locale_list"?
Easy!
Open the file "make" and replace the content of the file with this:
for f in *.quest; do ./qc $f; done
Oki. Now set the 0777 permission to the file.
Finally open a SSH client and sign in. Write the command:
cd /game_file_folder
|
All times are GMT +1. The time now is 14:54.
|
|