|
You last visited: Today at 20:23
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
01/13/2015, 22:26
|
#10846
|
elite*gold: 0
Join Date: Jan 2015
Posts: 106
Received Thanks: 52
|
Quote:
Originally Posted by .Stefan
Hab hier das Problem, dass die Quest nur beim Login angezeigt werden soll.
Also nur einmal. Wie soll ich das dann ändern ? :s
Momentan wird die Quest ja immer bei lvl 1 ausgeführt
Code:
quest text begin
state start begin
when login with pc.get_level() == 1 begin
set_state(wilkommen)
end
end
state wilkommen begin
when login with pc.get_level() == 1 begin
setskin(SCROLL)
setbgimage('logo_bg.tga')
say("Wilkommen")
say("Das ist der Test der Backgroundfunktion")
say("Wenn du einen Background siehst")
say("Hast du alles richtig gemacht")
say("Herzlichen Glückwunsch")
say("Ich hoffe es hat euch gefallen")
say("bzw gefällt euch weiterhin")
end
end
end
|
Code:
quest text begin
state start begin
when login with pc.getf("willkommen","done") == 0 begin
setbgimage('logo_bg.tga')
say("Wilkommen")
say("Das ist der Test der Backgroundfunktion")
say("Wenn du einen Background siehst")
say("Hast du alles richtig gemacht")
say("Herzlichen Glückwunsch")
say("Ich hoffe es hat euch gefallen")
say("bzw gefällt euch weiterhin")
pc.setf("willkommen","done",1)
end
end
end
|
|
|
01/14/2015, 09:08
|
#10847
|
elite*gold: 40
Join Date: Nov 2009
Posts: 1,159
Received Thanks: 442
|
Quote:
Originally Posted by shurigeller
moin hab ein problem mit der anfangsquest und zwar jedes mal wenn ich durch ein porter laufe oder so bekomme ich die sachen immer wieder ?????
|
Du musst die Funktion:
when login with pc.getqf(first_login, 0) begin
am Anfang einfügen
am Ende, wo alles sets dann verteilt worden sind, packst Du die Funktion:
pc.setqf(first_login,1)
end
Dann sollte es gehen.
|
|
|
01/14/2015, 12:11
|
#10848
|
elite*gold: 0
Join Date: Jan 2013
Posts: 419
Received Thanks: 44
|
Hallo Liebe Leute
ich habe einen Fehler mit der PvP-Map quest -basiert auf ox.quest
hier die quest. wenn ich sie hochlade also python make.py und ich ganz unten
bei der quest bin passiert nix...
PHP Code:
quest pvpmap begin state start begin when 20011.chat."PvP-Turnier" begin when 20358.chat."PvP-Map" with pc.is_gm() begin
local stat = PvP-Turnier.get_status()
if stat == 0 then say("PvP-Turnier") say("")
local s = select("PvP-Turnier starten", "Nope")
if s == 1 then local v = PvP-Turnier.open()
if v == 0 then say("PvP-Turnier Event schon aktiv?") say("") elseif v == 1 then say("PvP-Turnier gestartet") say("") notice_all("((`°*~-._ ****** _.-~*°´))") notice_all("Das PvP-Turnier-Event hat soeben begonnen") notice_all("Um daran teilzunehmen geht zu Uriel und sprecht mit ihm") notice_all("Viel Spaß wünscht euch das ***** Team") notice_all("((`°*~-._ **** _.-~*°´))") else say("Fehler...") say("") end end elseif stat == 1 then say("Es sind "..PvP-Turnier.get_attender().." Spieler da") say("Schließen?") say("")
local s = select("Zugang schliessen", "Nope")
if s == 1 then PvP-Turnier.close()
say("Zugang zu.") say("") end end end
keiner eine idee?
|
|
|
01/14/2015, 20:41
|
#10849
|
elite*gold: 0
Join Date: Jul 2009
Posts: 58
Received Thanks: 1
|
Quote:
Originally Posted by DerForenLeser
Du musst die Funktion:
when login with pc.getqf(first_login, 0) begin
am Anfang einfügen
am Ende, wo alles sets dann verteilt worden sind, packst Du die Funktion:
pc.setqf(first_login,1)
end
Dann sollte es gehen.
|
ne bekomme jetzt imma error kannste mir das richtig vorschreiben ?
so das ich das einfach kopieren kann
ich habe total keine ahnung wegen den abständen und so
|
|
|
01/16/2015, 00:08
|
#10850
|
wild wild son
elite*gold: 0
Join Date: Feb 2011
Posts: 5,830
Received Thanks: 3,369
|
Quote:
Originally Posted by Xena86
Hallo habe ein problemm mit der quest lua egal was ich mache er kann die quest nicht laden hab auch ein screen hochgeladen wo ihr sehn könnt das ist eine Lua quest hoffe ihr könnt mir helfen
PHP Code:
-- Achievementsystem -- Copyright (c) 2014 Yiv -- Create: 2014/11/02 (YYYY/MM/DD) achievement = achievement or {} -- ############################################### -- ################ CONFIGURATION ################ -- ############################################### achievement.shop = { {{14,1,10},{19,1,20},{11209,1,25},{11219,1,30},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}, {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}, {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}, {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}, {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}, {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}, {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}, {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}, } -- A = Achievement -- AP = Achievement Points -- Mob-Achievements achievement.mob['VNUM'] = {{KILL_COUNT, AP}} -- Level-Achievements achievement.level = {{LEVEL, AP}} achievement.mob = {} achievement.mob['L'] = { [1] = {101, 102}, [21] = {101, 102, 103}, [41] = {101, 102, 104}, } achievement.mob[101] = {{10, 5}, {25, 10}, {50, 15}} achievement.mob[102] = {{29, 29}} achievement.mob[103] = {{88, 88}, {1337, 1000}} achievement.mob[104] = {{99, 99}, {2674, 2000}} achievement.level = { {30, 5}, {50, 10}, {75, 15}, {100, 20}, {105, 20}, } -- ############################################### -- ########## FUNCTIONS - DO NOT CHANGE ########## -- ############################################### --[[ achievement.init achievement.getNextLevelAchievementInfo achievement.nextLevelAchievement achievement.getMobAchievementInfo achievement.increasePoints achievement.getf achievement.setf achievement.login achievement.initLevel achievement.initShop achievement.initMob achievement.buyItem achievement.clientCommunication ]]-- achievement.init = function() achievement.setf("points", 0) achievement.setf("level", 1) end achievement.getNextLevelAchievementInfo = function() local n = achievement.getf("level") if n < 1 or n > table.getn(achievement.level) then return 0 end return achievement.level[n] end achievement.nextLevelAchievement = function() achievement.setf("level", (achievement.getf("level") + 1)) end achievement.getMobAchievementInfo = function(race) if achievement.mob[race] ~= nil then return achievement.mob[race] else return {} end end achievement.increasePoints = function(points) achievement.setf("points", (achievement.getf("points") + points)) end achievement.getf = function(flag) return pc.getf("achievement", flag) end achievement.setf = function(flag, value) pc.setf("achievement", flag, value) if flag == "points" then achievement.clientCommunication("ap_info", value) end end achievement.login = function() achievement.initLevel() achievement.initShop() end achievement.initLevel = function() local levelAchievements = "" table.foreach(achievement.level, function(index, levelSet) levelAchievements = string.format("%s,%d_%d", levelAchievements, levelSet[1], levelSet[2]) end ) levelAchievements = string.sub(levelAchievements, 2) achievement.clientCommunication("init_level", pc.get_level(), levelAchievements) end achievement.initShop = function() local siVnum = "" local siCount = "" local siPrice = "" table.foreach(achievement.shop, function(tIndex, tSet) table.foreach(tSet, function(index, set) siVnum = string.format("%s;%d", siVnum, set[1]) siCount = string.format("%s;%d", siCount, set[2]) siPrice = string.format("%s;%d", siPrice, set[3]) end ) end ) siVnum = string.sub(siVnum, 2) siCount = string.sub(siCount, 2) siPrice = string.sub(siPrice, 2) achievement.clientCommunication("shop", "c") achievement.clientCommunication("shop", "vnum", siVnum) achievement.clientCommunication("shop", "count", siCount) achievement.clientCommunication("shop", "price", siPrice) achievement.clientCommunication("shop", "b") achievement.clientCommunication("ap_info", achievement.getf("points")) end achievement.initMob = function() local mobAchievements = "" local mobIdxTab = achievement.mob['L'][pc.get_map_index()] if mobIdxTab ~= nil then table.foreach(mobIdxTab, function(index, value) local mobInfoTab = achievement.getMobAchievementInfo(value) local mobAchievementsSUB = "" if mobInfoTab ~= nil then table.foreach(mobInfoTab, function(idx, infoSet) mobAchievementsSUB = string.format("%s;%d", mobAchievementsSUB, infoSet[1]) end ) mobAchievementsSUB = string.sub(mobAchievementsSUB, 2) mobAchievementsSUB = string.format("%d_%d_%s", value, achievement.getf(string.format("npc_kills_%d", value)), mobAchievementsSUB) end mobAchievements = string.format("%s,%s", mobAchievements, mobAchievementsSUB) end ) end mobAchievements = string.sub(mobAchievements, 2) achievement.clientCommunication("init_mob", mobAchievements) end achievement.buyItem = function(pos) pos = pos + 1 local row = 1 while pos > 8 do row = row + 1 pos = pos - 8 end local itemSet = achievement.shop[row][pos] local ap = achievement.getf("points") if ap >= itemSet[3] then ap = ap - itemSet[3] achievement.setf("points", ap) pc.give_item2(itemSet[1], itemSet[2]) achievement.clientCommunication("ap_info", ap) else syschat("Du hast nicht genügend Achievement-Punkte um diesen Gegenstand zu kaufen.") end end achievement.clientCommunication = function(param, ...) local strCmd = string.format("achievement %s#", param) if not arg or table.getn(arg) < 1 then return end local i,j = 1,table.getn(arg) while i <= j do strCmd = string.format(strCmd.."%s|", tostring(arg[i])) i = i + 1 end strCmd = string.sub(strCmd, 1, (string.len(strCmd) - 1)) cmdchat(strCmd) end
ha
|
Wie der Name bereits verrät, dient das Lua-Script als Extension, also als eine Erweiterung, die so nicht als Quest kompiliert werden soll. Um diese beim Serverstart laden zu lassen, musst du beispielsweise in der questlib.lua folgenden Eintrag hinzufügen;
Code:
dofile("/usr/home/game/share/locale/germany/quest/achievementsystem_extension.lua")
Lediglich die achievementsystem.lua musst du wie jede andere Quest implementieren.
Genaueres wird allerdings auch im dazugehörigen Thema erläutert;
lg
|
|
|
01/16/2015, 21:00
|
#10851
|
elite*gold: 0
Join Date: Jan 2012
Posts: 195
Received Thanks: 19
|
Quest Fehler
Habe mir mal ne Quest ei epvp gesucht und sie bissl abgeändert nach meine wünschen und jetzt spackt sie rum und
bei sh make.sh kommt :
tausch.quest:2:must start with ´quest´
Error occured on compile tausch.quest
tausch.quest
quest tausch begin
state start begin
when 9010.chat."Eintauschen" begin
say_title("Eintauschen")
say("Hallo lieber user von GreenLight2!")
say("Ich bin ein Händler,")
say("Ich brauche Perlen für meine Oma")
say("Gegen ein paar Perlen kann ich dir Wertvolles EQ anbieten")
say("Falls du etwas hast bitte ich dich darum es bei")
say("mir einzutauschen und das wenn möglich zügig...")
say("Viele meiner Freunde behaupten ich sei ein Spinner,")
say("weil ich mich mit Perlen")
say("beschäftige aber ein wahrer Mann steht zu seinen")
say("vorlieben. Wenn du nun was eintschauen möchtest....,")
wait()
say("Ich habe noch ein paar Dinge zu erledigen")
say("deswegen Entscheide dich bitte schnell.")
say("Du kannst desöfteren zu mir um deine Sachen")
say("einzutauschen denn das würde mich sehr freuen,")
say("da ich ein sehr erfreuter Perlen Händler bin.")
say("")
say("")
say("")
say("")
wait()
say("Also was möchtest du tauschen für 5 Weiße Perlen?")
local v = select ("Drachenzahnklinge", "Fünf-Elemte-Klinge", "Phönix-Bogen", "Drachen-Geistglocke", "Runen-Sword", "Weiter Blaue Perle x5")
if v == 1 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(479, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Drachenzahnklinge")
else
return
end
elseif v == 2 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(1349, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Fünf-Elemte-Klinge")
else
return
end
elseif v == 3 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(2379, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Phönix-Bogen")
else
return
end
elseif v == 4 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(5349, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Drachen-Geistglocke")
else
return
end
elseif v == 5 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(469, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Runen-Sword")
else
return
end
elseif v == 6 then
local a = select ("Blauerdrachenanzug", "Kleidung des Drachen", "Auraplattenpanzer", "Blaustahl-Panzer", "Weiter Blaue Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12019, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Blauerdrachenanzug")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12029, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Kleidung des Drachen")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12039, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Auraplattenpanzer")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12049, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Blaustahl-Panzer")
else
return
end
elseif v == 5 then
local a = select ("Krieger-King", "Ninja-King", "Sura-King", "Shamane-King", "Weiter Blauen Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11971, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Krieger-King")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11972, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Ninja-King")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11973, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Sura-King")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11974, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Shamane-King")
else
return
end
elseif a == 5 then
local a = select ("Kriegsmeister-Helm", "Spinnen-Kapuze", "Magischer-Helm", "Seelensplitter-Hut", "Weiter Blauen Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12289, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Kriegsmeister-Helm")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12549, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Spinnen-Kapuze")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11973, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Magischer-Helm")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12689, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Seelensplitter-Hut")
else
return
end
elseif a == 5 then
local a = select ("Falkenschild", "Tiegerschild", "Löwenkantenschild", "Drachenschuppenschild", "Weiter Blutroten Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13069, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Falkenschild")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13089, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Tiegerschild")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13109, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Löwenkantenschild")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13129, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Drachenschuppenschild")
else
return
end
elseif a == 5 then
local a = select ("HTO", "HTH", "HTA", "Euphorieschuhe", "Glorienstiefel", "Qilinschuhe", "Eisvogelschuhe", "zurück")
if a == 1 then
if pc.count_item(27994, 5) >= 1 then
pc.remove_item(27994, 5)
pc.give_item2(17209, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("HTO")
else
return
end
elseif a == 2 then
if pc.count_item(27994, 5) >= 1 then
pc.remove_item(27994, 5)
pc.give_item2(16209, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("HTH")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(14209, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("HTA")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15379, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Euphorieschuhe")
else
return
end
elseif a == 5 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15399, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Glorienstiefel")
else
return
end
elseif a == 6 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15419, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Qilinschuhe")
else
return
end
elseif a == 7 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15439, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Eisvogelschuhe")
else
return
end
elseif a == 8 then
else
return
end
end
end
end
end
dazu habe ich von einen user denn tipp bekommen
:Füg diese Funktion in der questlib.lua hinzu und in die quest_functions schreibste select3
function select3(...)
arg.n = nil
local tp,max = arg,5
if type(tp[1]) == 'number' then
max = tp[1]
if type(tp[2]) == 'table' then
tp = tp[2]
else
table.remove(tp,1)
end
elseif type(tp[1]) == 'table' then
tp = tp[1]
end
local str = '{'
local tablen,act,incit = table.getn(tp),0,0
table.foreach(tp,function(i,l)
act = act + 1
if act == 1 then
str = str .. '{'..string.format('%q',l)
elseif act == max+1 and tablen > act+incit then
if tablen ~= act+incit+1 then
str = str..'},{'..string.format('%q',l)
else
str=str..','..string.format('%q',l)
end
incit = incit + max
act = 1
else
str=str..','..string.format('%q',l)
end
end)
local px = loadstring('return '..str ..'}}')()
local function copy_tab(t) local p= {} for i = 1,table.getn(t) do p[i] = t[i] end return p end
local pe = {}
for i = 1,table.getn(px) do pe [i] = copy_tab(px[i]) end
local function init(i,ip)
pe[i] = copy_tab(px[i])
local next,back,exit = 0,0,0
if i < table.getn(pe) and table.getn(pe) ~=1 then table.insert(pe[i],table.getn(pe[i])+1,'Weiter zu Seite '..(i+1)); next = table.getn(pe[i]) end
if i > 1 then table.insert(pe[i],table.getn(pe[i])+1,'Zurück zu Seite '..(i-1)); back = table.getn(pe[i]) end
table.insert(pe[i],table.getn(pe[i])+1,'Schließen'); exit = table.getn(pe[i])
if table.getn(pe) > 1 then
say('Seite '..i..' von '..table.getn(pe))
end
local e = select_table(pe[i])
if e == next then return init(i+1,ip+max)
elseif e == back then return init(i-1,ip-max)
elseif e == exit then return -1
else return e+ip,pe[i][e] end
end
return init(1,0) or -1
end
dazu noch deine Quest:
quest tausch begin
state start begin
when 9010.chat."Eintauschen" begin
say_title("Eintauschen")
say("Hallo lieber user von GreenLight2!")
say("Ich bin ein Händler,")
say("Ich brauche Perlen für meine Oma")
say("Gegen ein paar Perlen kann ich dir Wertvolles EQ anbieten")
say("Falls du etwas hast bitte ich dich darum es bei")
say("mir einzutauschen und das wenn möglich zügig...")
say("Viele meiner Freunde behaupten ich sei ein Spinner,")
say("weil ich mich mit Perlen")
say("beschäftige aber ein wahrer Mann steht zu seinen")
say("vorlieben. Wenn du nun was eintschauen möchtest....,")
wait()
say("Ich habe noch ein paar Dinge zu erledigen")
say("deswegen Entscheide dich bitte schnell.")
say("Du kannst desöfteren zu mir um deine Sachen")
say("einzutauschen denn das würde mich sehr freuen,")
say("da ich ein sehr erfreuter Perlen Händler bin.")
say("")
say("")
say("")
say("")
wait()
say("Also was möchtest du tauschen für 5 Weiße Perlen?")
obj_item = 27992
items = { 479, 1349, 2379, 5349, 469, 12019, 12029, 12039, 12049, 11971, 11972, 11973, 11974, 12289, 12549, 11973, 12689, 13069, 13089, 13109, 13129, 17209, 16209, 14209, 15379, 15399, 15419, 15439 }
namen = {}
for i=1, table.getn(items), 1 do
table.insert(namen, item_name(items[i]))
end
s = select3(namen)
if s<1 then return end
if pc.count_item(obj_item) >= 5 then
pc.remove_item(obj_item, 5)
pc.give_item2(items[s], 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward(namen[s])
else
return
end
end
end
end
alle schon und gut gemacht aber der fehler ist trotzdem noch da helft mir bitte
|
|
|
01/16/2015, 22:40
|
#10852
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Kann mir jemand sagen warum
PHP Code:
say("Test ".. say_reward("Test Reward") .."")
nicht funktioniert ... ? x.x
|
|
|
01/17/2015, 12:07
|
#10853
|
elite*gold: 14
Join Date: May 2013
Posts: 4,288
Received Thanks: 1,479
|
Es geht primär um die ersten Paar Zeilen, bitte nicht von der Länge der Quest abschrecken lassen
Wenn man auf die Schriftrolle klickt, passiert gar nichts mehr, gestern ging es aber noch (kann leider nicht sagen, was verändert wurde)
Edit: Die Tabs werden hier irgendwie nicht richtig angezeigt, ich hab sie aber soweit richtig gesetzt.
Code:
quest quest_eins begin
state start begin
when login with pc.level >= 1 begin
notice_all("Wir begrüßen "..pc.get_name().." !")
set_state(information)
end
end
state information begin
when letter begin
send_letter("********** sagt Hallo!")
end
when info or button begin
setbgimage('level_bg.tga')
say_title(" Herzlich Willkommen "..pc.get_name().." !" )
say("")
say(" Wir wünschen dir viel Spaß")
say(" auf dem Server.")
say(" Um deine Ausrüstung zu bekommen,")
say(" beantworte zuerst diese Frage!")
say("")
say(" Bitte wähle deine Bestimmung:") --1: Krieger (Main, Farmer, r) --2: Ninja: (Ferni, Nah,r) --3: Schami: (Main, Buff, r) --4: Sura: (Main, Farmer, r)
if pc.get_job() == 0 then
local s = select("Main","Farmer","Lager","Verkauf")
if s == 1 then
clear_letter()
setbgimage('level_bg.tga')
say(" Soso... Du bist also Main.")
say(" Nun dann wünschen")
say(" wir dir viel Glück")
say(" auf deinem Weg nach ganz oben!")
say("")
say(" Du erhielst:")
say_red(" - Ausrüstung +9")
say_red(" - Kampfgaul, Anfänger-Pet")
say_red(" - Warpring, Lagertruhe")
say_red(" - und ein paar Tränke")
--pc.give_item2()
--pc.give_item2()
--pc.give_item2()
set_state(krieger_main)
elseif s == 2 then
clear_letter()
say("Soso... Du bist also nur ein Farmer.")
say("Nun dann wünschen wir die viel Spaß beim Farmen!")
say("")
say("Du erhielst:")
say_red(" - Ausrüstung +9")
say_red(" - Kampfgaul, Anfänger PvM-Pet")
say_red(" - Warpring, Lagertruhe")
say_red(" - und ein paar Tränke")
--pc.give_item2()
--pc.give_item2()
--pc.give_item2()
set_state(krieger_farm)
elseif s == 3 then
clear_letter()
say("Soso... Du dienst also nur dem Verkauf.")
say("Nun dann wünschen wir die viel Spaß beim Verkaufen!")
say("")
say("Du erhielst:")
say_red(" - Seidenbündel (perm.)")
say_red(" - Warpring")
--pc.give_item2()
--pc.give_item2()
--pc.give_item2()
set_state(sell)
elseif s == 4 then
clear_letter()
say("Soso... Du bist also nur zum Lagern da.")
say("Na dann, viel Erfolg beim Lagern!")
say("Möchtest du einen Warpring?")
say("")
local s = select("Ja","Nein")
if s == 1 then
say_red("Hier ist dein Warpring!")
--pc.give_item2()
set_state(lager)
elseif s == 2 then
say_red("Du hast erhielst nichts")
set_state(lager)
end
end
elseif pc.get_job() == 1 then -----------------------NINJA-----------------------
local s = select("Main","Farmer","Lager","Verkauf")
if s == 1 then
clear_letter()
say("Soso... Du bist also Main.")
say("Nun dann wünschen wir die viel Glück")
say("auf deinem Weg nach ganz oben!")
say("")
say("Möchtest du einen Dolch oder einen Bogen?")
say("")
local s = select("Dolch","Bogen")
if s == 1 then
say("Du erhielst:")
say_red(" - Ausrüstung +9")
say_red(" - Kampfgaul, Anfänger-Pet")
say_red(" - Warpring, Lagertruhe")
say_red(" - und ein paar Tränke")
set_state(ninja_main_dolch)
--pc.give_item2()
elseif s == 2 then
say("Du erhielst:")
say_red(" - Ausrüstung +9")
say_red(" - Kampfgaul, Anfänger-Pet")
say_red(" - Warpring, Lagertruhe")
say_red(" - und ein paar Tränke")
set_state(ninja_main_bogen)
--pc.give_item2()
end
elseif s == 2 then
say("Soso... Du bist also nur ein Farmer.")
say("Nun dann wünschen wir die viel Spaß beim Farmen!")
say("")
say("")
say("Möchtest du einen Dolch oder einen Bogen?")
say("")
local s = select("Dolch","Bogen")
if s == 1 then
say("Du erhielst:")
say_red(" - Ausrüstung +9")
say_red(" - Kampfgaul, Anfänger PvM-Pet")
say_red(" - Warpring, Lagertruhe")
say_red(" - und ein paar Tränke")
set_state(ninja_farm_dolch)
--pc.give_item2()
elseif s == 2 then
say("Du erhielst:")
say_red(" - Ausrüstung +9")
say_red(" - Kampfgaul, Anfänger PvM-Pet")
say_red(" - Warpring, Lagertruhe")
say_red(" - und ein paar Tränke")
set_state(ninja_farm_bogen)
--pc.give_item2()
end
elseif s == 3 then
clear_letter()
say("Soso... Du dienst also nur dem Verkauf.")
say("Nun dann wünschen wir die viel Spaß beim Verkaufen!")
say("")
say("Du erhielst:")
say_red(" - Seidenbündel (perm.)")
say_red(" - Warpring")
--pc.give_item2()
--pc.give_item2()
--pc.give_item2()
set_state(sell)
elseif s == 4 then
clear_letter()
say("Soso... Du bist also nur zum Lagern da.")
say("Na dann, viel Erfolg beim Lagern!")
say("Möchtest du einen Warpring?")
say("")
local s = select("Ja","Nein")
if s == 1 then
say_red("Hier ist dein Warpring!")
--pc.give_item2()
set_state(lager)
elseif s == 2 then
say_red("Du hast erhielst nichts")
set_state(lager)
end
end
elseif pc.get_job() == 2 then -----------------------SURA-----------------------
local s = select("Main","Farmer","Lager","Verkauf")
if s == 1 then
clear_letter()
say("Soso... Du bist also Main.")
say("Nun dann wünschen wir die viel Glück")
say("auf deinem Weg nach ganz oben!")
say("")
say("Du erhielst:")
say_red(" - Ausrüstung +9")
say_red(" - Kampfgaul, Anfänger-Pet")
say_red(" - Warpring, Lagertruhe")
say_red(" - und ein paar Tränke")
--pc.give_item2()
--pc.give_item2()
--pc.give_item2()
set_state(sura_main)
elseif s == 2 then
clear_letter()
say("Soso... Du bist also nur ein Farmer.")
say("Nun dann wünschen wir die viel Spaß beim Farmen!")
say("")
say("Du erhielst:")
say_red(" - Ausrüstung +9")
say_red(" - Kampfgaul, Anfänger PvM-Pet")
say_red(" - Warpring, Lagertruhe")
say_red(" - und ein paar Tränke")
--pc.give_item2()
--pc.give_item2()
--pc.give_item2()
set_state(sura_farm)
elseif s == 3 then
clear_letter()
say("Soso... Du dienst also nur dem Verkauf.")
say("Nun dann wünschen wir die viel Spaß beim Verkaufen!")
say("")
say("Du erhielst:")
say_red(" - Seidenbündel (perm.)")
say_red(" - Warpring")
--pc.give_item2()
--pc.give_item2()
--pc.give_item2()
set_state(sell)
elseif s == 4 then
clear_letter()
say("Soso... Du bist also nur zum Lagern da.")
say("Na dann, viel Erfolg beim Lagern!")
say("Möchtest du einen Warpring?")
say("")
local s = select("Ja","Nein")
if s == 1 then
say_red("Hier ist dein Warpring!")
--pc.give_item2()
set_state(lager)
elseif s == 2 then
say_red("Du hast erhielst nichts")
set_state(lager)
end
end
elseif pc.get_job() == 3 then -----------------------SCHAMI-----------------------
local s = select("Main","Buff","Lager","Verkauf")
if s == 1 then
clear_letter()
say("Soso... Du bist also Main.")
say("Nun dann wünschen wir die viel Glück")
say("auf deinem Weg nach ganz oben!")
say("")
say("Möchtest du eine Glocke oder ein Fächer?")
say("")
local s = select("Glocke","Fächer")
if s == 1 then
say("Du erhielst:")
say_red(" - Ausrüstung +9")
say_red(" - Kampfgaul, Anfänger-Pet")
say_red(" - Warpring, Lagertruhe")
say_red(" - und ein paar Tränke")
--pc.give_item2()
--pc.give_item2()
--pc.give_item2()
set_state(schami_main_glocke)
elseif s == 2 then
say("Du erhielst:")
say_red(" - Ausrüstung +9")
say_red(" - Kampfgaul, Anfänger-Pet")
say_red(" - Warpring, Lagertruhe")
say_red(" - und ein paar Tränke")
--pc.give_item2()
--pc.give_item2()
--pc.give_item2()
set_state(schami_main_faecher)
end
elseif s == 2 then
clear_letter()
say("Soso... Du bist also nur ein/e Buff.")
say("Nun dann wünschen wir die viel Spaß beim Buffen!")
say("")
say("Du erhielst:")
say_red(" - Buff-Ausrüstung +9")
say_red(" - und ein paar Tränke")
--pc.give_item2()
--pc.give_item2()
--pc.give_item2()
set_state(buff)
elseif s == 3 then
clear_letter()
say("Soso... Du dienst also nur dem Verkauf.")
say("Nun dann wünschen wir die viel Spaß beim Verkaufen!")
say("")
say("Du erhielst:")
say_red(" - Seidenbündel (perm.)")
say_red(" - Warpring")
--pc.give_item2()
--pc.give_item2()
--pc.give_item2()
set_state(sell)
elseif s == 4 then
clear_letter()
say("Soso... Du bist also nur zum Lagern da.")
say("Na dann, viel Erfolg beim Lagern!")
say("Möchtest du einen Warpring?")
say("")
local s = select("Ja","Nein")
if s == 1 then
say_red("Hier ist dein Warpring!")
--pc.give_item2()
set_state(lager)
elseif s == 2 then
say_red("Du hast erhielst nichts")
set_state(lager)
end
end
end
end
end
state krieger_main begin
end
state krieger_farm begin
end
state ninja_main_dolch begin
end
state ninja_farm_dolch begin
end
state ninja_main_bogen begin
end
state ninja_farm_bogen begin
end
state sura_main begin
end
state sura_farm begin
end
state schami_main_glocke begin
end
state schami_main_faecher begin
end
state buff begin
end
state lager begin
end
state sell begin
end
end
----
Quote:
Originally Posted by [Sensenmann]
Kann mir jemand sagen warum
PHP Code:
say("Test ".. say_reward("Test Reward") .."")
nicht funktioniert ... ? x.x
|
Versuchs mit
PHP Code:
say("Test ".. say_reward ..("Test Reward")"")
|
|
|
01/17/2015, 14:14
|
#10854
|
elite*gold: 0
Join Date: Jan 2012
Posts: 195
Received Thanks: 19
|
Quest Fehler
Habe mir mal ne Quest ei epvp gesucht und sie bissl abgeändert nach meine wünschen und jetzt spackt sie rum und
bei sh make.sh kommt :
tausch.quest:2:must start with ´quest´
Error occured on compile tausch.quest
tausch.quest
quest tausch begin
state start begin
when 9010.chat."Eintauschen" begin
say_title("Eintauschen")
say("Hallo lieber user von GreenLight2!")
say("Ich bin ein Händler,")
say("Ich brauche Perlen für meine Oma")
say("Gegen ein paar Perlen kann ich dir Wertvolles EQ anbieten")
say("Falls du etwas hast bitte ich dich darum es bei")
say("mir einzutauschen und das wenn möglich zügig...")
say("Viele meiner Freunde behaupten ich sei ein Spinner,")
say("weil ich mich mit Perlen")
say("beschäftige aber ein wahrer Mann steht zu seinen")
say("vorlieben. Wenn du nun was eintschauen möchtest....,")
wait()
say("Ich habe noch ein paar Dinge zu erledigen")
say("deswegen Entscheide dich bitte schnell.")
say("Du kannst desöfteren zu mir um deine Sachen")
say("einzutauschen denn das würde mich sehr freuen,")
say("da ich ein sehr erfreuter Perlen Händler bin.")
say("")
say("")
say("")
say("")
wait()
say("Also was möchtest du tauschen für 5 Weiße Perlen?")
local v = select ("Drachenzahnklinge", "Fünf-Elemte-Klinge", "Phönix-Bogen", "Drachen-Geistglocke", "Runen-Sword", "Weiter Blaue Perle x5")
if v == 1 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(479, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Drachenzahnklinge")
else
return
end
elseif v == 2 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(1349, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Fünf-Elemte-Klinge")
else
return
end
elseif v == 3 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(2379, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Phönix-Bogen")
else
return
end
elseif v == 4 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(5349, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Drachen-Geistglocke")
else
return
end
elseif v == 5 then
if pc.count_item(27992, 5) >= 1 then
pc.remove_item(27992, 5)
pc.give_item2(469, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Runen-Sword")
else
return
end
elseif v == 6 then
local a = select ("Blauerdrachenanzug", "Kleidung des Drachen", "Auraplattenpanzer", "Blaustahl-Panzer", "Weiter Blaue Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12019, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Blauerdrachenanzug")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12029, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Kleidung des Drachen")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12039, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Auraplattenpanzer")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12049, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Blaustahl-Panzer")
else
return
end
elseif v == 5 then
local a = select ("Krieger-King", "Ninja-King", "Sura-King", "Shamane-King", "Weiter Blauen Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11971, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Krieger-King")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11972, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Ninja-King")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11973, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Sura-King")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11974, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Shamane-King")
else
return
end
elseif a == 5 then
local a = select ("Kriegsmeister-Helm", "Spinnen-Kapuze", "Magischer-Helm", "Seelensplitter-Hut", "Weiter Blauen Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12289, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Kriegsmeister-Helm")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12549, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Spinnen-Kapuze")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(11973, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Magischer-Helm")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(12689, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Seelensplitter-Hut")
else
return
end
elseif a == 5 then
local a = select ("Falkenschild", "Tiegerschild", "Löwenkantenschild", "Drachenschuppenschild", "Weiter Blutroten Perlen x5")
if a == 1 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13069, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Falkenschild")
else
return
end
elseif a == 2 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13089, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Tiegerschild")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13109, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Löwenkantenschild")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(13129, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Drachenschuppenschild")
else
return
end
elseif a == 5 then
local a = select ("HTO", "HTH", "HTA", "Euphorieschuhe", "Glorienstiefel", "Qilinschuhe", "Eisvogelschuhe", "zurück")
if a == 1 then
if pc.count_item(27994, 5) >= 1 then
pc.remove_item(27994, 5)
pc.give_item2(17209, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("HTO")
else
return
end
elseif a == 2 then
if pc.count_item(27994, 5) >= 1 then
pc.remove_item(27994, 5)
pc.give_item2(16209, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("HTH")
else
return
end
elseif a == 3 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(14209, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("HTA")
else
return
end
elseif a == 4 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15379, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Euphorieschuhe")
else
return
end
elseif a == 5 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15399, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Glorienstiefel")
else
return
end
elseif a == 6 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15419, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Qilinschuhe")
else
return
end
elseif a == 7 then
if pc.count_item(27993, 5) >= 1 then
pc.remove_item(27993, 5)
pc.give_item2(15439, 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward("Eisvogelschuhe")
else
return
end
elseif a == 8 then
else
return
end
end
end
end
end
dazu habe ich von einen user denn tipp bekommen
:Füg diese Funktion in der questlib.lua hinzu und in die quest_functions schreibste select3
function select3(...)
arg.n = nil
local tp,max = arg,5
if type(tp[1]) == 'number' then
max = tp[1]
if type(tp[2]) == 'table' then
tp = tp[2]
else
table.remove(tp,1)
end
elseif type(tp[1]) == 'table' then
tp = tp[1]
end
local str = '{'
local tablen,act,incit = table.getn(tp),0,0
table.foreach(tp,function(i,l)
act = act + 1
if act == 1 then
str = str .. '{'..string.format('%q',l)
elseif act == max+1 and tablen > act+incit then
if tablen ~= act+incit+1 then
str = str..'},{'..string.format('%q',l)
else
str=str..','..string.format('%q',l)
end
incit = incit + max
act = 1
else
str=str..','..string.format('%q',l)
end
end)
local px = loadstring('return '..str ..'}}')()
local function copy_tab(t) local p= {} for i = 1,table.getn(t) do p[i] = t[i] end return p end
local pe = {}
for i = 1,table.getn(px) do pe [i] = copy_tab(px[i]) end
local function init(i,ip)
pe[i] = copy_tab(px[i])
local next,back,exit = 0,0,0
if i < table.getn(pe) and table.getn(pe) ~=1 then table.insert(pe[i],table.getn(pe[i])+1,'Weiter zu Seite '..(i+1)); next = table.getn(pe[i]) end
if i > 1 then table.insert(pe[i],table.getn(pe[i])+1,'Zurück zu Seite '..(i-1)); back = table.getn(pe[i]) end
table.insert(pe[i],table.getn(pe[i])+1,'Schließen'); exit = table.getn(pe[i])
if table.getn(pe) > 1 then
say('Seite '..i..' von '..table.getn(pe))
end
local e = select_table(pe[i])
if e == next then return init(i+1,ip+max)
elseif e == back then return init(i-1,ip-max)
elseif e == exit then return -1
else return e+ip,pe[i][e] end
end
return init(1,0) or -1
end
dazu noch deine Quest:
quest tausch begin
state start begin
when 9010.chat."Eintauschen" begin
say_title("Eintauschen")
say("Hallo lieber user von GreenLight2!")
say("Ich bin ein Händler,")
say("Ich brauche Perlen für meine Oma")
say("Gegen ein paar Perlen kann ich dir Wertvolles EQ anbieten")
say("Falls du etwas hast bitte ich dich darum es bei")
say("mir einzutauschen und das wenn möglich zügig...")
say("Viele meiner Freunde behaupten ich sei ein Spinner,")
say("weil ich mich mit Perlen")
say("beschäftige aber ein wahrer Mann steht zu seinen")
say("vorlieben. Wenn du nun was eintschauen möchtest....,")
wait()
say("Ich habe noch ein paar Dinge zu erledigen")
say("deswegen Entscheide dich bitte schnell.")
say("Du kannst desöfteren zu mir um deine Sachen")
say("einzutauschen denn das würde mich sehr freuen,")
say("da ich ein sehr erfreuter Perlen Händler bin.")
say("")
say("")
say("")
say("")
wait()
say("Also was möchtest du tauschen für 5 Weiße Perlen?")
obj_item = 27992
items = { 479, 1349, 2379, 5349, 469, 12019, 12029, 12039, 12049, 11971, 11972, 11973, 11974, 12289, 12549, 11973, 12689, 13069, 13089, 13109, 13129, 17209, 16209, 14209, 15379, 15399, 15419, 15439 }
namen = {}
for i=1, table.getn(items), 1 do
table.insert(namen, item_name(items[i]))
end
s = select3(namen)
if s<1 then return end
if pc.count_item(obj_item) >= 5 then
pc.remove_item(obj_item, 5)
pc.give_item2(items[s], 1)
say("Ich freue mich das wir ein Geschäft")
say("machen konnten. Lass dich mal wieder")
say("bei mir blicken falls du etwas")
say("eintauschen möchtest")
say("")
say("")
say_reward(namen[s])
else
return
end
end
end
end
alle schon und gut gemacht aber der fehler ist trotzdem noch da helft mir bitte
|
|
|
01/18/2015, 01:28
|
#10855
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by .ɦype
Versuchs mit
PHP Code:
say("Test ".. say_reward ..("Test Reward")"")
|
nope geht auch nicht ... hab auch keinen fehler beim compilen sondern es wird nur nicht richtig angezeigt ..^^
|
|
|
01/18/2015, 03:04
|
#10856
|
elite*gold: 15
Join Date: Sep 2010
Posts: 844
Received Thanks: 975
|
say_reward() funktioniert wie die say() funktion, es wird ledigtlich eine andere farbe verwendet, daher kommt bei sogesehen say(say('x')) natürlich nichts raus
die anwendung dieses befehls taucht oft in ymir quests wie zb in bioquests auf deshalb bin ich gerade etwas verwundert, dass das nicht allen bekannt war
lg
|
|
|
01/18/2015, 03:12
|
#10857
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by Sp0ngeb0b ist cool
say_reward() funktioniert wie die say() funktion, es wird ledigtlich eine andere farbe verwendet, daher kommt bei sogesehen say(say('x')) natürlich nichts raus
die anwendung dieses befehls taucht oft in ymir quests wie zb in bioquests auf deshalb bin ich gerade etwas verwundert, dass das nicht allen bekannt war
lg
|
Habs auch so probiert:
PHP Code:
say("Test "color256(255, 200, 200).."Test Reward"..color256(196, 196, 196)" ayo Test")
bekomme da aber einen Fehler beim Compilen
EDIT:
Habe jetzt mal eine neue Questfunktion erstellt:
PHP Code:
function say_with_reward(name1, reward, name2) say(name1..color256(255, 200, 200)..reward..color256(196, 196, 196)..name2) end
und in der Quest so geschrieben:
PHP Code:
say_with_reward("Normal ", "Reward", " Normal")
Und dabei kommt das raus:
Was hab ich falsch gemacht ... ?
EDIT²:
Wenn das Questfenster öffnet ist es gaaaaanz kurz in der Reward-Farbe
|
|
|
01/18/2015, 15:08
|
#10858
|
elite*gold: 0
Join Date: Oct 2011
Posts: 93
Received Thanks: 0
|
|
|
|
01/18/2015, 19:04
|
#10859
|
elite*gold: 0
Join Date: Jan 2015
Posts: 106
Received Thanks: 52
|
Quote:
Originally Posted by [Sensenmann]
Habs auch so probiert:
PHP Code:
say("Test "color256(255, 200, 200).."Test Reward"..color256(196, 196, 196)" ayo Test")
bekomme da aber einen Fehler beim Compilen
EDIT:
Habe jetzt mal eine neue Questfunktion erstellt:
PHP Code:
function say_with_reward(name1, reward, name2) say(name1..color256(255, 200, 200)..reward..color256(196, 196, 196)..name2) end
und in der Quest so geschrieben:
PHP Code:
say_with_reward("Normal ", "Reward", " Normal")
Und dabei kommt das raus:
Was hab ich falsch gemacht ... ?
EDIT²:
Wenn das Questfenster öffnet ist es gaaaaanz kurz in der Reward-Farbe
|
Code:
say("Test "..color256(255, 200, 200).."Test Reward"..color256(196, 196, 196).." ayo Test")
|
|
|
01/18/2015, 19:12
|
#10860
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by 'Mahone
Code:
say("Test "..color256(255, 200, 200).."Test Reward"..color256(196, 196, 196).." ayo Test")
|
Funktioniert auch nicht ...
Ist 1:1 das gleiche wie in der Funktion ^^
|
|
|
All times are GMT +2. The time now is 20:23.
|
|