|
You last visited: Today at 20:39
Advertisement
[SERVICE] Die Questerstellung
Discussion on [SERVICE] Die Questerstellung within the Metin2 Private Server forum part of the Metin2 category.
06/05/2015, 21:12
|
#2896
|
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
|
Quote:
Originally Posted by srsly.Zyl
Ich weiß nur sie funzt nicht, es wird nicht angezeigt.
Desweiteren die Quest für TwoFace hat jeden auf dem Server Coins gegeben für nen Boss kill
|
Code:
quest kaito begin
state start begin
when login begin
chat("Es ist "..os.date("%X"))
end
end
end
Ich weiß nicht was du hast.
Code:
quest kaito begin
state start begin
when kill with npc.get_race() == vnum begin
local w = anzahl
mysql_query("UPDATE player.player SET coins = coins+"..w.." WHERE id = "..pc.get_account_id()..";")
end
end
end
Die hier funkt auch, Twoface war mein Kunde und wenn irgendwas nicht funzt soll er sich auch bei mir melden.
Die hier fu
|
|
|
06/05/2015, 21:16
|
#2897
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Quote:
Originally Posted by srsly.Zyl
Ich weiß nur sie funzt nicht, es wird nicht angezeigt.
|
Zeit kannste selber entscheiden, momentan alle halbe Stunde von da an, wo du den Timer bei Uriel gestartet hast!
Code:
quest KUxTca3y6nFc begin
state start begin
when 20011.chat."Server Zeit Ansage!" with pc.is_gm() begin -- Timer aktivieren!
say_title("Zeit Ansage")
say("")
say("Willst du das Zeiten angesagt werden?")
local s = select("Ja", "Nein", "Abbrechen")
if s==1 then
clear_server_timer("ServerAnsage")
server_loop_timer("ServerAnsage", 60*30) -- Alle halbe Stunde wird die Uhrzeit einmal in den chat geschrieben
elseif s==2 then
clear_server_timer("ServerAnsage")
elseif s==3 then
return
end
end
when ServerAnsage.server_timer begin
notice_all("Wir haben "..os.date("%H:%M").." Uhr.")
end
end
end
|
|
|
06/10/2015, 13:28
|
#2898
|
elite*gold: 2
Join Date: Jun 2012
Posts: 158
Received Thanks: 26
|
bräuchte ne quest die Prüft ob die Gruppe voll ist, und dann wenn sie es ist alle Spieler der Gruppe im austausch gegen ein Item auf eine Map portet, von dieser Map sollen sie 3 minuten nach töten des monsters wieder weggeportet werden und dürfen erstmal 1 stunde nicht mehr zum boss.
Wäre sehr dankbar. Mfg Cata
|
|
|
06/12/2015, 22:12
|
#2899
|
elite*gold: 0
Join Date: Jan 2012
Posts: 168
Received Thanks: 142
|
Guten Tag ich habe die quest von das Kuchen genutzt wo man sein Pet lvln kann also das Pet Gui Thread.
Ich habe dazu eine Frage ist es möglich die Quest so umzuschreiben das
man jedes Pet einzeln LvLn muss ?
Und wenn ja wäre jemand so gut dieses für mich zu übernehmen
Ich habe die Quest schon leicht überarbeitet so das ich das Pet immer rufen kann ob ich auf dem Pferd bin oder nicht.
Hier die Quest von mir:
Code:
quest pets begin
state start begin
function givebonus(x)
local y,boni = {53,54,1},pets.bonusliste()
table.foreach(boni[x],function(i,l) cmdchat("HaustierBonus"..i.." "..l.."") affect.add_collect(y[i],l,60*60*24*365*60) end )
cmdchat("HaustierLevel "..pc.getqf('petlevel').."")
cmdchat("HaustierName "..pc.get_name().."")
pc.setqf("petruf",1)
end
function bonusliste()
return {
[1] = {200,100,500},
[2] = {250,150,1000},
[3] = {300,200,1500},
[4] = {350,250,2000},
[5] = {400,300,3000},
}
end
function removebonus(x)
local y,boni = {53,54,1},pets.bonusliste()
table.foreach(boni[x],function(i,l) affect.remove_collect(y[i],l,60*60*24*365*60) end )
--horse.unsummon()
pc.setqf("petruf",0)
--horse.set_level("21")
cmdchat("HidePetGui")
cleartimer("bugcheck")
end
when 53001.use begin
--if pc.is_mount() then
-- say_title("Entschuldigung")
-- say("Bitte steige von deinem Mount ab!")
-- return
--end
if pc.getqf('petlevel') == 0 then
pc.setqf('petlevel',1)
end
if pc.getqf("petruf") == 0 then
--local Horselevel = 29-pc.getqf('petlevel')
--horse.set_level(Horselevel)
--horse.unsummon() horse.summon()
chat("Dein Haustier wurde gerufen.")
pets.givebonus(pc.getqf('petlevel'))
local expprocent1 = {20, 80, 160, 350, 400}
cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent1[pc.getqf("petlevel")]).."")
cmdchat("ShowPetGui")
loop_timer("bugcheck", 0.2)
elseif pc.getqf("petruf") == 1 then
pets.removebonus(pc.getqf('petlevel'))
chat("Dein Haustier verabschiedet sich nun.")
end
end
when kill with pc.getqf("petruf") == 1 begin
if pc.getqf("petlevel") == 5 then
return
end
if not npc.is_pc() then
pc.setqf("exp",pc.getqf("exp")+1)
local exp2up = {2000, 8000, 16000, 35000, 40000}
local expprocent = {20, 80, 160, 350, 400}
cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent[pc.getqf("petlevel")]).."")
if pc.getqf("exp") == exp2up[pc.getqf("petlevel")] then
if pc.getqf("petlevel") == 4 then
say_title("Herzlichen Glückwunsch")
say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
say_reward("Dies war das letzte Level!")
end
say_title("Herzlichen Glückwunsch")
say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
say("Rufe dein Pet bitte erneut!")
pc.setqf("petlevel",pc.getqf("petlevel")+1)
pc.setqf("exp",0)
pets.removebonus(pc.getqf('petlevel'))
end
end
end
-- Bugschutz
when bugcheck.timer begin
--if pc.is_mount() then
-- horse.unride()
--end
if pc.count_item(53001) == 0 then
say_title("Buguser")
say("Bugusing festgestellt!")
pets.removebonus(pc.getqf('petlevel'))
end
end
when login or logout or disconnect with pc.getqf("petruf") == 1 begin
pets.removebonus(pc.getqf('petlevel'))
chat("Dein Haustier ist nicht mitgekommen...")
chat("Rufe es erneut!")
end
end
end
Vielen Dank im vorraus
Mit freundlichen Grüßen
|
|
|
06/12/2015, 22:27
|
#2900
|
elite*gold: 0
Join Date: Jan 2015
Posts: 239
Received Thanks: 585
|
Quote:
Originally Posted by DYSKaito
Es geht auf die Performance, ja aber FAKT ist dass es funktioniert.
|
Funktionieren != gut sein
Musst noch sehr viel lernen, mein Sohn.
|
|
|
06/12/2015, 23:11
|
#2901
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
Quote:
Originally Posted by i<3house
Guten Tag ich habe die quest von das Kuchen genutzt wo man sein Pet lvln kann also das Pet Gui Thread.
Ich habe dazu eine Frage ist es möglich die Quest so umzuschreiben das
man jedes Pet einzeln LvLn muss ?
Und wenn ja wäre jemand so gut dieses für mich zu übernehmen
Ich habe die Quest schon leicht überarbeitet so das ich das Pet immer rufen kann ob ich auf dem Pferd bin oder nicht.
Hier die Quest von mir:
Code:
quest pets begin
state start begin
function givebonus(x)
local y,boni = {53,54,1},pets.bonusliste()
table.foreach(boni[x],function(i,l) cmdchat("HaustierBonus"..i.." "..l.."") affect.add_collect(y[i],l,60*60*24*365*60) end )
cmdchat("HaustierLevel "..pc.getqf('petlevel').."")
cmdchat("HaustierName "..pc.get_name().."")
pc.setqf("petruf",1)
end
function bonusliste()
return {
[1] = {200,100,500},
[2] = {250,150,1000},
[3] = {300,200,1500},
[4] = {350,250,2000},
[5] = {400,300,3000},
}
end
function removebonus(x)
local y,boni = {53,54,1},pets.bonusliste()
table.foreach(boni[x],function(i,l) affect.remove_collect(y[i],l,60*60*24*365*60) end )
--horse.unsummon()
pc.setqf("petruf",0)
--horse.set_level("21")
cmdchat("HidePetGui")
cleartimer("bugcheck")
end
when 53001.use begin
--if pc.is_mount() then
-- say_title("Entschuldigung")
-- say("Bitte steige von deinem Mount ab!")
-- return
--end
if pc.getqf('petlevel') == 0 then
pc.setqf('petlevel',1)
end
if pc.getqf("petruf") == 0 then
--local Horselevel = 29-pc.getqf('petlevel')
--horse.set_level(Horselevel)
--horse.unsummon() horse.summon()
chat("Dein Haustier wurde gerufen.")
pets.givebonus(pc.getqf('petlevel'))
local expprocent1 = {20, 80, 160, 350, 400}
cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent1[pc.getqf("petlevel")]).."")
cmdchat("ShowPetGui")
loop_timer("bugcheck", 0.2)
elseif pc.getqf("petruf") == 1 then
pets.removebonus(pc.getqf('petlevel'))
chat("Dein Haustier verabschiedet sich nun.")
end
end
when kill with pc.getqf("petruf") == 1 begin
if pc.getqf("petlevel") == 5 then
return
end
if not npc.is_pc() then
pc.setqf("exp",pc.getqf("exp")+1)
local exp2up = {2000, 8000, 16000, 35000, 40000}
local expprocent = {20, 80, 160, 350, 400}
cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent[pc.getqf("petlevel")]).."")
if pc.getqf("exp") == exp2up[pc.getqf("petlevel")] then
if pc.getqf("petlevel") == 4 then
say_title("Herzlichen Glückwunsch")
say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
say_reward("Dies war das letzte Level!")
end
say_title("Herzlichen Glückwunsch")
say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
say("Rufe dein Pet bitte erneut!")
pc.setqf("petlevel",pc.getqf("petlevel")+1)
pc.setqf("exp",0)
pets.removebonus(pc.getqf('petlevel'))
end
end
end
-- Bugschutz
when bugcheck.timer begin
--if pc.is_mount() then
-- horse.unride()
--end
if pc.count_item(53001) == 0 then
say_title("Buguser")
say("Bugusing festgestellt!")
pets.removebonus(pc.getqf('petlevel'))
end
end
when login or logout or disconnect with pc.getqf("petruf") == 1 begin
pets.removebonus(pc.getqf('petlevel'))
chat("Dein Haustier ist nicht mitgekommen...")
chat("Rufe es erneut!")
end
end
end
Vielen Dank im vorraus
Mit freundlichen Grüßen
|
Die quest ruft doch eh nur 1 pet,
verstehe nicht welche pets du da einzelnd gelevelt haben willst
|
|
|
06/13/2015, 00:05
|
#2902
|
elite*gold: 0
Join Date: Jan 2012
Posts: 168
Received Thanks: 142
|
Jo ich weiß aber eintragen lassen die sich ja recht einfach.
Nur jedes Pet hat sofort das level was das hauptpet hat.
Möchte halt wenn ich die neuen dazu schreibe das sich jedes pet extra levelt.
|
|
|
06/13/2015, 00:44
|
#2903
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
dann musst du neue exp und level qf's schreiben, für jedes pet eine,
PHP Code:
when 53001.use begin
--if pc.is_mount() then
-- say_title("Entschuldigung")
-- say("Bitte steige von deinem Mount ab!")
-- return
--end
if pc.getqf('petlevel') == 0 then
pc.setqf('pet_eins_level',1)
end
if pc.getqf("petruf") == 0 then
--local Horselevel = 29-pc.getqf('petlevel')
--horse.set_level(Horselevel)
--horse.unsummon() horse.summon()
chat("Dein Haustier wurde gerufen.")
pets.givebonus(pc.getqf('pet_eins_level'))
local expprocent1 = {20, 80, 160, 350, 400}
cmdchat("PetProcentExp "..(pc.getqf("exp_pet_eins")/expprocent1[pc.getqf("pet_eins_level")]).."")
cmdchat("ShowPetGui")
loop_timer("bugcheck", 0.2)
elseif pc.getqf("petruf") == 1 then
pets.removebonus(pc.getqf('pet_eins_level'))
chat("Dein Haustier verabschiedet sich nun.")
end
end
und das nächste nimmst dann eben zwei anstelle von eins
dann machste noch
PHP Code:
function givebonus(x)
local y,boni = {53,54,1},pets.bonusliste()
table.foreach(boni[x],function(i,l) cmdchat("HaustierBonus"..i.." "..l.."") affect.add_collect(y[i],l,60*60*24*365*60) end )
cmdchat("HaustierLevel "..x.."")
cmdchat("HaustierName "..pc.get_name().."")
pc.setqf("petruf",1)
end
|
|
|
06/15/2015, 03:26
|
#2904
|
elite*gold: 157
Join Date: May 2014
Posts: 504
Received Thanks: 603
|
Servus und zwar brauche ich Hilfe bei einer Quest :
quest banker begin
state start begin
when 123456.chat."Bank" begin
banker.bankdialog()
end
function bankdialog()
say_title("Banker:")
say("Ich biete dir die Möglichkeit, dein Yang")
say("Zinsenfrei aufzubewahren.")
say("Du kannst jedoch maximal einen Betrag")
say("von 4.611.686.016.279.904.256 Yang")
say("aufbewahren.")
say("")
local action = select("Yang einzahlen", "Yang auszahlen", "Abbrechen")
if action == 1 then
say_title("Banker:")
if pc.gold < 1 then
say("Du hast kein Yang.")
say("")
return
end
say("Du hast "..pc.gold.." Yang.")
say("Wieviel möchtest du davon einzahlen?")
local yang = tonumber(input())
if yang < 0 then
return
end
if yang > pc.gold then
yang = pc.gold
end
pc.changegold(-yang)
local saved_rest = tonumber(pc.getqf("saved_rest"))
local saved_signed_longs = tonumber(pc.getqf("saved_signed_longs"))
if saved_rest + yang > 2147483647 then
pc.setqf("saved_signed_longs", saved_signed_longs + 1)
pc.setqf("saved_rest", saved_rest + yang - 2147483647)
else
pc.setqf("saved_rest", saved_rest + yang)
end
say_title("Banker:")
say("Es wurden "..yang.." Yang eingezahlt.")
say("")
return
elseif action == 2 then
local saved_rest = tonumber(pc.getqf("saved_rest"))
local saved_signed_longs = tonumber(pc.getqf("saved_signed_longs"))
local saved_yang = saved_signed_longs*2147483647+saved_rest
say_title("Banker:")
if saved_yang < 1 then
say("Ich habe kein Geld mehr von dir.")
say("")
return
end
say("Ich kann dir das Geld, das du eingezahlt hast,")
say("nun wieder auszahlen.")
say("")
say_reward("Kontostand: "..saved_yang.." Yang")
say("")
say("Wieviel Yang möchtest du ausgezahlt bekommen?")
local yang = tonumber(input())
if yang < 0 then
return
end
if yang > saved_yang then
yang = saved_yang
end
if pc.gold + yang > 1899999999 then
yang = 1899999999 - pc.gold
end
if yang > saved_yang then
yang = saved_yang
end
if saved_rest - yang < 0 then
pc.setqf("saved_signed_longs", saved_signed_longs - 1)
pc.setqf("saved_rest", 2147483647 - yang + saved_rest)
else
pc.setqf("saved_rest", saved_rest - yang)
end
pc.changegold(yang)
say_title("Banker:")
say("Es wurden "..yang.." Yang ausgezahlt.")
say("")
end
end
end
end
Ich möchte das man nur Maximal 500.000.000.000 Yang einzahlen kann, wie macht man das?
|
|
|
06/16/2015, 16:27
|
#2905
|
elite*gold: 19
Join Date: Aug 2011
Posts: 588
Received Thanks: 217
|
Quote:
Originally Posted by fabiwunn
Servus und zwar brauche ich Hilfe bei einer Quest :
quest banker begin
state start begin
when 123456.chat."Bank" begin
banker.bankdialog()
end
function bankdialog()
say_title("Banker:")
say("Ich biete dir die Möglichkeit, dein Yang")
say("Zinsenfrei aufzubewahren.")
say("Du kannst jedoch maximal einen Betrag")
say("von 4.611.686.016.279.904.256 Yang")
say("aufbewahren.")
say("")
local action = select("Yang einzahlen", "Yang auszahlen", "Abbrechen")
if action == 1 then
say_title("Banker:")
if pc.gold < 1 then
say("Du hast kein Yang.")
say("")
return
end
say("Du hast "..pc.gold.." Yang.")
say("Wieviel möchtest du davon einzahlen?")
local yang = tonumber(input())
if yang < 0 then
return
end
if yang > pc.gold then
yang = pc.gold
end
pc.changegold(-yang)
local saved_rest = tonumber(pc.getqf("saved_rest"))
local saved_signed_longs = tonumber(pc.getqf("saved_signed_longs"))
if saved_rest + yang > 2147483647 then
pc.setqf("saved_signed_longs", saved_signed_longs + 1)
pc.setqf("saved_rest", saved_rest + yang - 2147483647)
else
pc.setqf("saved_rest", saved_rest + yang)
end
say_title("Banker:")
say("Es wurden "..yang.." Yang eingezahlt.")
say("")
return
elseif action == 2 then
local saved_rest = tonumber(pc.getqf("saved_rest"))
local saved_signed_longs = tonumber(pc.getqf("saved_signed_longs"))
local saved_yang = saved_signed_longs*2147483647+saved_rest
say_title("Banker:")
if saved_yang < 1 then
say("Ich habe kein Geld mehr von dir.")
say("")
return
end
say("Ich kann dir das Geld, das du eingezahlt hast,")
say("nun wieder auszahlen.")
say("")
say_reward("Kontostand: "..saved_yang.." Yang")
say("")
say("Wieviel Yang möchtest du ausgezahlt bekommen?")
local yang = tonumber(input())
if yang < 0 then
return
end
if yang > saved_yang then
yang = saved_yang
end
if pc.gold + yang > 1899999999 then
yang = 1899999999 - pc.gold
end
if yang > saved_yang then
yang = saved_yang
end
if saved_rest - yang < 0 then
pc.setqf("saved_signed_longs", saved_signed_longs - 1)
pc.setqf("saved_rest", 2147483647 - yang + saved_rest)
else
pc.setqf("saved_rest", saved_rest - yang)
end
pc.changegold(yang)
say_title("Banker:")
say("Es wurden "..yang.." Yang ausgezahlt.")
say("")
end
end
end
end
Ich möchte das man nur Maximal 500.000.000.000 Yang einzahlen kann, wie macht man das?
|
Habe dir die Quest mit denn selben Funktionen und deinem Wunsch neugeschrieben:
PHP Code:
quest bank begin state start begin --- Funktion für das abbuchen von Yang function player_get_yang() setdelay(0) say_title(''..mob_name(npc.get_race())..'') say('[ENTER]Dein Guthaben beträgt: '..pc.getqf('yang_guthaben')..' Yang.[ENTER]Wie viel Yang möchtest du abbuchen?[ENTER]') local input_remove_yang = tonumber(input()) if input_remove_yang < 0 then return syschat('Ungültige eingabe, das abbuchen des Yang ist fehlgeschlagen.') end if (pc.get_gold()+input_remove_yang) < 2000000000 then syschat('Du kannst maximal nur 2kkk bei dir tragen!') return end if pc.getqf('yang_guthaben') < input_remove_yang then syschat('Auf deinem Konto befindet sich nicht die angegebene Summe!') return end pc.change_gold(input_remove_yang) pc.setqf('yang_guthaben',pc.getqf('yang_guthaben')-input_remove_yang) setdelay(0) say_title(''..mob_name(npc.get_race())..'') say('[ENTER]'..input_remove_yang..' wurden erfolgreich abgebucht.[ENTER]Kann ich dir weiterhin behilflich sein?[ENTER]') if select('Ja','Abbrechen') == 2 then return end bank.player_open_bank_menu() end --- Funktion für denn start dialog function player_open_bank_menu() local bank_option_list = {'Ich möchte Yang einzahlen','Ich möchte Yang abbuchen'} table.insert(bank_option_list,'Abbrechen') table.insert(bank_option_list, 1,5) setdelay(0) say_title(''..mob_name(npc.get_race())..'') say('[ENTER]Ich biete dir die möglichkeit dein Yang aufzubewahren.[ENTER]Jedoch kann ich nur eine bestimmte Summe aufnehmen.[ENTER]Das limit beträgt derzeit 500.000.000.000 Yang.[ENTER]') say_reward('Wie kann ich dir helfen?[ENTER]') local select_bank_option = select2(bank_option_list) if bank_option_list[select_bank_option] == 'Ich möchte Yang einzahlen' then return elseif bank_option_list[select_bank_option] == 'Ich möchte Yang abbuchen' then return elseif bank_option_list[select_bank_option] == 'Abbrechen' then return end end --- Funktion für das einzahlen von Yang function player_insert_yang() setdelay(0) say_title(''..mob_name(npc.get_race())..'') say('[ENTER]Du möchtest also eine bestimmte Summe Yang einzahlen?[ENTER]Bitte gebe die gewünschte Summe ein:[ENTER]') local input_yang = tonumber(input()) if input_yang <= 0 then return syschat('Ungültige eingabe, das einzahlen von Yang ist fehlgeschlagen.') end if pc.get_gold() < input_yang then syschat('Tut mir leid, du besitzt nicht so viel Yang wie angegeben wurde.') return end if pc.getqf('yang_guthaben') <= 500000000000 then syschat('Ich kann maximal nur 500.000.000.000 Yang aufbewahren!') return end pc.setqf('yang_guthaben', pc.getqf('yang_guthaben')+input_yang) pc.change_gold(- input_yang) say_title(''..mob_name(npc.get_race())..'') say('[ENTER]Ich habe erfolgreich '..input_yang..' Yang eingezahlt.[ENTER]Kann ich dir weiterhin behilflich sein?[ENTER]') if select('Ja','Abbrechen') == 2 then return end bank.player_open_bank_menu() end when 123456.chat.'Bank öffnen' begin bank.player_open_bank_menu() end end end
|
|
|
06/18/2015, 00:23
|
#2906
|
elite*gold: 157
Join Date: May 2014
Posts: 504
Received Thanks: 603
|
Quote:
Originally Posted by .CHKaruzo
Habe dir die Quest mit denn selben Funktionen und deinem Wunsch neugeschrieben:
PHP Code:
quest bank begin state start begin --- Funktion für das abbuchen von Yang function player_get_yang() setdelay(0) say_title(''..mob_name(npc.get_race())..'') say('[ENTER]Dein Guthaben beträgt: '..pc.getqf('yang_guthaben')..' Yang.[ENTER]Wie viel Yang möchtest du abbuchen?[ENTER]') local input_remove_yang = tonumber(input()) if input_remove_yang < 0 then return syschat('Ungültige eingabe, das abbuchen des Yang ist fehlgeschlagen.') end if (pc.get_gold()+input_remove_yang) < 2000000000 then syschat('Du kannst maximal nur 2kkk bei dir tragen!') return end if pc.getqf('yang_guthaben') < input_remove_yang then syschat('Auf deinem Konto befindet sich nicht die angegebene Summe!') return end pc.change_gold(input_remove_yang) pc.setqf('yang_guthaben',pc.getqf('yang_guthaben')-input_remove_yang) setdelay(0) say_title(''..mob_name(npc.get_race())..'') say('[ENTER]'..input_remove_yang..' wurden erfolgreich abgebucht.[ENTER]Kann ich dir weiterhin behilflich sein?[ENTER]') if select('Ja','Abbrechen') == 2 then return end bank.player_open_bank_menu() end --- Funktion für denn start dialog function player_open_bank_menu() local bank_option_list = {'Ich möchte Yang einzahlen','Ich möchte Yang abbuchen'} table.insert(bank_option_list,'Abbrechen') table.insert(bank_option_list, 1,5) setdelay(0) say_title(''..mob_name(npc.get_race())..'') say('[ENTER]Ich biete dir die möglichkeit dein Yang aufzubewahren.[ENTER]Jedoch kann ich nur eine bestimmte Summe aufnehmen.[ENTER]Das limit beträgt derzeit 500.000.000.000 Yang.[ENTER]') say_reward('Wie kann ich dir helfen?[ENTER]') local select_bank_option = select2(bank_option_list) if bank_option_list[select_bank_option] == 'Ich möchte Yang einzahlen' then return elseif bank_option_list[select_bank_option] == 'Ich möchte Yang abbuchen' then return elseif bank_option_list[select_bank_option] == 'Abbrechen' then return end end --- Funktion für das einzahlen von Yang function player_insert_yang() setdelay(0) say_title(''..mob_name(npc.get_race())..'') say('[ENTER]Du möchtest also eine bestimmte Summe Yang einzahlen?[ENTER]Bitte gebe die gewünschte Summe ein:[ENTER]') local input_yang = tonumber(input()) if input_yang <= 0 then return syschat('Ungültige eingabe, das einzahlen von Yang ist fehlgeschlagen.') end if pc.get_gold() < input_yang then syschat('Tut mir leid, du besitzt nicht so viel Yang wie angegeben wurde.') return end if pc.getqf('yang_guthaben') <= 500000000000 then syschat('Ich kann maximal nur 500.000.000.000 Yang aufbewahren!') return end pc.setqf('yang_guthaben', pc.getqf('yang_guthaben')+input_yang) pc.change_gold(- input_yang) say_title(''..mob_name(npc.get_race())..'') say('[ENTER]Ich habe erfolgreich '..input_yang..' Yang eingezahlt.[ENTER]Kann ich dir weiterhin behilflich sein?[ENTER]') if select('Ja','Abbrechen') == 2 then return end bank.player_open_bank_menu() end when 123456.chat.'Bank öffnen' begin bank.player_open_bank_menu() end end end
|
Ich danke dir!
Edit: Leider funktioniert der Quest nicht hab die functions in die Questlib gepackt und die quest halt normal eingefügt, sobald ich den NPC anklicke kommt so ein Anfangstext, wenn ich auf weiter klicke schließt sich der NPC.
Brauch ich noch irgend welche Funktionen dafür in der Questlib?
|
|
|
06/18/2015, 21:38
|
#2907
|
elite*gold: 0
Join Date: Mar 2014
Posts: 91
Received Thanks: 5
|
Brauche eine Quest.
Uns zwar, per pvp kill soll man was dropen. Den drop z.b. 19 (Schwert+9)
|
|
|
06/18/2015, 22:48
|
#2908
|
elite*gold: 19
Join Date: Aug 2011
Posts: 588
Received Thanks: 217
|
Quote:
Originally Posted by fabiwunn
Ich danke dir!
Edit: Leider funktioniert der Quest nicht hab die functions in die Questlib gepackt und die quest halt normal eingefügt, sobald ich den NPC anklicke kommt so ein Anfangstext, wenn ich auf weiter klicke schließt sich der NPC.
Brauch ich noch irgend welche Funktionen dafür in der Questlib?
|
Bist du sicher das du meine Quest eingebaut hast?
Bei mir habe ich niergendwo "weiter" benutzt.
Mfg.
|
|
|
06/18/2015, 23:20
|
#2909
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
du hast die einzahl und abheben funktionen nichtmal aufgerufen
habs eingebaut und den block bank menü umgeschrieben, war mir zu umständlich, sry
PHP Code:
quest bank begin
state start begin
--- Funktion für das abbuchen von Yang
function player_get_yang()
setdelay(0)
say_title(''..mob_name(npc.get_race())..'')
say('[ENTER]Dein Guthaben beträgt: '..pc.getqf('yang_guthaben')..' Yang.[ENTER]Wie viel Yang möchtest du abbuchen?[ENTER]')
local input_remove_yang = tonumber(input()) if input_remove_yang < 0 then return syschat('Ungültige eingabe, das abbuchen des Yang ist fehlgeschlagen.') end
if (pc.get_gold()+input_remove_yang) < 2000000000 then
syschat('Du kannst maximal nur 2kkk bei dir tragen!')
return
end
if pc.getqf('yang_guthaben') < input_remove_yang then
syschat('Auf deinem Konto befindet sich nicht die angegebene Summe!')
return
end
pc.change_gold(input_remove_yang)
pc.setqf('yang_guthaben',pc.getqf('yang_guthaben')-input_remove_yang)
setdelay(0)
say_title(''..mob_name(npc.get_race())..'')
say('[ENTER]'..input_remove_yang..' wurden erfolgreich abgebucht.[ENTER]Kann ich dir weiterhin behilflich sein?[ENTER]')
if select('Ja','Abbrechen') == 2 then return end
bank.player_open_bank_menu()
end
--- Funktion für denn start dialog
function player_open_bank_menu()
say_title(''..mob_name(npc.get_race())..'')
say('[ENTER]Ich biete dir die möglichkeit dein Yang aufzubewahren.[ENTER]Jedoch kann ich nur eine bestimmte Summe aufnehmen.[ENTER]Das limit beträgt derzeit 500.000.000.000 Yang.[ENTER]')
say_reward('Wie kann ich dir helfen?[ENTER]')
local bank_option_list = select('Ich möchte Yang einzahlen','Ich möchte Yang abbuchen','Abbrechen')
if bank_option_list == 1 then
bank.player_insert_yang()
return
elseif bank_option_list == 2 then
bank.player_get_yang()
return
elseif bank_option_list == 3 then return end
end
--- Funktion für das einzahlen von Yang
function player_insert_yang()
setdelay(0)
say_title(''..mob_name(npc.get_race())..'')
say('[ENTER]Du möchtest also eine bestimmte Summe Yang einzahlen?[ENTER]Bitte gebe die gewünschte Summe ein:[ENTER]')
local input_yang = tonumber(input()) if input_yang <= 0 then return syschat('Ungültige eingabe, das einzahlen von Yang ist fehlgeschlagen.') end
if pc.get_gold() < input_yang then
syschat('Tut mir leid, du besitzt nicht so viel Yang wie angegeben wurde.')
return
end
if pc.getqf('yang_guthaben') <= 500000000000 then
syschat('Ich kann maximal nur 500.000.000.000 Yang aufbewahren!')
return
end
pc.setqf('yang_guthaben', pc.getqf('yang_guthaben')+input_yang)
pc.change_gold(- input_yang)
say_title(''..mob_name(npc.get_race())..'')
say('[ENTER]Ich habe erfolgreich '..input_yang..' Yang eingezahlt.[ENTER]Kann ich dir weiterhin behilflich sein?[ENTER]')
if select('Ja','Abbrechen') == 2 then return end
bank.player_open_bank_menu()
end
when 123456.chat.'Bank öffnen' begin
bank.player_open_bank_menu()
end
end
end
pvp kill = drop
2 varianten 1. mit eine wahrscheinlickeit von 5% überhaupt was zu droppen, 2. dropt bei jedem kill
für beide gilt items hinzüfügen in
PHP Code:
local items == {19,299,18}
einfahc item vnum rein, items durch ein komma trennen, beliebig erweiterbar
PHP Code:
quest pvp_kill_drop begin
state satrt begin
when kill with npc.is_pc() begin
local items == {19,299,18}
local chance = math.random(1,100)
if chance <= 5 then
local drop = math.random(1,table.getn(items))
game.drop_item_with_ownership(items[drop],1)
end
end
end
end
um die chance auf drop zu erhöhen in der zeile
if chance <= 5 then
die 5 verändern (zwischen 1 und 100, 1 = 1%, 100 = 100%)
quest pvp_kill_drop begin
state satrt begin
when kill with npc.is_pc() begin
local items == {19,299,18}
local drop = math.random(1,table.getn(items))
game.drop_item_with_ownership(items[drop],1)
end
end
end
|
|
|
06/19/2015, 01:21
|
#2910
|
elite*gold: 157
Join Date: May 2014
Posts: 504
Received Thanks: 603
|
Quote:
Originally Posted by Rofelmau
du hast die einzahl und abheben funktionen nichtmal aufgerufen
habs eingebaut und den block bank menü umgeschrieben, war mir zu umständlich, sry
PHP Code:
quest bank begin
state start begin
--- Funktion für das abbuchen von Yang
function player_get_yang()
setdelay(0)
say_title(''..mob_name(npc.get_race())..'')
say('[ENTER]Dein Guthaben beträgt: '..pc.getqf('yang_guthaben')..' Yang.[ENTER]Wie viel Yang möchtest du abbuchen?[ENTER]')
local input_remove_yang = tonumber(input()) if input_remove_yang < 0 then return syschat('Ungültige eingabe, das abbuchen des Yang ist fehlgeschlagen.') end
if (pc.get_gold()+input_remove_yang) < 2000000000 then
syschat('Du kannst maximal nur 2kkk bei dir tragen!')
return
end
if pc.getqf('yang_guthaben') < input_remove_yang then
syschat('Auf deinem Konto befindet sich nicht die angegebene Summe!')
return
end
pc.change_gold(input_remove_yang)
pc.setqf('yang_guthaben',pc.getqf('yang_guthaben')-input_remove_yang)
setdelay(0)
say_title(''..mob_name(npc.get_race())..'')
say('[ENTER]'..input_remove_yang..' wurden erfolgreich abgebucht.[ENTER]Kann ich dir weiterhin behilflich sein?[ENTER]')
if select('Ja','Abbrechen') == 2 then return end
bank.player_open_bank_menu()
end
--- Funktion für denn start dialog
function player_open_bank_menu()
say_title(''..mob_name(npc.get_race())..'')
say('[ENTER]Ich biete dir die möglichkeit dein Yang aufzubewahren.[ENTER]Jedoch kann ich nur eine bestimmte Summe aufnehmen.[ENTER]Das limit beträgt derzeit 500.000.000.000 Yang.[ENTER]')
say_reward('Wie kann ich dir helfen?[ENTER]')
local bank_option_list = select('Ich möchte Yang einzahlen','Ich möchte Yang abbuchen','Abbrechen')
if bank_option_list == 1 then
bank.player_insert_yang()
return
elseif bank_option_list == 2 then
bank.player_get_yang()
return
elseif bank_option_list == 3 then return end
end
--- Funktion für das einzahlen von Yang
function player_insert_yang()
setdelay(0)
say_title(''..mob_name(npc.get_race())..'')
say('[ENTER]Du möchtest also eine bestimmte Summe Yang einzahlen?[ENTER]Bitte gebe die gewünschte Summe ein:[ENTER]')
local input_yang = tonumber(input()) if input_yang <= 0 then return syschat('Ungültige eingabe, das einzahlen von Yang ist fehlgeschlagen.') end
if pc.get_gold() < input_yang then
syschat('Tut mir leid, du besitzt nicht so viel Yang wie angegeben wurde.')
return
end
if pc.getqf('yang_guthaben') <= 500000000000 then
syschat('Ich kann maximal nur 500.000.000.000 Yang aufbewahren!')
return
end
pc.setqf('yang_guthaben', pc.getqf('yang_guthaben')+input_yang)
pc.change_gold(- input_yang)
say_title(''..mob_name(npc.get_race())..'')
say('[ENTER]Ich habe erfolgreich '..input_yang..' Yang eingezahlt.[ENTER]Kann ich dir weiterhin behilflich sein?[ENTER]')
if select('Ja','Abbrechen') == 2 then return end
bank.player_open_bank_menu()
end
when 123456.chat.'Bank öffnen' begin
bank.player_open_bank_menu()
end
end
end
pvp kill = drop
2 varianten 1. mit eine wahrscheinlickeit von 5% überhaupt was zu droppen, 2. dropt bei jedem kill
für beide gilt items hinzüfügen in
PHP Code:
local items == {19,299,18}
einfahc item vnum rein, items durch ein komma trennen, beliebig erweiterbar
PHP Code:
quest pvp_kill_drop begin
state satrt begin
when kill with npc.is_pc() begin
local items == {19,299,18}
local chance = math.random(1,100)
if chance <= 5 then
local drop = math.random(1,table.getn(items))
game.drop_item_with_ownership(items[drop],1)
end
end
end
end
um die chance auf drop zu erhöhen in der zeile
if chance <= 5 then
die 5 verändern (zwischen 1 und 100, 1 = 1%, 100 = 100%)
quest pvp_kill_drop begin
state satrt begin
when kill with npc.is_pc() begin
local items == {19,299,18}
local drop = math.random(1,table.getn(items))
game.drop_item_with_ownership(items[drop],1)
end
end
end
|
Funktioniert so auch nicht, wenn man nen Betrag eingibt sagen wir mal 4k dann kommt jedesmal nur:
Du kannst nur 500.000.000.000 Yang einzahlen, obwohl das Geld vorhanden ist
|
|
|
 |
|
Similar Threads
|
[Community]Questerstellung
09/06/2015 - Metin2 Private Server - 5 Replies
Hallo liebe Community,
ich möchte meine Questkenntnisse ein wenig erweitern, deshalb möchte ich euch hier die Möglichkeit geben, Ideen, Wünsche und alles was mit Quests zu tun hat an mich weiterzuleiten.
Ich werde, sobald ich Zeit und Lust habe, die Ideen größtenteils umsetzen und das Ergebnis hier veröffentlichen. Wie oben schon erwähnt bin ich Quasi noch am 'lernen' (ja ich weis, man lernt nie aus), deshalb bitte ich euch, mich zu informieren wenn ich irgendwo gefailed hab, man es...
|
Hilfe bei Questerstellung
02/25/2012 - Metin2 Private Server - 0 Replies
€dit:
Kan gelöscht werden habe jemanden gefunden!!!!
|
Hilfe bei Questerstellung
02/15/2012 - Metin2 Private Server - 8 Replies
Heyy
Ich hätte eine bitte an euch.
Und zwar einer von euch mir einige quests erstellst.
Ich habe voll kp von quests.
Als blohnung würde ich dir auf meinem server
5k coins (Wert 50€) geben.
also hier die quests:
30 Quest
Belohnung: 100kk 42 rüssi+7 je nach der klasse.
|
Hilfe bei Questerstellung
08/16/2011 - Metin2 Private Server - 0 Replies
Mahlzeit
also ich suche jemanden der mir ein grundgerüst einer quest erstellen kann so das ich diese weiter ausbauen kann,
So nun zur quest idee
Also ich möchte einen NPC hinstellen nennen wir den mal Questnpc
wenn man den anklickt soll man dem levelabhängig quest angeboten bekommen,zum beispiel ab lvl10 töte 50 weisse Tiger,aber lvl40 töte 30 Oberork und so weiter,was mit levelanstieg natürlich komplexer werden sollte.Manche Quest sollten nur einmal zumachen gehen und manche im höheren lvl...
|
[SERVICE]Questerstellung
05/24/2011 - Metin2 Private Server - 4 Replies
Abend e*pvp,
nach langem Überlegen hab ich mich doch dazu entschlossen, meine Arbeit gegen e*gold zur Verfügung zu stellen.
Ich werde euch mal die wichtigsten Fragen beantworten ;)
Woraus besteht dein Service?
Zum einen erstelle ich einzelne, sowie ganze Questreihen. Die von mir verschickten Dateien werden Unikate bleiben, und sofort nach erfolgreichem Transfer gelöscht. Außerdem biete ich nochmal seperat eine Questverbesserung zum Sammelthread an. Diese wird dann natürlich...
|
All times are GMT +1. The time now is 20:43.
|
|