|
You last visited: Today at 07:14
Advertisement
[SERVICE] Die Questerstellung
Discussion on [SERVICE] Die Questerstellung within the Metin2 Private Server forum part of the Metin2 category.
04/12/2015, 15:11
|
#2491
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by *Mini*
alo ich möchte auf den markt einen npc stellen er verlangt von den spielern 5 verschiedene items (10x schweinsnase, 20xschlangenschwanz, 5xpferdemedalie, 5xporzelan, 5xaffenkraut) wenn sie diese items zum npc bringen können sie sich ein item aussuchen (pferde siegel oder pet siegel oder ...)
danke
@ DYSKaito vielen dank :-*
|
Benutz die:
Code:
quest itemtausch begin
state start begin
when xxx.chat."Itemtausch" begin
local items = {
["to_trade"] = {
{30003, 10},
{30022, 20},
{50050, 5},
{30033, 5},
{affenkraut, 5}
},
["items"] = {
{item1, anzahl_item1},
{item2, anzahl_item2},
{item3, anzahl_item3},
{item4, anzahl_item4},
{item5, anzahl_item5}
}
}
for _, tbl in pairs(items["to_trade"]) do
if pc.count_item(tbl[1]) < tbl[2] then
say("Du hast nicht genügend Items für einen Tausch.")
say("Du benötigst folgende Items für einen Tausch:")
say("")
for _, item in pairs(items["to_trade"]) do
say(item[2].."x "..item_name(item[1]))
end
return
end
end
local item_names = {}
for _, tbl in pairs(items["items"]) do
table.insert(item_names, item_name(tbl[1]))
end
say("Gut ... du hast alle benötigten Items.")
say("Gegen welches Dieser Items möchtest du sie tauschen?")
local select_item = items["items"][select3(item_names)] or false
if select_item then
say("Möchtest du wirklich folgende Items:")
for _, item in pairs(items["to_trade"]) do
say(item[2].."x "..item_name(item[1]))
end
say("gegen "..select_item[2].."x "..item_name(select_item[1]))
say("tauschen?")
if select("Ja", "Nein") == 2 then return end
for _, tbl in pairs(items["to_trade"]) do
if pc.count_item(tbl[1]) < tbl[2] then
say("Versuch nicht zu verarschen!")
return
end
pc.remove_item(tbl[1], tbl[2])
end
pc.give_item2(select_item[1], select_item[2])
end
end
end
end
|
|
|
04/12/2015, 18:28
|
#2492
|
elite*gold: 0
Join Date: May 2012
Posts: 39
Received Thanks: 0
|
Hallo zusammen,
ich suche eine Quest die folgendes macht:
ab Lv. 5 - Man erhält das Anfänger Pferdebild und man kann das normale Pferd reiten,Rufen usw. + kleine Text nachricht.
ab Lv. 35 man erhält das 2te Pferd also den Kampfgaul + kleine Text nachricht.
ab Lv. 45 man erhält das Milligaul buch + den Milligaul und die Reitfertigkeiten + kleine Text nachricht.
Kann mir jemand so eine Quest geben ?
Vielen Dank
|
|
|
04/12/2015, 19:00
|
#2493
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by ArcaniaZero
Hallo zusammen,
ich suche eine Quest die folgendes macht:
ab Lv. 5 - Man erhält das Anfänger Pferdebild und man kann das normale Pferd reiten,Rufen usw. + kleine Text nachricht.
ab Lv. 35 man erhält das 2te Pferd also den Kampfgaul + kleine Text nachricht.
ab Lv. 45 man erhält das Milligaul buch + den Milligaul und die Reitfertigkeiten + kleine Text nachricht.
Kann mir jemand so eine Quest geben ?
Vielen Dank
|
Code:
quest horselv begin
state start begin
-- Funktion
function next_horselv()
local horselv = ({1, 11, 21})[pc.get_level() >= 5 and pc.get_level() >= 35 and pc.get_level() >= 45 and 3 or 2 or 1]
if pc.get_horse_level() < horselv then
return horselv
end
return false
end
function check_horseskilllevel()
local skill_ids = {}
for i = 138, 140 do
if pc.get_skill_level(i) < 20 then
table.insert(skill_ids, i)
end
end
if table.getn(skill_ids) >= 1 then
return skill_ids
end
return false
end
-- #####
-- Quest
-- #####
when login with horselv.check_horseskilllevel() begin
for _, tbl in pairs(horselv.check_horseskilllevel()) do
pc.set_skill_level(tbl, 20)
end
end
when login or levelup with horselv.next_horselv() then
send_letter("Das Pferd")
end
when button or info with horselv.next_horselv() then
say("Möchtest du das Level deines Pferdes auf "..horselv.next_horselv().." steigern?")
if select("Ja", "Nein") == 2 then return end
horse.set_level(horselv.next_horselv())
end
end
end
Das sollte es machen
|
|
|
04/12/2015, 19:11
|
#2494
|
elite*gold: 0
Join Date: May 2012
Posts: 39
Received Thanks: 0
|
Danke dir für deine mühe ! Sieht super aus!
Leider kommt beim Compilen aber ein fehler - qc in malloc(): error: allocation failed.
Ist doch korrekt so oder ?
Funktion in die questlib.lua und in die quest_function dann noch next_horselv ?
Und noch eine frage:
Würde man auch bei dem Code direkt das Pferdebild etc. dazu bekommen ?
Vielen Dank
Gruß
ArcaniaZero
|
|
|
04/12/2015, 19:38
|
#2495
|
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
|
Quote:
Originally Posted by ArcaniaZero
Danke dir für deine mühe ! Sieht super aus!
Leider kommt beim Compilen aber ein fehler - qc in malloc(): error: allocation failed.
Ist doch korrekt so oder ?
Funktion in die questlib.lua und in die quest_function dann noch next_horselv ?
Und noch eine frage:
Würde man auch bei dem Code direkt das Pferdebild etc. dazu bekommen ?
Vielen Dank
Gruß
ArcaniaZero
|
Code:
quest kaito begin
state start begin
when login or levelup with pc.get_level() >= 5 begin
local tab = {
{1},
{50051}
}
for anfänger,pferd in pairs(tab) do
horse.set_level(pferd[1])
pc.give_item2(pferd[2],1)
chat("Du hast das Anfänger-Pferd bekommen!")
end
end
when login or levelup with pc.get_level() == 35 begin
local tab2 = {
{11},
{50052}
}
for mittel,pferd in pairs(tab2) do
horse.set_level(pferd[1])
pc.give_item2(pferd[2],1)
chat("Du hast das Kampf-Pferd bekommen!")
end
end
when login or levelup with pc.get_level() == 45 begin
local tab3 = {
{20},
{137,138,139},
{59},
{50053}
}
for militar,pferd in pairs(tab3) do
horse.set_level(pferd[1])
pc.set_skill_level(pferd[2],pferd[3])
pc.give_item2(pferd[4],1)
chat("Du hast das Kampf-Pferd bekommen!")
end
end
end
end
|
|
|
04/12/2015, 19:47
|
#2496
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by ArcaniaZero
Danke dir für deine mühe ! Sieht super aus!
Leider kommt beim Compilen aber ein fehler - qc in malloc(): error: allocation failed.
Ist doch korrekt so oder ?
Funktion in die questlib.lua und in die quest_function dann noch next_horselv ?
Und noch eine frage:
Würde man auch bei dem Code direkt das Pferdebild etc. dazu bekommen ?
Vielen Dank
Gruß
ArcaniaZero
|
Die Questfunktionen musst du nicht in die Questlib schreiben, die werden direkt aus der Quest abgerufen (du darfst den questnamen oben nicht verändern bzw. wenn du ihn veränderst musst du auch vor jedem Funktionsaufruf den Namen ändern)
Code:
quest horselv begin
state start begin
-- Funktion
function next_horselv()
local horselv = ({1, 11, 21})[pc.get_level() >= 45 and 3 or pc.get_level() >= 35 and 2 or pc.get_level() >= 5 and 1 or 0] or false
if pc.get_horse_level() < horselv then
return horselv
end
return false
end
function check_horseskilllevel()
local skill_ids = {}
for i = 138, 140 do
if pc.get_skill_level(i) < 20 then
table.insert(skill_ids, i)
end
end
if table.getn(skill_ids) >= 1 then
return skill_ids
end
return false
end
-- Quest
when login with horselv.check_horseskilllevel() begin
for _, tbl in pairs(horselv.check_horseskilllevel()) do
pc.set_skill_level(tbl, 20)
end
end
when login or levelup with horselv.next_horselv() then
send_letter("Das Pferd")
end
when button or info with horselv.next_horselv() then
say("Möchtest du das Level deines Pferdes auf "..horselv.next_horselv().." steigern?")
if select("Ja", "Nein") == 2 then return end
horse.set_level(horselv.next_horselv())
local itemvnum = pc.get_horse_level() >= 21 and 50053 or pc.get_horse_level() >= 11 and 50052 or pc.get_horse_level() >= 1 and 50051 or false
local removevnum = itemvnum == 50051 and false or itemvnum-1
if itemvnum then
pc.give_item2(itemvnum, 1)
if removevnum then
pc.remove_item(removevnum, 1)
end
end
end
end
end
|
|
|
04/12/2015, 20:11
|
#2497
|
elite*gold: 0
Join Date: May 2012
Posts: 39
Received Thanks: 0
|
Hey ho,
ich habs jetzt gerade noch mal ausprobiert aber irgendwie will er nicht :/
immer noch der selber fehler von oben - er hängt ab: when login or levelup
|
|
|
04/12/2015, 20:22
|
#2498
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by ArcaniaZero
Hey ho,
ich habs jetzt gerade noch mal ausprobiert aber irgendwie will er nicht :/
immer noch der selber fehler von oben - er hängt ab: when login or levelup
|
Code:
quest horselv begin
state start begin
-- Funktion
function next_horselv()
local horselv = ({1, 11, 21})[pc.get_level() >= 45 and 3 or pc.get_level() >= 35 and 2 or pc.get_level() >= 5 and 1 or 0] or false
if pc.get_horse_level() < horselv then
return horselv
end
return false
end
function check_horseskilllevel()
local skill_ids = {}
for i = 138, 140 do
if pc.get_skill_level(i) < 20 then
table.insert(skill_ids, i)
end
end
if table.getn(skill_ids) >= 1 then
return skill_ids
end
return false
end
-- Quest
when login with horselv.check_horseskilllevel() begin
for _, tbl in pairs(horselv.check_horseskilllevel()) do
pc.set_skill_level(tbl, 20)
end
end
when login or levelup with horselv.next_horselv() begin
send_letter("Das Pferd")
end
when button or info with horselv.next_horselv() begin
say("Möchtest du das Level deines Pferdes auf "..horselv.next_horselv().." steigern?")
if select("Ja", "Nein") == 2 then return end
horse.set_level(horselv.next_horselv())
local itemvnum = pc.get_horse_level() >= 21 and 50053 or pc.get_horse_level() >= 11 and 50052 or pc.get_horse_level() >= 1 and 50051 or false
local removevnum = itemvnum == 50051 and false or itemvnum-1
if itemvnum then
pc.give_item2(itemvnum, 1)
if removevnum then
pc.remove_item(removevnum, 1)
end
end
end
end
end
hab "then" mit "begin" verwechselt ... *shameonme*
|
|
|
04/13/2015, 10:51
|
#2499
|
elite*gold: 0
Join Date: Mar 2015
Posts: 112
Received Thanks: 30
|
Suche eine Quest, die eine "notice" an alle sendet, wenn jemand gebannt wird.
Es soll aus der Account.account table ausgelesen werde wenn jemand den Status "BLOCK" bekommt.
Der Charakter Name soll aus der Spalte "Account_Name" ausgelesen werden.
Der Grund aus der Spalte "Grund" & Gebannt bis aus der Spalte "Dauer"
Wäre happy wenns mir jemand macht
Bitte dann per Privat Nachricht antworten.
|
|
|
04/13/2015, 11:34
|
#2500
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by ɢreeɴ'clowɴ
Suche eine Quest, die eine "notice" an alle sendet, wenn jemand gebannt wird.
Es soll aus der Account.account table ausgelesen werde wenn jemand den Status "BLOCK" bekommt.
Der Charakter Name soll aus der Spalte "Account_Name" ausgelesen werden.
Der Grund aus der Spalte "Grund" & Gebannt bis aus der Spalte "Dauer"
Wäre happy wenns mir jemand macht
Bitte dann per Privat Nachricht antworten.
|
Gibt keinen passenden Trigger dafür ... ausser das bei jedem Login jedes Spielers abzufragen
|
|
|
04/13/2015, 11:38
|
#2501
|
elite*gold: 0
Join Date: Mar 2015
Posts: 112
Received Thanks: 30
|
Quote:
Originally Posted by definitely not Sensenmann
Gibt keinen passenden Trigger dafür ... ausser das bei jedem Login jedes Spielers abzufragen
|
Wäre es denn möglich es mit dem Login zu schreiben?
|
|
|
04/13/2015, 12:53
|
#2502
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by ɢreeɴ'clowɴ
Wäre es denn möglich es mit dem Login zu schreiben?
|
klar, wenn du willst, dass bei jedem Login eine Query ausgeführt wird
|
|
|
04/13/2015, 12:56
|
#2503
|
elite*gold: 0
Join Date: Feb 2015
Posts: 400
Received Thanks: 46
|
Suche noch immer eine Art jagdauftrag bei dem man 5 metins der Schlacht töten muss und anschließend aus 3 Belohnungen wählen kann :/ das ganze soll mit Level 5 stattfinden
|
|
|
04/13/2015, 13:10
|
#2504
|
elite*gold: 0
Join Date: Apr 2015
Posts: 22
Received Thanks: 2
|
Hey ho würde die Pferde quest auch gern nutzen
leider gehts nit
Calls undecleared function!
PAIRS
Muss ich jetzt doch noch was in die questlib oder function eintragen ?
Danke
|
|
|
04/13/2015, 14:57
|
#2505
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by geneesys
Hey ho würde die Pferde quest auch gern nutzen
leider gehts nit
Calls undecleared function!
PAIRS
Muss ich jetzt doch noch was in die questlib oder function eintragen ?
Danke
|
Einfach pairs in die quest_functions eibtragen
|
|
|
 |
|
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 07:16.
|
|