PeloQ deine geht nicht
quest kill_test begin
state start begin
when kill with npc.is_pc() begin
local vid = npc.get_vid()
chat("<Development> VID: "..vid)
local old_pc = pc.select(vid)
if old_pc != 0 then
chat("<Development> Player ID: "..pc.get_player_id())
pc.select(old_pc)
end
end
end
end
SYSERR: Nov 25 14:35:46 :: RunState: LUA_ERROR: [string "kill_test"]:1: attempt to call field `get_vid' (a nil value) SYSERR: Nov 25 14:35:46 :: WriteRunningStateToSyserr: LUA_ERROR: quest kill_test.start click
Ich will auch so wie der Despero das dieQuote:
Ich habe eben mal Mijagos Ranglist Quest per Letter gemacht.. aber [GM] [SA]´s usw werden alle mit eingetragen .. :(
PHP Code:quest ingamerank15 begin
state start begin
when login begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Top 15 Rangliste by Mijago")
end
when button or info begin
say_title("Top 15 Rangliste")
local sel = select("Global","Rotes Reich","Gelbes Reich","Blaues Reich","Abbruch")
local pp
if sel == 5 then
return
elseif sel == 1 then
pp = mysql_query("select name,level from player.player ORDER BY level desc,exp desc,name asc LIMIT 15")
else
pp = mysql_query("select name,level from player.player where (SELECT empire from player.player_index where player.account_id =id) = "..(sel-1).." ORDER BY level desc,exp desc,name asc LIMIT 15")
end
if pp == nil or (pp[1] or {})[1] == nil then
say("Es gab einen Fehler.")
return
end
say("Rang - Name - Level")
table.foreachi(pp,function(i,l)
say(i.." - "..l[1].." - "..l[2])
end)
end
end
end
Hast du den quest Befehl (npc.get_vid()) auch richtig in die Game gepatcht?Quote:
Eigentlich kann ich recht gut questen, jedoch unterläuft mir scheinbar hier ein Fehler:Fehler (syserr -> Channel1):PHP Code:quest kill_test begin
state start begin
when kill with npc.is_pc() begin
local vid = npc.get_vid()
chat("<Development> VID: "..vid)
local old_pc = pc.select(vid)
if old_pc != 0 then
chat("<Development> Player ID: "..pc.get_player_id())
pc.select(old_pc)
end
end
end
end
Wer kann helfen? :oCode:SYSERR: Nov 25 14:35:46 :: RunState: LUA_ERROR: [string "kill_test"]:1: attempt to call field `get_vid' (a nil value) SYSERR: Nov 25 14:35:46 :: WriteRunningStateToSyserr: LUA_ERROR: quest kill_test.start click
MfG
Dann musst du den Query anpassen, bspw:Quote:
Ich will auch so wie der Despero das die
[GM]S usw nicht angezeigt werden .
#push
quest item_drop begin
state start begin
when 20095.chat."Item_Drop" with pc.is_gm() begin
say("Der Laden ist aus sicherheit")
say("Passwort Geschützt")
say("Wenn du das Richtige Passwort hast,")
say("dann kannst du den Laden Benutzen.")
local y = input()
if y == "12345" then
if game.get_event_flag("item_open") == 0 then
say("Hallo "..pc.get_name().." hier kannst")
say("ein Item Drop Event starten")
say("Willst du das tun?")
if select("Ja","Nein") == 2 then return end
say("Bitte gib an welches Item gedroppt werden soll.")
kill_item = tonumber(input()) or 0
if kill_item == 0 then
say("Du musst schon was eingeben.")
return
end
say("Gibt bitte ein wie die Chance zu 100 sein soll das es gedroppt wird ?")
kill_prozent = tonumber(input()) or 0
if kill_prozent == 0 then
say("Du musst schon was eingeben")
return
end
say("Bitte gib an wie lange Das Event laufen soll ( in Minuten ) ")
zeit = tonumber(input()) or 0
if zeit == 0 then
say("Falsche eingabe")
return
end
game.set_event_flag("item_time", get_time()+zeit*60)
game.set_event_flag("item_open", 1)
notice_all("Das Item Drop Event wurde gestartet")
notice_all("Man kann das item "..item_name(kill_item).." von allen Monster droppen.")
notice_all("Für "..zeit.." Minute(n)")
else
say("Item Drop Event ist derzeit schon aktiv")
say("Beenden?")
if select("Ja", "Nein")==2 then return end
game.set_event_flag("item_open", 0)
kill_prozent, kill_item = nil, nil
end
end
when kill with game.get_event_flag("item_open") == 1 and not npc.is_pc() begin
if kill_prozent == nil then game.set_event_flag("item_open", 0) return end
if game.get_event_flag("item_time") < get_time() then
notice_all("Das Item Drop Event ist vorbei")
notice_all("Wir hoffen ihr hattet euren Spaß beim Farmen.")
notice_all("Euer UniversalMt2-Team.")
game.set_event_flag("item_open", 0)
kill_prozent, kill_item = nil, nil
return
end
local s=number(1, 101-kill_prozent)
if s==1 then
game.drop_item_with_ownership(kill_item, 1)
end
end
when login with game.get_event_flag("item_open") == 1 begin
notice("Das Item Drop Event laeuft du kannst das")
notice("Item "..item_name(kill_item).." von allen Monstern droppen")
say("Richtiges Passwort")
else
say("Falsches Passwort")
end
else
return
else
end
end
end
end
quest spielminuten_rangliste begin
state start begin
when 9003.chat."Spielminuten Rangliste" begin
say_title("Spielminuten Rangliste")
pp = mysql_query("select name,playtime from player.player ORDER BY playtime desc,level desc,name asc")
if pp == nil or (pp[1] or {})[1] == nil then
say("Es gab einen Fehler.")
return
end
say("Rang - Name - Spielminuten")
table.foreachi(pp,function(i,l)
say(i.." - "..l[1].." - "..l[2])
end)
end
when login or levelup begin
local zeit = mysql_query("select playtime from play.player")
end
when login or levelup with zeit >= 100 begin
say_title("Blaaaa")
say("bla")
say("bla")
say("bla")
say("bla")
say("bla")
say("bla")
say("")
say_reward("Belohnung")
pc.give_item2(19, 1)
set_state("go")
end
end
state go begin
when login or levelup with zeit >= 200 begin
say_title("Blaaaa")
say("bla")
say("bla")
say("bla")
say("bla")
say("bla")
say("bla")
say("")
say_reward("Belohnung")
pc.give_item2(19, 1)
set_state("go1")
end
end
state go1 begin
when login or levelup with zeit >= 300 begin
say_title("Blaaaa")
say("bla")
say("bla")
say("bla")
say("bla")
say("bla")
say("bla")
say("")
say_reward("Belohnung")
pc.give_item2(19, 1)
set_state("go2")
end
end
state go2 begin
end
end
when 71118.use begin
if pc.get_level() >=35 then
chat("Du hast nun einen Weißen Löwen als Reittier!")
chat("Dein Angriff und deine Verteidigung steigen um 200 Punkte!")
affect.remove_collect()
pc.mount(20114, 200000)
pc.mount_bonus(apply.ATT_GRADE_BONUS,200,200000)
pc.mount_bonus(apply.DEF_GRADE_BONUS,200,200000)
end
end
quest vipname begin
state start begin
when 70021.use begin
say_title("Hallo "..pc.get_name().."!")
say("Mit diesem Item kannst du den (PU) Status aktivieren.")
say("")
say("")
say("Möchtest du?")
say(pc.get_name(), " -----------> (PU)", pc.get_name())
local aw = select("Ja", "Nein")
if aw == 2 then
say("Ok, trotzdem noch viel Spaß auf dem Server.")
end
zahl = string.len(pc.get_name())
if aw == 1 and zahl <= 7 then
mysql_query("UPDATE player.player SET name='[PU]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
say_title("Erfolgreich!")
say("Herzlichen Glückwunsch, du bist nun PU auf")
say("Servername!")
say("")
say("")
say("Info")
say_reward("Die Änderung des (PU) kann 10-20 Minuten dauern.")
notice_all(pc.get_name()," ist nun PU auf Servername")
elseif zahl > 7 then
say_title("Dein Name!")
say("Dein Name ist zu lang. Du hast ", zahl, ".")
say("Er darf nicht mehr als 7 Buchstaben haben.")
say("Es könnte sonst zum verschlingen von Buchtstaben")
say("kommen, z.B. Apfelsaftx3 --> (PU)Apfelsaft")
say("")
say("")
say_reward("Möchtest du ihn ändern um PU zuwerden?")
local a = select("Ja", "Nein")
if a == 2 then
return
end
say_title("Name wechseln")
say("Gib bitte deinen Wunschnamen ein:")
say_reward("Beachte! Nicht mehr als 7 Buchstaben.")
local inp = input()
if string.len(inp) > 7 or inp == "" then
say("Dein neuer Name hat mehr als 7 Buchstaben.")
say("Tut mir echt leid. Es sind ", string.len(inp), ".")
return
else
say_title("Ok")
say("Dein Name erfüllt alle Voraussetzungen.")
say("")
say("Letzter Check, möchtest du wirklich mit dem")
say("Namen (PU)", inp," dein pu status aktivieren?")
local b = select("Ja", "Nein")
if b == 2 then
say("Ok, trotzdem noch viel Spaß auf dem Server.")
else
mysql_query("UPDATE player.player SET name='[PU]"..inp.."' WHERE name='"..pc.get_name().."'")
say_title("Erfolgreich!")
say("Herzlichen Glückwunsch, du bist nun PU auf")
say("Servername!")
say("")
say("")
say("Info")
say_reward("Die Änderung des (PU) kann 10-20 Minuten dauern.")
notice_all(inp," ist nun PU auf Servername")
end
end
end
end
end
end
quest bio begin
state start begin
when pc.get_level()>=30 begin
say_title("Eine wichtige Entscheidung")
say("Hallo "..pc.get_name()..",")
say("Du hast Level 30 erreicht.")
say("Du musst dich jetzt für den weiteren Verlauf")
say("deiner Ausbildung entscheiden. Du kannst zwischen")
say("zwei Bereichen wählen.")
say("Entweder entscheidest du dich dafür, im Kampf")
say("gegen starke Monster besser zu werden,")
say("oder andere Spieler in die Knie zu zwingen.")
say("Entscheide dich jetzt!")
local aw = select("PVM", "PVP")
if aw == 2 then
say("Du hast dich für die Ausbildung gegen Monster")
say("entschieden!")
begin
--- Hier kommt PVM BIO rein?! ---
if aw == 1 then
say("Du hast dich für die Ausbildung gegen Spieler")
say("entschieden!")
begin
--- Hier kommt PVP BIO rein?! ---
quest bio begin
state start begin
when login or levelup with pc.get_level() >=30 begin
say_title("Eine wichtige Entscheidung")
say("Hallo "..pc.get_name()..",")
say("Du hast Level 30 erreicht.")
say("Du musst dich jetzt für den weiteren Verlauf")
say("deiner Ausbildung entscheiden. Du kannst zwischen")
say("zwei Bereichen wählen.")
say("Entweder entscheidest du dich dafür, im Kampf")
say("gegen starke Monster besser zu werden,")
say("oder andere Spieler in die Knie zu zwingen.")
say("Entscheide dich jetzt!")
local aw = select("PVM", "PVP")
if aw == 2 then
say("Du hast dich für die Ausbildung gegen Monster")
say("entschieden!")
set_state("pvm")
send_letter("PVM")
end
--- Hier kommt PVM BIO rein?! ---
if aw == 1 then
say("Du hast dich für die Ausbildung gegen Spieler")
say("entschieden!")
set_state("pvp")
send_letter("pvp")
end
--- Hier kommt PVP BIO rein?! ---
end
end
state pvm begin
when button or info begin
say_title("Test")
say("Test")
say("Test")
end
end
state pvp begin
when button or info begin
say_title("Test")
say("Test")
say("Test")
end
end
end
quest gunluksaat begin
state start begin
when login with pc.is_gm() begin
send_letter("GM:Saat ayari")
end
when button or info begin
say_title("Saati giriniz.")
local saat = input()
game.set_event_flag(saatimiz, saat)
say_title("Dakikayı giriniz.")
local dakika = input()
game.set_event_flag(dakikamiz, dakika )
server_loop_timer("sayac",60)
end
when sayac.server_timer begin
game.set_event_flag(dakikamiz, dakikamiz +1 )
end
when login or levelup or logout with game.get_event_flag("dakikamiz") == 60 begin
game.set_event_flag(saatimiz, saatimiz +1 )
game.set_event_flag(dakikamiz, 0 )
end
when login or levelup or logout with game.get_event_flag("saatimiz") == 24 begin
game.set_event_flag(saatimiz, 0 )
end
when 20087.chat."Saat kaç?" begin
say_title("Merhaba")
say("Saat şuan "..game.set_event_flag(saatimiz, saatimiz)..":"..game.set_event_flag(dakikamiz, dakikamiz).."")
end
end
end
quest Magiestein begin
state start begin
when blacksmith.chat."Magischer Stein" begin
say_title("Magischer Stein")
say("Hallo! Wenn du willst das ich dir")
say("einen Magischen Stein herstellen")
say("soll, bringe mir bitte einen")
say("Regenbogenstein, und eine")
say("Segenschriftrolle!")
say("")
say_title("Soll ich dir einen herstellen?")
local s = select("Ja", "Nein")
if s == 1 then
if pc.count_item(25040) >= 1 and if pc.count_item(50512) >= 1 then
pc.remove_item(25040, 1)
pc.remove_item(50512, 1)
pc.give_item2(39001, 1)
say_title("Magischer Stein")
say("Ich habe den Stein erfolgreich")
say("hergestellt! Viel Spaß damit!")
say_reward(" Du hast einen Magischen Stein erhalten!")
end
end
if pc.count_item(25040) < 0
say_title("Magischer Stein")
say("Du hast keine Segenschriftrolle!")
say("")
end
end
if pc.count_item(50512) < 0
say_title("Magischer Stein")
say("Du hast keinen Regenbogenstein!")
say("")
end
end
end
end
end
end