Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 21:19

  • 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 12/26/2012, 10:27   #7351
 
.PvPKrieger™'s Avatar
 
elite*gold: 2
Join Date: Feb 2012
Posts: 362
Received Thanks: 65
Hey.
Wollte in der Quest umändern, das man exp bekommt aber nicht nur bei einem PvP-Kill aus einem anderen Reich. Weiß aber nicht wie.

Code:
quest pvp_exp begin
    state start begin
        when login with pc.level >= 75 begin
            set_state(pvp_exp)
        end
    end
    
    state pvp_exp begin
        when letter begin
            send_letter("PvP Erfahrungs Punkte Information")
        end
        
        when button or info begin
            say_title("Info zum PvP-ExP System")
            say("Wenn du jemanden tötest erhältst du")
            say("vom Drachengott eine klene Belohnung")
            say("Desweiteren werden ab jetzt alle deine Morde gezählt")
            say("")
            say("Achtung! Es werden nur Morde aus anderen Reichen belohnt!")
            pc.setqf("pvp_exp", 0)
            q.set_counter("pvp_exp_kills", 0)
            set_state (pvp_kill_counter)
        end
    end
    
    state pvp_kill_counter begin
        when letter begin
            send_letter("Anzahl deiner Morde")
        end
        
        when button or info begin
            say_title("Anzahl deiner Morde:")
            say_reward("Du hast bereits ".." "..pc.getqf("pvp_exp").." Morde begangen")
            say("")
        end
        
        when kill begin
                if npc.is_pc() and npc.empire != pc.empire then
                        -- Bonus EXP und so...
                        local pvp = {
                                {10, 500000},
                                {25, 1000000},
                                {50, 1000000},
                                {75, 1000000},
                                {100, 1000000},
                                {150, 1000000},
                                {200, 1000000},
                        }
                        local count = pc.getqf("pvp_exp")
                        local pc_name = pc.get_name()
                        local bonus_exp = 0
                        local b = 1
                        local c = b + count
                        
                        pc.setqf("pvp_exp", c)
                        q.set_counter("kills", count)
                        for i=1, table.getn(pvp), 1 do
                                if count == pvp[i][1] then
                                        notice_all(pc_name.." hat "..count.." Morde begangen!")
                                        bonus_exp = pvp[i][2]
                                        break
                                end
                        end
                        pc.give_exp2(2500000+bonus_exp)
                end
        end
    end
end
Könnt ihr die Quest bitte auf Fehler untersuchen, weil sie so nicht klappt.
.PvPKrieger™ is offline  
Old 12/26/2012, 12:19   #7352
 
elite*gold: 20
Join Date: Aug 2012
Posts: 714
Received Thanks: 1,168
Hab auch ein Problem und zwar mit einer drop quest die nicht anschlägt:

Code:
quest boss_drop begin
	state start begin
		when 2598.kill begin
			game.drop_item_with_ownership(53005, 1)
			game.drop_item(53005, 1)
			chat("yOlO digga yolo")
		end
	end
end
Weder Chat Ausgabe kommt oder die Items droppen.
'ChuckNorris is offline  
Old 12/26/2012, 12:49   #7353
 
elite*gold: 0
Join Date: Dec 2012
Posts: 46
Received Thanks: 13
Quote:
Originally Posted by Yissu View Post
Hab auch ein Problem und zwar mit einer drop quest die nicht anschlägt:

Code:
quest boss_drop begin
	state start begin
		when 2598.kill begin
			game.drop_item_with_ownership(53005, 1)
			game.drop_item(53005, 1)
			chat("yOlO digga yolo")
		end
	end
end
Weder Chat Ausgabe kommt oder die Items droppen.


quest boss_drop begin
state start begin
when kill with npc.get_race() == 2598 begin
game.drop_item_with_ownership(53005, 1)
game.drop_item(53005, 1)
chat("yOlO digga yolo")
end
end
end
[/code]
Jupite3 is offline  
Old 12/26/2012, 13:17   #7354
 
elite*gold: 20
Join Date: Aug 2012
Posts: 714
Received Thanks: 1,168
Funktioniert trotzdem nicht
'ChuckNorris is offline  
Old 12/26/2012, 15:21   #7355
 
Nikℓαus's Avatar
 
elite*gold: 20
Join Date: Nov 2008
Posts: 741
Received Thanks: 716
# Erledigt
Nikℓαus is offline  
Old 12/26/2012, 15:28   #7356
 
.NoThx's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,146
Received Thanks: 583
when SCHATZJAEGER.target.click begin evtl?
.NoThx is offline  
Old 12/26/2012, 15:29   #7357
 
Nikℓαus's Avatar
 
elite*gold: 20
Join Date: Nov 2008
Posts: 741
Received Thanks: 716
Das ist kein Fehler, das funktioniert nur, wenn das target aktiviert wurde.
Nikℓαus is offline  
Old 12/27/2012, 13:10   #7358
 
elite*gold: 0
Join Date: Dec 2010
Posts: 88
Received Thanks: 15
Quote:
quest Umtausch begin
state start begin
when 20016.chat."Umtausch" begin

say_title("Hey ".. pc.get_name() ..".")
say("Was möchtest du tauschen?")
local s = select("Krieger","Ninja","Sura","Schamane","Nichts ")
if s == 1 then
say_title("Kriegerkingumtausch")
say("Du möchtest also deine Kingrüsstung Tauschen?")
local sc = select("HD zu DE","DE zu HD","Abbrechen")

if sc == 1 then
say_title("Kriegerkingumtausch")
say("Bist du dir sicher dass du die HD-King zu einer DE-King tauschen möchtest?")
local scs = select("Ja, ich bin sicher","Nein, ich möchte nicht tauschen")

if scs == 1 then
if pc.countitem("12019")>=1 then
pc.removeitem("12019", 1)
pc.give_item2("12010", 1)
say("Hier hast du deine DE-King!")
else
say("Du hast keine HD-King!")
end
end

if sc == 2
say_title("Kriegerkingumtausch")
say("Bist du dir sicher dass du die DE-King zu einer HD-King tauschen möchtest?")
local sds = select("Ja, ich bin sicher","Nein, ich möchte nicht tauschen")
if sds == 1 then
if pc.countitem("12010")>=1 then
pc.removeitem("12010", 1)
pc.give_item2("12019", 1)
say("Hier hast du deine HD-King!")
else
say("Du hast keine DE-King!")
end
end
end
end

end
end
end
kann mir jemand Helfen wenn ich es dann iwie hin bekomme und Ig mit dem Schmied rede und die Funktion wähle ist es wie Abbrechen..... Ich weiß das ich mit Blaustahlpanzer ids arbeite ^^
new-kingmt2 is offline  
Old 12/27/2012, 13:33   #7359
 
~NwD~'s Avatar
 
elite*gold: 0
Join Date: Jan 2012
Posts: 63
Received Thanks: 83
Quote:
Originally Posted by new-kingmt2 View Post
kann mir jemand Helfen wenn ich es dann iwie hin bekomme und Ig mit dem Schmied rede und die Funktion wähle ist es wie Abbrechen..... Ich weiß das ich mit Blaustahlpanzer ids arbeite ^^
wieso sind die item ids bei pc.remove und pc.giveitem unter "" ?
Das sind doch keine Variablen

außerdem muss pc.remove_item mit einem _ getrennt werden

liegt jetzt nicht daran das die quest nicht geht aber du hast if sc == 3 then vergessen also der abbrechen button bei der ersten localen
~NwD~ is offline  
Thanks
1 User
Old 12/27/2012, 15:19   #7360
 
elite*gold: 0
Join Date: Dec 2010
Posts: 88
Received Thanks: 15
Unhappy

Quote:
Originally Posted by ~NwD~ View Post
wieso sind die item ids bei pc.remove und pc.giveitem unter "" ?
Das sind doch keine Variablen
Das hab ich aus einer Quest kopiert die von Anfang an im Questordner liegt und funkt, hab die "" einfach mal weg gemacht....

Quote:
Originally Posted by ~NwD~ View Post
außerdem muss pc.remove_item mit einem _ getrennt werden
Daran liegts leider auch nicht....

Das mit dem if sc == 3 ist mir klar die lasse ich immer weg.... sind eher unnötig

so jetzt gibt es leider immer noch den Fehler aus oder einen anderen, wenn ich zwei "end" weg mache...

der Fehler von Anfang an lautet:

syntax error : [string "start"]:22: 'then' expected near 'say_title'
Umtausch.quest:45:Error occured on compile Umtausch.quest

der Fehler wenn ich zwei End weg mache:

qc in malloc(): error: allaction failed
Error occured on compile Umtausch.quest

__________________________________________________ _______

new-kingmt2 is offline  
Old 12/27/2012, 15:43   #7361
 
~NwD~'s Avatar
 
elite*gold: 0
Join Date: Jan 2012
Posts: 63
Received Thanks: 83
Probiers einfach mal so

PHP Code:
quest Umtausch begin
    state start begin
        when 20016.chat
."Umtausch" begin
            say_title
("Hey ".. pc.get_name() ..".")
            
say("Was möchtest du tauschen?")
            
local s select("Krieger","Ninja","Sura","Schamane","Nichts ")
            if 
== 1 then
                say_title
("Kriegerkingumtausch")
                
say("Du möchtest also deine Kingrüsstung Tauschen?")
                
local sc select("HD zu DE","DE zu HD","Abbrechen")
                if 
sc == 1 then
                    say_title
("Kriegerkingumtausch")
                    
say("Bist du dir sicher dass du die HD-King ")
                    
say("zu einer DE-King tauschen möchtest?")
                    
local scs select("Ja, ich bin sicher","Nein, ich möchte nicht tauschen")
                    if 
scs == 1 then
                        
if pc.countitem(12019)>=1 then
                            pc
.remove_item(120191)
                            
pc.give_item2(120101)
                            
say("Hier hast du deine DE-King!")
                        else
                            
say("Du hast keine HD-King!")
                        
end
                    end
                    
if sc == 2 then
                        say_title
("Kriegerkingumtausch")
                        
say("Bist du dir sicher dass du die DE-King")
                        
say("zu einer HD-King tauschen möchtest?")
                        
local sds select("Ja, ich bin sicher","Nein, ich möchte nicht tauschen")
                        if 
sds == 1 then
                            
if pc.countitem(12010)>=1 then
                                pc
.remove_item(120101)
                                
pc.give_item2(120191)
                                
say("Hier hast du deine HD-King!")
                            else
                                
say("Du hast keine DE-King!")
                            
end
                        end
                    end
                end
            end
        end
    end
end 
~NwD~ is offline  
Thanks
2 Users
Old 12/27/2012, 15:47   #7362
 
elite*gold: 0
Join Date: Dec 2010
Posts: 88
Received Thanks: 15
Ich danke dir hab mich aber schon wieder selbst dran gesetzt und komplett neu geschrieben.... Komme auf diese wieder zurück wenn die neue nicht geht!

Thx bekommste für die Mühe

Danke
new-kingmt2 is offline  
Old 12/27/2012, 21:51   #7363
 
elite*gold: 0
Join Date: Jun 2011
Posts: 1,126
Received Thanks: 928
Kann mir jemand sagen warum die quest nicht funzt ?!

Quote:
quest contract begin
state start begin
when 50085.use begin
say_title("Contract2 Buch")
say("Dies ist das Vision World2 Buch,")
say("hiermit kannst du viele tolle")
say("Features nutzen. Du wirst es immer")
say("brauchen!")
say("Pass also gut darauf auf!")
local t = select("Weiter")
if t == 1 then
say("Welches möchtest du nutzen?")
local s = select("Teleportieren", "Lager öffnen", "Tränke Shop", "Statistik", "Spieleronline")
if s == 1 then
say("Wohin möchtest du dich Teleportieren?")
local v = select("Blaues Reich","Gelbes Reich","Rotes Reich","Spinnendungeon", "Dämonenturm", "Orktal", "Feuerland", "Eisland", "Wüste", "Abbrechen")
if v == 1 then
say("Vorsicht! Du wirst ins Blaue Reich teleportiert!")
pc.warp(9601, 2687)
end
if v == 2 then
say("Vorsicht! Du wirst ins Gelbe Reich teleportiert!")
pc.warp(632, 1661)
end
if v == 3 then
say("Vorsicht! Du wirst ins Rote Reich teleportiert!")
pc.warp(4742, 9544)
end
if v == 4 then
say("Vorsicht! Du wirst in den Spinnendungeon teleportiert!")
pc.warp(600, 4964)
end
if v == 5 then
say("Vorsicht! Du wirst in das Dämonenturm teleportiert!")
pc.warp(2048, 6656)
end
if v == 6 then
say("Vorsicht! Du wirst in das Orktal teleportiert!")
pc.warp(3359, 7553)
end
if v == 7 then
say("Vorsicht! Du wirst in das Feuerland teleportiert!")
pc.warp(3359, 7553)
end
if v == 8 then
say("Vorsicht! Du wirst in das Eisland teleportiert!")
pc.warp(4361, 2157)
end
if v == 9 then
say("Vorsicht! Du wirst in die Wüste teleportiert!")
pc.warp(2968, 5471)
end
if v == 10 then
return
end
end
if s == 2 then
game.open_safebox()
end
if s == 3 then
say_title("Tränke")
say("Hier kannst du Tränke kaufen.")
say("Du kannst sowohl Rote und Blaue Tränke,")
say("als auch Violette und Grüne Tränke kaufen.")
say("Das heißt, du musst nicht immer extra")
say("in die Stadt laufen, falls du am Leveln bist.")
say("Was willst du kaufen?")
local a = select("200 Rote Tränke", "200 Blaue Tränke", "200 Violette Tränke", "200 Grüne Tränke", "Nichts")
if a == 5 then
send_letter("Tränke kaufen")
return
elseif a == 1 then
if pc.money>=30000 then
pc.changemoney("-30000")
pc.give_item2(27003, 200)
say_title("Rote Tränke")
say("Du hast folgendes Item erhalten:")
say("")
say("")
say_item_vnum(27003)
elseif a == 2 then
if pc.money>=30000 then
pc.changemoney("-30000")
pc.give_item2(27006, 200)
say_title("Blaue Tränke")
say("Du hast folgendes Item erhalten:")
say("")
say("")
say_item_vnum(27006)
end
elseif a == 3 then
if pc.money>=50000 then
pc.changemoney("-50000")
pc.give_item2(27115, 200)
say_title("Violette Tränke")
say("Du hast folgendes Item erhalten:")
say("")
say("")
say_item_vnum(27115)
end
elseif a == 4 then
if pc.money>=300000 then
pc.changemoney("-300000")
pc.give_item2(27112, 200)
say_title("Grüne Tränke")
say("Du hast folgendes Item erhalten:")
say("")
say("")
say_item_vnum(27112)
send_letter("Tränke kaufen")
end
end
end
if s == 4 then
say_title("Statistiken:")
say("Hallo,")
say("Hier zeige ich dir deine Statistiken:")
say("")
say("Logins: ".." ".. 0 + pc.getqf("login_count") .."")
say("Logouts: ".." ".. 0 + pc.getqf("logout_count") .."")
say("Getöte Spieler: ".." ".. 0 + pc.getqf("killpc_count") .."")
say("Getötete Monster: ".." ".. 0 + pc.getqf("kill_count") .."")
end
if s == 5 then
say_title("Spieler Online?:")
say("")
say("Gebe den Namen des Spielers ein den")
say("du finden möchtest ob dieser Online ist.")
say("Beachte dabei groß und klein schreibung.")
say("")
say_title("Beachte dabei aber bitte auch,")
say_title("das dies nur funktioniert wenn ihr")
say_title("in ein und demselben Channel seit.")
say("")
local find_player_online = input()
local gamer_found = find_pc_by_name(find_player_online)
if gamer_found == 0 then
say_title("Spieler Offline:")
say("")
else
say_title("Spieler Online!:")
say("")
say("Der Spieler "..find_player_online.." ist im moment Online.")
say("")
end
end
end
end
when login begin
local login_count = pc.getqf("login_count") + 1
pc.setqf("login_count", login_count)
q.set_counter("login_count", 0 + login_count)
end

when logout begin
local logout_count = pc.getqf("logout_count") + 1
pc.setqf("logout_count", logout_count)
q.set_counter("logout_count", 0 + logout_count)
end
when kill begin
if npc.is_pc() then
local killpc_count = pc.getqf("killpc_count") +1
pc.setqf("killpc_count", killpc_count)
q.set_counter("killpc_count", 0 + killpc_count)
else
local kill_count = pc.getqf("kill_count") +1
pc.setqf("kill_count", kill_count)
q.set_counter("kill_count", 0 + kill_count)
end
end
end
end
Ðαrkbøζζ is offline  
Old 12/27/2012, 22:12   #7364
 
~NwD~'s Avatar
 
elite*gold: 0
Join Date: Jan 2012
Posts: 63
Received Thanks: 83
Quote:
Originally Posted by Ðαrkbøζζ View Post
Kann mir jemand sagen warum die quest nicht funzt ?!
naja ist natürlich immer bisschen schwer wenn du nicht sagst was genau nicht geht, also ob beim hochfahren ne fehlermeldung kommt oder ob die quest nicht das macht was du willst

deswegen hab ich einfach mal drauflos verbessert, fehler zähl ich an dieser stelle nicht auf da es zuviele waren...

PHP Code:
quest contract begin
    state start begin
        when 50085.
use begin
            say_title
("Contract2 Buch")
            
say("Dies ist das Vision World2 Buch,")
            
say("hiermit kannst du viele tolle")
            
say("Features nutzen. Du wirst es immer")
            
say("brauchen!")
            
say("Pass also gut darauf auf!")
            
local t select("Weiter")
            if 
== 1 then
                say
("Welches möchtest du nutzen?")
                
local s select("Teleportieren""Lager öffnen""Tränke Shop""Statistik""Spieleronline")
                if 
== 1 then 
                    say
("Wohin möchtest du dich Teleportieren?")
                    
local v select("Blaues Reich","Gelbes Reich","Rotes Reich","Spinnendungeon""Dämonenturm""Orktal""Feuerland""Eisland""Wüste""Abbrechen")
                    if 
== 1 then
                        say
("Vorsicht! Du wirst ins Blaue Reich teleportiert!")
                        
pc.warp(96012687)
                    elseif 
== 2 then
                        say
("Vorsicht! Du wirst ins Gelbe Reich teleportiert!")
                        
pc.warp(6321661)
                    elseif 
== 3 then
                        say
("Vorsicht! Du wirst ins Rote Reich teleportiert!")
                        
pc.warp(47429544)
                    elseif 
== 4 then
                        say
("Vorsicht! Du wirst in den Spinnendungeon teleportiert!")
                        
pc.warp(6004964)
                    elseif 
== 5 then
                        say
("Vorsicht! Du wirst in das Dämonenturm teleportiert!")
                        
pc.warp(20486656)
                    elseif 
== 6 then
                        say
("Vorsicht! Du wirst in das Orktal teleportiert!")
                        
pc.warp(33597553)
                    elseif 
== 7 then
                        say
("Vorsicht! Du wirst in das Feuerland teleportiert!")
                        
pc.warp(33597553)
                    elseif 
== 8 then
                        say
("Vorsicht! Du wirst in das Eisland teleportiert!")
                        
pc.warp(43612157)
                    elseif 
== 9 then
                        say
("Vorsicht! Du wirst in die Wüste teleportiert!")
                        
pc.warp(29685471)
                    elseif 
== 10 then
                        
return
                    
end    
                
elseif == 2 then
                    game
.open_safebox()
                elseif 
== 3 then
                    say_title
("Tränke")
                    
say("Hier kannst du Tränke kaufen.")
                    
say("Du kannst sowohl Rote und Blaue Tränke,")
                    
say("als auch Violette und Grüne Tränke kaufen.")
                    
say("Das heißt, du musst nicht immer extra")
                    
say("in die Stadt laufen, falls du am Leveln bist.")
                    
say("Was willst du kaufen?")
                    
local a select("200 Rote Tränke""200 Blaue Tränke""200 Violette Tränke""200 Grüne Tränke""Nichts")
                    if 
== 5 then
                        
return
                    elseif 
== 1 then
                        
if pc.money>=30000 then
                            pc
.changemoney(-30000)
                            
pc.give_item2(27003200)
                            
say_title("Rote Tränke")
                            
say("Du hast folgendes Item erhalten:")
                            
say("")
                            
say("")
                            
say_item_vnum(27003)
                        else
                            return
                        
end
                    
elseif == 2 then 
                        
if pc.money>=30000 then
                            pc
.changemoney(-30000)
                            
pc.give_item2(27006200)
                            
say_title("Blaue Tränke")
                            
say("Du hast folgendes Item erhalten:")
                            
say("")
                            
say("")
                            
say_item_vnum(27006)
                        else
                            return
                        
end
                    
elseif == 3 then 
                        
if pc.money>=50000 then
                            pc
.changemoney(-50000)
                            
pc.give_item2(27115200)
                            
say_title("Violette Tränke")
                            
say("Du hast folgendes Item erhalten:")
                            
say("")
                            
say("")
                            
say_item_vnum(27115
                        else
                            return
                        
end
                    
elseif == 4 then 
                        
if pc.money>=300000 then
                            pc
.changemoney("-300000")
                            
pc.give_item2(27112200)
                            
say_title("Grüne Tränke")
                            
say("Du hast folgendes Item erhalten:")
                            
say("")
                            
say("")
                            
say_item_vnum(27112
                        else
                            return
                        
end
                    end
                
elseif == 4 then
                    say_title
("Statistiken:")
                    
say("Hallo,")
                    
say("Hier zeige ich dir deine Statistiken:")
                    
say("")
                    
say("Logins: ".." ".. pc.getqf("login_count") .."")
                    
say("Logouts: ".." ".. pc.getqf("logout_count") .."")
                    
say("Getöte Spieler: ".." ".. pc.getqf("killpc_count") .."")
                    
say("Getötete Monster: ".." ".. pc.getqf("kill_count") .."")
                
end
                
elseif == 5 then
                    say_title
("Spieler Online?:")
                    
say("")
                    
say("Gebe den Namen des Spielers ein den")
                    
say("du finden möchtest ob dieser Online ist.")
                    
say("Beachte dabei groß und klein schreibung.")
                    
say("")
                    
say_title("Beachte dabei aber bitte auch,")
                    
say_title("das dies nur funktioniert wenn ihr")
                    
say_title("in ein und demselben Channel seit.")
                    
say("")
                    
local find_player_online input()
                    
local gamer_found find_pc_by_name(find_player_online)
                    if 
gamer_found == 0 then
                        say_title
("Spieler Offline:")
                        
say("")
                    else
                        
say_title("Spieler Online!:")
                        
say("")
                        
say("Der Spieler "..find_player_online.." ist im moment Online.")
                        
say("")
                    
end
                end
            end
        end
        when login begin
            local login_count 
pc.getqf("login_count") + 1
            pc
.setqf("login_count"login_count)
            
q.set_counter("login_count"login_count)
        
end
        when logout begin
            local logout_count 
pc.getqf("logout_count") + 1
            pc
.setqf("logout_count"logout_count)
            
q.set_counter("logout_count"logout_count)
        
end
        when kill begin
            
if npc.is_pc() then
                local killpc_count 
pc.getqf("killpc_count") +1
                pc
.setqf("killpc_count"killpc_count)
                
q.set_counter("killpc_count"killpc_count)
            else
                
local kill_count pc.getqf("kill_count") +1
                pc
.setqf("kill_count"kill_count)
                
q.set_counter("kill_count"kill_count)
            
end
        end
    end
end 
~NwD~ is offline  
Old 12/28/2012, 10:06   #7365
 
elite*gold: 0
Join Date: Jun 2011
Posts: 1,126
Received Thanks: 928
Funktioniert immernoch nicht !
Fehlermeldung:

syntax error_ [string "start"]:146: unexpected symbol near when
contractbuch.quest :171: error blabla
Ðαrkbøζζ is offline  
Reply




All times are GMT +1. The time now is 21:19.


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.