Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 18:37

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[SERVICE] Die Questkontrolle

Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old 03/15/2011, 20:54   #1681
 
elite*gold: 0
Join Date: Mar 2011
Posts: 3
Received Thanks: 0
Quote:
Originally Posted by Delta619 View Post
hm ich würde sagen du musst 3 Zeilen machen, indenen jeweils eine Muschel gedroppt wird (Muscheln sind nicht stapelbar)
und die Zahl für 100% drop ist glaube ich 400
PHP Code:
Group    ork          
{                    
    
Type    kill            
    Mob    693            
    kill_drop    400            
    1    Á¶°³    1    400    10
    1    Á¶°³    1    400    10
    1    Á¶°³    1    400    10
    1    Á¶°³    1    400    10

PHP Code:
Group    ork          
{                    
    
Type    kill            
    Mob    693            
    kill_drop    400            
    1    Á¶°³    1    100    10
    1    Á¶°³    1    100    10
    1    Á¶°³    1    100    10
    1    Á¶°³    1    100    10

Beide versucht -> beide ohne Erfolg. Gibt es sonst noch Ideen zur funkionalität?
BartSimpson9 is offline  
Old 03/15/2011, 21:02   #1682
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
Quote:
Originally Posted by The Bull View Post
nope.. genau der gleiche fehler.. k.a was du verändert hast

MfG Bull
dann vllt so, habe grade keinen TestServer also untested
Nr 1:

Nr 2:

€: @BartSimpson9:
probiers mal damit bitte
PHP Code:
Group    ork          
{                    
    
Type    kill            
    Mob    693            
    kill_drop    400            
    1    27987    1    400    10
    2    27987    1    400    10
    3    27987    1    400    10
    4    27987    1    400    10

.Delta is offline  
Thanks
2 Users
Old 03/15/2011, 21:21   #1683

 
The Bull's Avatar
 
elite*gold: 173
Join Date: May 2010
Posts: 712
Received Thanks: 209
jo du bist klasse... keine fehler mehr...

lags echt nur an den "end" ?

Coole Sache dank dir

MfG Bull
The Bull is offline  
Old 03/15/2011, 21:24   #1684
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
Quote:
Originally Posted by The Bull View Post
jo du bist klasse... keine fehler mehr...

lags echt nur an den "end" ?

Coole Sache dank dir

MfG Bull
*** lag "nur" an den ends.
immer wenn <eof> expected near ... als Fehler dasteht würde ich zuerst nach end Fehlern schauen
.Delta is offline  
Thanks
1 User
Old 03/16/2011, 02:02   #1685
 
Endless.'s Avatar
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,047
Received Thanks: 744
Jetzt habe ich ein Paar Leute gefragt,,wie man diese Seelis
100% klappen lassen kann.. nur ich finde es nicht;(

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 
"§A¨S¦³¥ô¦ó¾·~." .. 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 Fertigkeit perfektionieren." 
say "Drücke weiter." 
say "" 
wait ( ) 
say_title "Seelenstein" 
else 
say " kannst erst morgen wieder" )
say " Seelenstein lesen!" )
return 
end 
end 
local result 
training_grandmaster_skill BuildGrandMasterSkillList pc get_job ( ) , pc get_skill_group ( ) ) 
local vnum_list result 
local name_list result 
if 
table getn vnum_list ) == 0 then 
say 
"Deine Fertigkeiten sind bereits perfekt!" 
return 
end 
say 
"Hallo "..pc.get_name().."!" 
say "Wähle einen Skill aus." 
local menu_list = { } 
table . foreach ( name_list , function ( 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 
local skill_vnum vnum_list 
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 "²{¦bµ½´c: " .. cur_alignment 
test_chat "Benötigte Rangpunkte: " .. need_alignment 
local title string format "Fertigkeit perfektionieren:" skill_name skill_level 30 
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ügend Rangpunkte :(" 
return 
end 
if cur_alignment 0 then 
say_reward 
string format "Benötigte Rangpunkte: %d -> %d" need_alignment need_alignment ) ) 
need_alignment need_alignment 
elseif cur_alignment need_alignment then 
say_reward 
string format "Benötigte Rangpunkte: %d" need_alignment ) ) 
else 
say_reward string format "Benötigte Rangpunkte: %d" need_alignment ) ) 
end 
say 
"" 
local s select "Weiter" "Abbrechen" 
if 
== 2 then 
return 
end 
if cur_alignment >= 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: Training" 
local s input ( ) 
if 
~= "Training" 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 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ückwunsch! =)" skill_name ) ) 
else 
say string format "[°ª¯Åµ¥¯Å]mªº %s¬O %d µ¥¯Å." skill_name skill_level 30 ) ) 
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 "Leider nicht geklappt :(" 
say "" 
say_reward "Perfektionieren fehlgeschlagen!" 
say "" 
pc change_alignment ( - number need_alignment need_alignment ) ) 
end 
end 
item 
remove ( ) 
    
end
    
function BuildGrandMasterSkillList(jobgroup)
        
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"jobgroup))

        
table.foreach(skill_list
        function(
iskill_vnum
        
local skill_level pc.get_skill_level(skill_vnum)

        -- 
test_chat(string.format("[%d]=%d"skill_vnumskill_level))
        if 
skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level PERFECT_MASTER_SKILL_LEVEL then

            table
.insert(ret_vnum_listskill_vnum)
            
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
            if 
name == nil then name=skill_vnum end
            table
.insert(ret_name_listname)
        
end
        end
)
        return {
ret_vnum_listret_name_list}


        --return {
ret_vnum_listret_name_list}
    
end
    end
end 
Wer mir hilft, das die Seelis 100% Erfolgchance haben..kriegt
zu 100% VIEEELE Thanks

Gruß Endless
Endless. is offline  
Old 03/16/2011, 08:41   #1686
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
Hallo xEndless,

Probiere das doch bitte mal damit, bin mir absolut nicht sicher ob es funktionieren wird, habe nur einen "Geistesblitz" gehabt
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 
"§A¨S¦³¥ô¦ó¾·~." .. 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 Fertigkeit perfektionieren." 
say "Drücke weiter." 
say "" 
wait ( ) 
say_title "Seelenstein" 
else 
say " kannst erst morgen wieder" )
say " Seelenstein lesen!" )
return 
end 
end 
local result 
training_grandmaster_skill BuildGrandMasterSkillList pc get_job ( ) , pc get_skill_group ( ) ) 
local vnum_list result 
local name_list result 
if 
table getn vnum_list ) == 0 then 
say 
"Deine Fertigkeiten sind bereits perfekt!" 
return 
end 
say 
"Hallo "..pc.get_name().."!" 
say "Wähle einen Skill aus." 
local menu_list = { } 
table . foreach ( name_list , function ( 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 
local skill_vnum vnum_list 
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 "²{¦bµ½´c: " .. cur_alignment 
test_chat "Benötigte Rangpunkte: " .. need_alignment 
local title string format "Fertigkeit perfektionieren:" skill_name skill_level 30 
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ügend Rangpunkte :(" 
return 
end 
if cur_alignment 0 then 
say_reward 
string format "Benötigte Rangpunkte: %d -> %d" need_alignment need_alignment ) ) 
need_alignment need_alignment 
elseif cur_alignment need_alignment then 
say_reward 
string format "Benötigte Rangpunkte: %d" need_alignment ) ) 
else 
say_reward string format "Benötigte Rangpunkte: %d" need_alignment ) ) 
end 
say 
"" 
local s select "Weiter" "Abbrechen" 
if 
== 2 then 
return 
end 
if cur_alignment >= 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: Training" 
local s input ( ) 
if 
~= "Training" 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 12 ) ) ) 
if 
need_alignment 0 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ückwunsch! =)" skill_name ) ) 
else 
say string format "[°ª¯Åµ¥¯Å]mªº %s¬O %d µ¥¯Å." skill_name skill_level 30 ) ) 
end 
say 
"" 
say_reward "Perfektionieren erfolgreich!" 
say_reward string format "Rangpunkte verloren: %d " need_alignment ) ) 
say "" )  
end 
item 
remove ( ) 
    
end
    
function BuildGrandMasterSkillList(jobgroup)
        
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"jobgroup))

        
table.foreach(skill_list
        function(
iskill_vnum
        
local skill_level pc.get_skill_level(skill_vnum)

        -- 
test_chat(string.format("[%d]=%d"skill_vnumskill_level))
        if 
skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level PERFECT_MASTER_SKILL_LEVEL then

            table
.insert(ret_vnum_listskill_vnum)
            
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
            if 
name == nil then name=skill_vnum end
            table
.insert(ret_name_listname)
        
end
        end
)
        return {
ret_vnum_listret_name_list}


        --return {
ret_vnum_listret_name_list}
    
end
    end
end 
.Delta is offline  
Thanks
1 User
Old 03/16/2011, 14:02   #1687
 
elite*gold: 0
Join Date: Mar 2010
Posts: 1,378
Received Thanks: 285
Ich hab eie Frage zu der Quest könntest du angeben wo man es bearbeiten kann an welchen stellen das man einstellen kann wieviel rangpunkte und wieviell % es klappt !?
Grevenbroicher is offline  
Old 03/16/2011, 14:18   #1688
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
Nötige Rangpunkte:
PHP Code:
local need_alignment 1000 500 * ( skill_level 30 
Und wegen der genauen % Angabe habe ich noch nichts gefunden, leider, weder in der Quest noch sonstwo.
Ich habe es damit probiert, ob es funktioniert muss dir xEndless sagen:
ich habe folgende Stellen entfernt:
PHP Code:
if pc learn_grand_master_skill skill_vnum then 
und
PHP Code:
else 
say_title string format "%s Fehlgeschlagen!" title ) ) 
say "Leider nicht geklappt :(" 
say "" 
say_reward "Perfektionieren fehlgeschlagen!" 
say "" 
pc change_alignment ( - number need_alignment need_alignment ) ) 
end 
Wie gesagt, war nur eine Idee dazu bei der ich nicht weiß, ob sie funktioniert (frag xEndless)

MfG
Delta619
.Delta is offline  
Thanks
1 User
Old 03/16/2011, 16:50   #1689
 
Endless.'s Avatar
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,047
Received Thanks: 744
Werde die Quest mal testen wenn sie nicht klappt.. also mit der 100% Erfolgrate
schaue ich mal in der Lua.. nach wobei ich da genau sowenig Ahnung hab..wo man
die Chance einstellt.. habe auf Paar Server gesehen wo man gedroppte Seelis liest
und alle klappen zu 100%..


So.. zum eigentlichen Teil meiner nächsten Frage..
Weiss zufällig jemand wie ne Auto-Tag/Nacht Funktion in einer Quest eingebaut wird?
so kanns nämlich unmöglich klappen
erster Fail versuch>.<
Mein Plan war.. das Wenn ein GM einloggt, kommt en Befehl /x 1
der aber erst nach z.b 2 Stunden wirksam wird.. geht das?
Endless. is offline  
Old 03/16/2011, 17:16   #1690
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
Quote:
Originally Posted by xEndless View Post
Werde die Quest mal testen wenn sie nicht klappt.. also mit der 100% Erfolgrate
schaue ich mal in der Lua.. nach wobei ich da genau sowenig Ahnung hab..wo man
die Chance einstellt.. habe auf Paar Server gesehen wo man gedroppte Seelis liest
und alle klappen zu 100%..


So.. zum eigentlichen Teil meiner nächsten Frage..
Weiss zufällig jemand wie ne Auto-Tag/Nacht Funktion in einer Quest eingebaut wird?
so kanns nämlich unmöglich klappen
erster Fail versuch>.<
Mein Plan war.. das Wenn ein GM einloggt, kommt en Befehl /x 1
der aber erst nach z.b 2 Stunden wirksam wird.. geht das?
in der locale_big5.lua hab ich geschaut, allerdings nichts passendes gefunden, was ja nicht heißen muss dass es dort nichts gibt.Könnte es ja überlesen haben.

zu deiner Frage:
Es müsste sich doch über einen Timer realisieren lassen oder?
also dass der jeweilige Befehl x1 ausgeführt wird, dann z.b. 6 std später x2 und dann wieder 6 std später x1.
Ist nur so ne Idee, wenn das funktionieren sollte, dann musst du halt abends damit anfangen denke ich
.Delta is offline  
Old 03/16/2011, 17:45   #1691
 
Endless.'s Avatar
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,047
Received Thanks: 744
Die Seelensteine Quest klappt leider nicht .;(
man kann diese nicht mehr anclicken/benutzen..
Endless. is offline  
Old 03/16/2011, 17:46   #1692
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
Quote:
Originally Posted by xEndless View Post
Die Seelensteine Quest klappt leider nicht .;(
man kann diese nicht mehr anclicken/benutzen..
naja war ein Versuch
ich schaue dann mal gründlicher drüber, mal sehen ob ich die wieder zum laufen bekomme^^

€: Gibt es eine Fehlermeldung in VPC/Putty?
.Delta is offline  
Old 03/16/2011, 17:52   #1693
 
Endless.'s Avatar
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,047
Received Thanks: 744
Nein gibt keine^^

Ich versuche gerade weiterhin die Auto Nachtschaltung..
bis dahin lass ich die SeeliQuest als Rätsel offen;D
Endless. is offline  
Old 03/16/2011, 23:03   #1694
 
TTrollo's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 47
Received Thanks: 10
Quest ende problem:

Ich hab ein problem mit ner selbst geschriebenen quest.

Es gibt keine core fehler allerdings startet der __COMPLETE__ state nich...
deshalb geht die quest garnich erst los.

um die quest nich komplet pub machen zu müssen stell ich hier mal das ende der quest rein(da drinn sollte sich der fehler befinden)

PHP Code:
state backspezi begin
        when letter begin
            send_letter
("Gib das Armband ab")
        
end
        when button 
or info begin
            say_title
("Das Armband muss weg")
            
say("Liefer dieses Armband bei der")
            
say("Spezialwarenhändlerin ab.")
            
set_state(spezi2)
        
end
    end
    state spezi2 begin
        when 9010.chat
."Das Armband" begin
            say_title
("Spezialwarenhändlerin")
            
say("")
            
say("Oh. Du hast es also doch geschaft.")
            
say("Ich wollt die hoffnung schon aufgeben.")
            
say("Aber anscheinend habe ich dich unterschätzt")
            
say("Als Dank werde ich dich reich belohnen.")
            
say("")
            
wait()
            
say_reward("Ich gebe dir nun einen Warpring")
            
say_reward("und ein paar andere Dinge.")
            
say_reward("Dieser Warpring ermöglicht es dir dich")
            
say_reward("In die Welt von 2LongMT zu teleportieren")
            
say_reward("und von da aus in alle anderen Maps.")
            
wait()
            
say_title(Spezialwarenpack erhalten)
            
say(Levelup)
            
pc.give_item2(72702,1)
            
pc.give_item2(71044,10)
            
pc.give_item2(71045,10)
            
pc.give_item2(72031,10)
            
pc.give_item2(72034,10)
            
pc.give_item2(72037,10)
            
pc.give_item2(72040,10)
            
pc.give_item2(70038,200)
            
pc.give_exp2(4200)
            
pc.change_money(2000000)
            
pc.remove_item(70017)
            
clear_letter()
            
set_quest_state("levelup","run")
            
set_state(__COMPLETE__)
        
end
    end
    state __COMPLETE__ begin
    end
end 
hoffe das hier das prob findet. bin am verzweifeln

MFG TTrollo
TTrollo is offline  
Old 03/17/2011, 10:00   #1695
 
elite*gold: 27
Join Date: Jan 2011
Posts: 185
Received Thanks: 232
Hallo Freunde
ich habe hier eine Map und möchte gerne das man sie nur mit einem passierschein betretten kann.wäre das möglich ?
Quote:
quest Das_vergessene_reich begin
state start begin
when 30121.chat."Das Vergessene Reich" begin
say_title("Überschrift")
say("Willst du dich teleportieren?")
say("Es kostet dich nur 100kk Yang")
if select ("Ja", "Nein") == 1 then
pc.changemoney(-100000000)
pc.warp(83200, 0)
end
end
end
end
Str0nger is offline  
Reply




All times are GMT +1. The time now is 18:38.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.