|
You last visited: Today at 12:26
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
05/25/2016, 20:12
|
#12331
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
Quote:
Originally Posted by αи∂ιι
1. danke hab ich übersehen^^
2. nein soll so sein
3. Leider nicht:c
Der Error der kommt ist:
Eigene/ruestungshandler.quest:56:assertion failure : nested==0
Error occured on compile Eigene/ruestungshandler.quest
Edit habs:
quest ruestungshandler2 begin
state start begin
when 9002.chat."Krieger" begin
npc.open_shop(4)
setskin(NOWINDOW)
end
when 9002.chat."Ninja" begin
npc.open_shop(50)
setskin(NOWINDOW)
end
when 9002.chat."Sura" begin
npc.open_shop(60)
setskin(NOWINDOW)
end
when 9002.chat."Schamane" begin
npc.open_shop(70)
setskin(NOWINDOW)
end
end
end
|
In deiner 1. Version fehlte ein end
|
|
|
06/01/2016, 02:26
|
#12332
|
elite*gold: 0
Join Date: Dec 2009
Posts: 194
Received Thanks: 106
|
Quest:
quest hunting begin
state start begin
function main()
return {
['level'] = {5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115},
['row'] = {
[5] = {
['mob_id'] = 104,
['mob_count'] = 20,
['exp_percent'] = 25,
['gold'] = 100000,
['item'] = false;
--},
},
[10] = {
['mob_id'] = 106,
['mob_count'] = 20,
['exp_percent'] = 25,
['gold'] = 300000,
['item'] = false;
},
[15] = {
['mob_id'] = 301,
['mob_count'] = 20,
['exp_percent'] = 25,
['gold'] = 300000,
['item'] = {
{50034, 1},
},
},
[20] = {
['mob_id'] = 502,
['mob_count'] = 30,
['exp_percent'] = 25,
['gold'] = 300000,
['item'] = {
{55001, 1},
{72002, 1},
},
},
[25] = {
['mob_id'] = 532,
['mob_count'] = 3,
['exp_percent'] = 25,
['gold'] = 400000,
['item'] = {
{11237+200*pc.job, 1},
},
},
[30] = {
['mob_id'] = 493,
['mob_count'] = 1,
['exp_percent'] = 20,
['gold'] = 300000,
['item'] = {
{72703, 1},
},
},
[35] = {
['mob_id'] = 5161,
['mob_count'] = 1,
['exp_percent'] = 20,
['gold'] = 400000,
['item'] = {
{55003, 1},
{71001, 1},
},
},
[40] = {
['mob_id'] = 5161,
['mob_count'] = 3,
['exp_percent'] = 20,
['gold'] = 1000000,
['item'] = {
{55002, 1},
{25041, 1}
},
},
[45] = {
['mob_id'] = 691,
['mob_count'] = 1,
['exp_percent'] = 20,
['gold'] = 1000000,
['item'] = {
{55003, 1},
{25041, 1},
{72002, 1},
},
},
[50] = {
['mob_id'] = 5163,
['mob_count'] = 1,
['exp_percent'] = 20,
['gold'] = 1000000,
['item'] = {
{50513, 1},
{25041, 1},
{71001, 1},
},
},
[55] = {
['mob_id'] = 5163,
['mob_count'] = 1,
['exp_percent'] = 20,
['gold'] = 1000000,
['item'] = {
{50513, 1},
{25041, 1},
{71001, 1},
},
},
[60] = {
['mob_id'] = 1091,
['mob_count'] = 1,
['exp_percent'] = 15,
['gold'] = 0,
['item'] = {
{55003, 1},
{27987, 1},
},
},
[65] = {
['mob_id'] = 1091,
['mob_count'] = 3,
['exp_percent'] = 15,
['gold'] = 0,
['item'] = {
{math.random(28430, 28443), 1},
},
},
[70] = {
['mob_id'] = 2191,
['mob_count'] = 3,
['exp_percent'] = 15,
['gold'] = 0,
['item'] = {
{71001, 1},
{30191, 3},
},
},
[75] = {
['mob_id'] = 1403,
['mob_count'] = 5,
['exp_percent'] = 15,
['gold'] = 5000000,
['item'] = {
{72002, 1},
{76002, 3},
},
},
[80] = {
['mob_id'] = 2191,
['mob_count'] = 50,
['exp_percent'] = 15,
['gold'] = 0,
['item'] = {
{71001, 1},
{27992, 1},
},
},
[85] = {
['mob_id'] = 2191,
['mob_count'] = 50,
['exp_percent'] = 15,
['gold'] = 0,
['item'] = {
{71001, 1},
{27992, 1},
},
},
[90] = {
['mob_id'] = 2598,
['mob_count'] = 1,
['exp_percent'] = 10,
['gold'] = 0,
['item'] = {
{124400, 1},
{154400, 1},
},
},
[95] = {
['mob_id'] = 2492,
['mob_count'] = 3,
['exp_percent'] = 10,
['gold'] = 10000000,
['item'] = {
{71001, 2},
{30188, 1},
},
},
[100] = {
['mob_id'] = 3290,
['mob_count'] = 3,
['exp_percent'] = 10,
['gold'] = 0,
['item'] = {
{25041, 2},
{math.random(27992, 27994), 1},
{math.random(27992, 27994), 1},
},
},
[105] = {
['mob_id'] = 3502,
['mob_count'] = 100,
['exp_percent'] = 10,
['gold'] = 0,
['item'] = {
{124400, 1},
{25041, 1},
},
},
[110] = {
['mob_id'] = 3291,
['mob_count'] = 100,
['exp_percent'] = 100,
['gold'] = 0,
['item'] = {
{114400, 1},
{72002, 1},
},
},
[115] = {
['mob_id'] = 3690,
['mob_count'] = 3,
['exp_percent'] = 10,
['gold'] = 0,
['item'] = {
{71129, 1},
{71123, 1},
{25041, 1},
},
},
},
}
end
function title()
return "Myślistwo - #"..pc.getqf("level")
end
when login or levelup or letter or enter begin
local main = hunting.main()
if pc.level >= main.level[pc.getqf("main")+1] then
pc.setqf("level", main.level[pc.getqf("main")+1])
set_state(talk)
end
end
end
state talk begin
when letter begin
local main = hunting.main()
target.vid("__TARGET__", find_npc_by_vnum(20019), "Yang-Shin")
send_letter(hunting.title())
end
when button or info begin
say_title(hunting.title())
say()
say("Udaj się do Yang-Shina.")
say("Potrzebuje on Twojej pomocy")
say("w walce z potworami.")
say()
end
when __TARGET__.target.click or 20019.chat."Myślistwo" begin
target.delete("__TARGET__")
local main = hunting.main()
local row = main.row[pc.getqf("level")]
say_title(mob_name(npc.get_race())..":")
say()
say("Ostatnimi czasy zrobiło sytuacja")
say("zrobiła się wręcz tragiczna.")
say("Ściągnięto mnie tutaj specjalnie")
say("z drugiej wioski, abym pomogł Kapitanowi")
say("oraz reszcie w walce z potworami oblężającymi")
say("krainy. Wezwałem Cię, ponieważ potrzebuje pomocy.")
say()
wait()
say_title(mob_name(npc.get_race())..":")
say()
say("Proszę, zabij dla mnie na początek")
say_reward(row['mob_count'].."x "..mob_name(row['mob_id']))
say()
pc.setqf("count", 0)
clear_letter()
set_state(zabij)
end
end
state zabij begin
when letter begin
local main = hunting.main()
local row = main.row[pc.getqf("level")]
send_letter(hunting.title())
q.set_counter("Pozostało:", row['mob_count']-pc.getqf("count"))
end
when button or info begin
say_title(hunting.title())
say()
say("Yang-Shin wysłał mnie, abym zabił ")
say_reward(row['mob_count'].."x "..mob_name(row['mob_id']))
say()
say_reward("Pozostało do zabicia: "..row['mob_count']-pc.getqf("count")..".")
say()
end
when kill with !npc.is_pc() begin
local main = hunting.main()
local row = main.row[pc.getqf("level")]
if npc.race == row['mob_id'] then
pc.setqf("count", pc.getqf("count")+1)
if pc.getqf("count") < row['mob_count'] then
q.set_counter("Pozostało:", row['mob_count']-pc.getqf("count"))
else
q.set_counter("Pozostało:", 0)
chat("Pora wrócić do wioski i odwiedzić Yang-Shina!")
clear_letter()
set_state(nagroda)
end
end
end
end
state nagroda begin
when letter begin
send_letter(hunting.title())
target.vid("__TARGET__", find_npc_by_vnum(20019), "Yang-Shin")
end
when button or info begin
say_title(hunting.title())
say()
say("Tyle powinno już wystarczyć,")
say("pora wrócić do wioski i odwiedzić Yang-Shina.")
say()
end
when __TARGET__.target.click or 20019.chat."Nagroda" begin
local main = hunting.main()
local row = main.row[pc.getqf("level")]
target.delete("__TARGET__")
say_title(mob_name(npc.get_race())..":")
say()
say("Teraz sytuacja powinna się trochę uspokoić,")
say("przynajmniej będziemy mieli chwile wytchnienia,")
say("w nagrode dostaniesz ode mnie coś, co może ")
say("przydać Ci się w dalszych zmaganiach. ")
say("Idź już, kiedy będe potrzebował ")
say("Twojej pomocy, wezwe Cie.")
say()
wait()
say_reward("Otrzymałeś:")
if row['exp_percent'] > 0 then
say_title(">"..row['exp_percent'].."% doświadczenia")
pc.give_percent_exp_of_level(pc.level, row['exp_percent'])
end
if row['gold'] > 0 then
say_title(">"..row['gold'].." Yang")
pc.change_gold(row['gold'])
end
if row['item'] != false then
for i = 1, table.getn(row['item']) do
say_title(">"..item_name(row['item'][i][1]).." x"..row['item'][i][2])
pc.give_item2(row['item'][i][1], row['item'][i][2])
end
end
pc.setqf("main", pc.getqf("main")+1)
clear_letter()
set_state(start)
end
end
end
error:
SYSERR: May 31 21:18:25 :: RunState: LUA_ERROR: [string "hunting"]:4: attempt to index global `row' (a nil value)
SYSERR: May 31 21:18:25 :: WriteRunningStateToSyserr: LUA_ERROR: quest hunting.(null) letter
help pls
|
|
|
06/01/2016, 03:16
|
#12333
|
elite*gold: 0
Join Date: Sep 2015
Posts: 22
Received Thanks: 0
|
Hey, ich breuchte mal eure Hilfe und zwar geht es um eine Quest wo ich den Fehler nicht finde, ich habe ne weile gesucht er sagt mir immer ,ich habe schon in zeile 116 nach geschaut und keinen fehler endeckt , und ich habe auch schon andere drüber schauen lassen, ich wäre euch dankbar wenn ihr mir den fehler sagt, wäre euch dankbar, falls euch auf den 1 blick ein fehler auffält wäre ich euch dankbar ihn mir mitzuteilen , danke schon mal im vorraus
Fehler:
PHP Code:
Quest/UrielsSchwester.quest:116: syntax error : [stringe "gototecher"]:8: unexpected symbol near `)´
quest:
PHP Code:
quest Urielschwester begin state start begin when login or levelup or enter with pc.get_level() >= 76 begin setstate(gototeacher) end end state gototeacher begin when letter begin send_letter("Hilfe Hilfe")
local v=find_npc_by_vnum(20080) if 0==v then else target.vid("__TARGET__", v, "Gehe zu ") end end when button or info begin say_title(":") say("Bitte hilf mir meine Schwester wird bedroht , von so ganz Wilden menschen, bitte hilf mir!!!!!!!! komm schnell zu mir") end when __TARGET__.target.click begin target.delete("__TARGET__")
say_title(":") say("Hilfe Hilfe Hilfe, Hallo Junger Mann ich brauche dringend deine hilfe meine schwester wird von wilden menschen bedroht") wait() say("Meine Schwester wurde gestern nacht von Wilder Ergebener entf\195\188hrt, und ich wei\195\159 nicht wo sie ist, ") say_reward("T\195\182te 100 Wilder Ergebener, um die Tochter von Uriel zu befreien") say("") set_state(kill)
pc.setqf("state", 0) q.set_counter("Restanzahl ", 0) end
end
state kill begin when letter begin send_letter("") end when button or info begin say_title(":") say("Du musst 100 t\195\182ten") say("")
say_reward(pc.getqf("state").." von 100 der Art get\195\182tet") say("") end when 502.kill begin local count = pc.getqf("state") + 1
if count <= 100 then pc.setqf("state", count) q.set_counter("Restanzahl ", 10 - count)
if count == 100 then say_title(":") say("") say("Komm nun bitte zu mir.") set_state(gototeacher2) end end end when 20080.chat." Jagen erledigt." with pc.getf("main_quest_lv2","state") < 10 begin say_title(":") say("Waaaaaaaasss? du bist schon wieder da , wo ist meine Schwester? , ich habe es doch gewusst du bist der falsche f\195\188r den job , ich glaube ich suche mir einen anderen der mir hilft")
if pc.is_gm() then wait() say_title(":") say("Aufgabe \195\188berspringen?") local s = select("Ja", "Nein") if s == 1 then set_state(gototeacher2) end end end when 20080.chat." Jagen erledigt." with pc.getf("main_quest_lv2","state") >= 10 begin say_title(":") say("Danke Danke, das du meine schwester gefunden hast, ich bin dir so unendlich dankbar , ") set_state (gototeacher2) end end state gototeacher begin when letter begin local v=find_npc_by_vnum(20080) if 0==v then else target.vid("__TARGET__", v, "Gehe zu ") end end when letter begin send_letter("Such die Schwester") end when button or info begin say_title("Such die Schwester") say("Suche meine Schwester weil sie wurde entf\195\188hhrt , wenn du sie gefunden hast bekommst du eine gute belohung , bitte mach schnell ") end when __TARGET__.target.click begin target.delete("__TARGET__") say("Suche meine Schwester weil sie wurde entf\195\188hhrt , wenn du sie gefunden hast bekommst du eine gute belohung , bitte mach schnell ") say_reward("EXP 2500000") pc.give_exp2( 2500000 ) set_quest_state("levelup","run") pc.change_money( 2500000000 ) say_reward("Yang 2500000000") ) say_reward("Einige Gegenstaende") ) say_reward("Pferd Level 20") clear_letter() set_state( __COMPLETE__ )
pc.setqf("state", 0) end end state __complete begin end end
|
|
|
06/01/2016, 23:49
|
#12334
|
elite*gold: 34
Join Date: May 2013
Posts: 75
Received Thanks: 86
|
@ rzmsniper1994
quest Urielschwester begin
state start begin
when login or levelup or enter with pc.get_level() >= 76 begin
setstate(gototeacher)
end
end
state gototeacher begin
when letter begin
send_letter("Hilfe Hilfe")
local v=find_npc_by_vnum(20080)
if 0==v then
else
target.vid("__TARGET__", v, "Gehe zu ")
end
end
when button or info begin
say_title(":")
say("Bitte hilf mir meine Schwester wird bedroht , von so ganz Wilden menschen, bitte hilf mir!!!!!!!! komm schnell zu mir")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title(":")
say("Hilfe Hilfe Hilfe, Hallo Junger Mann ich brauche dringend deine hilfe meine schwester wird von wilden menschen bedroht")
wait()
say("Meine Schwester wurde gestern nacht von Wilder Ergebener entf\195\188hrt, und ich wei\195\159 nicht wo sie ist, ")
say_reward("T\195\182te 100 Wilder Ergebener, um die Tochter von Uriel zu befreien")
say("")
set_state(kill)
pc.setqf("state", 0)
q.set_counter("Restanzahl ", 0)
end
end
state kill begin
when letter begin
send_letter("")
end
when button or info begin
say_title(":")
say("Du musst 100 t\195\182ten")
say("")
say_reward(pc.getqf("state").." von 100 der Art get\195\182tet")
say("")
end
when 502.kill begin
local count = pc.getqf("state") + 1
if count <= 100 then
pc.setqf("state", count)
q.set_counter("Restanzahl ", 10 - count)
if count == 100 then
say_title(":")
say("")
say("Komm nun bitte zu mir.")
set_state(gototeacher2)
end
end
end
when 20080.chat." Jagen erledigt." with pc.getf("main_quest_lv2","state") < 10 begin
say_title(":")
say("Waaaaaaaasss? du bist schon wieder da , wo ist meine Schwester? , ich habe es doch gewusst du bist der falsche f\195\188r den job , ich glaube ich suche mir einen anderen der mir hilft")
if pc.is_gm() then
wait()
say_title(":")
say("Aufgabe \195\188berspringen?")
local s = select("Ja", "Nein")
if s == 1 then
set_state(gototeacher2)
end
end
end
when 20080.chat." Jagen erledigt." with pc.getf("main_quest_lv2","state") >= 10 begin
say_title(":")
say("Danke Danke, das du meine schwester gefunden hast, ich bin dir so unendlich dankbar , ")
set_state (gototeacher2)
end
end
state gototeacher2 begin
when letter begin
local v=find_npc_by_vnum(20080)
if 0==v then
else
target.vid("__TARGET__", v, "Gehe zu ")
end
end
when letter begin
send_letter("Such die Schwester")
end
when button or info begin
say_title("Such die Schwester")
say("Suche meine Schwester weil sie wurde entf\195\188hhrt , wenn du sie gefunden hast bekommst du eine gute belohung , bitte mach schnell ")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say("Suche meine Schwester weil sie wurde entf\195\188hhrt , wenn du sie gefunden hast bekommst du eine gute belohung , bitte mach schnell ")
say_reward("EXP 2500000")
pc.give_exp2( 2500000 )
set_quest_state("levelup","run")
pc.change_money( 2500000000 )
say_reward("Yang 2500000000")
say_reward("Einige Gegenstaende")
say_reward("Pferd Level 20")
clear_letter()
set_state( __COMPLETE__ )
pc.setqf("state", 0)
end
end
state __COMPLETE__ begin
end
end
|
|
|
06/06/2016, 14:46
|
#12335
|
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
|
Hi Com,
wir sind momentan dabei unser VIP System weiter auszuarbeiten.
Dazu gehört eine zeitliche Begrenzung die wir auf 30 Tage legen möchten.
Jedoch habe ich folgendes Problem. Hier der Questfehler in putty:
vip_system.quest:108:syntax error : [string "start"]:50: unexpected symbol near `if'
Error occured on compile vip_system.quest
Hier die Quest:
PHP Code:
quest vip_system begin state start begin when login with item.vnum != 35002 and item.count <= 0 and pc.get_name() == "VIP]" begin say_title("VIP Mitgliedschaft abgelaufen") say("Deine VIP Mitgliedschaft ist abgelaufen") say("") say("Sollte dir die Mitgliedschaft gefallen haben,") say("kannst du dir im Itemshop jederzeit eine neue") say("holen.") wait() say_title("VIP Mitgliedschaft abgelaufen") say("Dein (VIP) wird jetzt entfernt.") say("Du bekommst jetzt gleich einen Kick") say("und kannst dich für 20 Minuten") say("nicht mehr einloggen.") say("Danach steht dein Account dir") say("wieder zur Verfügung") mysql_query("UPDATE player.player SET name='"..spl[2].."' WHERE name='"..pc.get_name().."'") mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='"..spl[2].."');") cmdchat("exit") end when 35002.use begin if string.find(pc.get_name(), "VIP]") == nil then say_title("Hallo "..pc.get_name().."!") say("Mit diesem Item kannst du den VIP Status aktivieren.") say("") say_title("Infos:") say("Nach erfolgreicher Nutzung wirst du gekickt!") say("Du hast dann einen 20 Minuten Bann, nach den") say("20 Minuten ist der Vorgang abgeschlossen") say("und dein Account ist wieder freigeschaltet!") say("") say("") say("Möchtest du?") say(pc.get_name().." --------> (VIP)"..pc.get_name()) if select("Ja", "Nein")==2 then return end vip_by_kilroy.check_premise(35002) if string.len(pc.get_name())<= 7 and not vip_by_kilroy.player_exists("[VIP]"..pc.get_name()) then say_title("Erfolgreich!") say("") say_reward("Bereite dich auf einen Kick vor.") say_reward("") say_reward("Klicke auf 'Weiter' um fortzufahren.") wait() notice(pc.get_name().."Du bist nun ein VIP Mitglied") mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'") mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..pc.get_name().."');") cmdchat("exit") else say_title(pc.get_name().."!") say("") say("Die Vorraussetzungen zwingen dich einen") say("neuen Namen zuwählen. Mögliche Gründe") say("sind ein zu langer Name oder dein") say("Name existiert bereits mit VIP.") say("") say_reward("Möchtest du ihn ändern um VIP zu werden?") if select("Ja", "Nein")==2 then return end say_title("Name wechseln") say("Gib bitte deinen Wunschnamen ein:") say_reward("Beachte!") say_reward("Nicht mehr als 7 oder weniger als 2 Buchstaben.") say_reward("Sonderzeichen sind nicht erlaubt.") local inp = input() if vip_by_kilroy.vip_premise(inp, 7, 2, 1) then say_title("Name wechseln") say("") say("Dein neuer Name besitzt entweder mehr als 7,") say("weniger als 2 Buchstaben oder enthält") say("unzulässige Zeichen.") return if vip_by_kilroy.player_exists("[VIP]"..inp) then say_title("Name wechseln") say("") say("Dieser Name existiert bereits,") say("versuch es mit einem anderen erneut.") return end end say_title("Super!") say("Dein Name erfüllt alle Voraussetzungen.") say("") say_title("Letzter Check") say("Möchtest du wirklich mit dem Namen") say("(VIP)"..inp.." dein Vip-Status aktivieren?") if select("Ja", "Nein")==2 then return end vip_by_kilroy.check_premise(35002) say_title("Erfolgreich!") say("") say_reward("Bereite dich auf einen Kick vor.") say_reward("") say_reward("Klicke auf 'Weiter' um fortzufahren.") wait() notice(pc.get_name(), "Du heißt jetzt"..inp.."und bist nun ein VIP Mitglied") mysql_query("UPDATE player.player SET name='[VIP]"..inp.."' WHERE name='"..pc.get_name().."'") mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..inp.."');") cmdchat("exit") end else say_title("Hallo "..pc.get_name().."!") say("") say("Du hast deinen VIP-Status schon aktiviert,") say("sollte dies nicht der Fall sein, kontaktiere") say("bitte einen Teamler.") say("") say("Viel Spaß weiterhin.!") end end end end
Wäre sehr dankbar wenn mir jemand helfen könnte. Bzw. eine bessere Idee hat.
Viele Grüße
IzeBreakzz
|
|
|
06/07/2016, 07:31
|
#12336
|
elite*gold: 0
Join Date: Sep 2015
Posts: 22
Received Thanks: 0
|
Quote:
Originally Posted by IzeBreakzz
Hi Com,
wir sind momentan dabei unser VIP System weiter auszuarbeiten.
Dazu gehört eine zeitliche Begrenzung die wir auf 30 Tage legen möchten.
Jedoch habe ich folgendes Problem. Hier der Questfehler in putty:
vip_system.quest:108:syntax error : [string "start"]:50: unexpected symbol near `if'
Error occured on compile vip_system.quest
Hier die Quest:
PHP Code:
quest vip_system begin
state start begin
when login with item.vnum != 35002 and item.count <= 0 and pc.get_name() == "VIP]" begin
say_title("VIP Mitgliedschaft abgelaufen")
say("Deine VIP Mitgliedschaft ist abgelaufen")
say("")
say("Sollte dir die Mitgliedschaft gefallen haben,")
say("kannst du dir im Itemshop jederzeit eine neue")
say("holen.")
wait()
say_title("VIP Mitgliedschaft abgelaufen")
say("Dein (VIP) wird jetzt entfernt.")
say("Du bekommst jetzt gleich einen Kick")
say("und kannst dich für 20 Minuten")
say("nicht mehr einloggen.")
say("Danach steht dein Account dir")
say("wieder zur Verfügung")
mysql_query("UPDATE player.player SET name='"..spl[2].."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='"..spl[2].."');")
cmdchat("exit")
end
when 35002.use begin
if string.find(pc.get_name(), "VIP]") == nil then
say_title("Hallo "..pc.get_name().."!")
say("Mit diesem Item kannst du den VIP Status aktivieren.")
say("")
say_title("Infos:")
say("Nach erfolgreicher Nutzung wirst du gekickt!")
say("Du hast dann einen 20 Minuten Bann, nach den")
say("20 Minuten ist der Vorgang abgeschlossen")
say("und dein Account ist wieder freigeschaltet!")
say("")
say("")
say("Möchtest du?")
say(pc.get_name().." --------> (VIP)"..pc.get_name())
if select("Ja", "Nein")==2 then return end
vip_by_kilroy.check_premise(35002)
if string.len(pc.get_name())<= 7 and not vip_by_kilroy.player_exists("[VIP]"..pc.get_name()) then
say_title("Erfolgreich!")
say("")
say_reward("Bereite dich auf einen Kick vor.")
say_reward("")
say_reward("Klicke auf 'Weiter' um fortzufahren.")
wait()
notice(pc.get_name().."Du bist nun ein VIP Mitglied")
mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..pc.get_name().."');")
cmdchat("exit")
else
say_title(pc.get_name().."!")
say("")
say("Die Vorraussetzungen zwingen dich einen")
say("neuen Namen zuwählen. Mögliche Gründe")
say("sind ein zu langer Name oder dein")
say("Name existiert bereits mit VIP.")
say("")
say_reward("Möchtest du ihn ändern um VIP zu werden?")
if select("Ja", "Nein")==2 then return end
say_title("Name wechseln")
say("Gib bitte deinen Wunschnamen ein:")
say_reward("Beachte!")
say_reward("Nicht mehr als 7 oder weniger als 2 Buchstaben.")
say_reward("Sonderzeichen sind nicht erlaubt.")
local inp = input()
if vip_by_kilroy.vip_premise(inp, 7, 2, 1) then
say_title("Name wechseln")
say("")
say("Dein neuer Name besitzt entweder mehr als 7,")
say("weniger als 2 Buchstaben oder enthält")
say("unzulässige Zeichen.")
return
if vip_by_kilroy.player_exists("[VIP]"..inp) then
say_title("Name wechseln")
say("")
say("Dieser Name existiert bereits,")
say("versuch es mit einem anderen erneut.")
return
end
end
say_title("Super!")
say("Dein Name erfüllt alle Voraussetzungen.")
say("")
say_title("Letzter Check")
say("Möchtest du wirklich mit dem Namen")
say("(VIP)"..inp.." dein Vip-Status aktivieren?")
if select("Ja", "Nein")==2 then return end
vip_by_kilroy.check_premise(35002)
say_title("Erfolgreich!")
say("")
say_reward("Bereite dich auf einen Kick vor.")
say_reward("")
say_reward("Klicke auf 'Weiter' um fortzufahren.")
wait()
notice(pc.get_name(), "Du heißt jetzt"..inp.."und bist nun ein VIP Mitglied")
mysql_query("UPDATE player.player SET name='[VIP]"..inp.."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..inp.."');")
cmdchat("exit")
end
else
say_title("Hallo "..pc.get_name().."!")
say("")
say("Du hast deinen VIP-Status schon aktiviert,")
say("sollte dies nicht der Fall sein, kontaktiere")
say("bitte einen Teamler.")
say("")
say("Viel Spaß weiterhin.!")
end
end
end
end
Wäre sehr dankbar wenn mir jemand helfen könnte. Bzw. eine bessere Idee hat.
Viele Grüße
IzeBreakzz
|
ich glaube du hattest einfach nur ein end zuviel teste mal , und sag mir was dann für eine fehlermeldung raus gekommen ist, aber sollte eigentlich so funktionieren und versuche mal mit tabs zu arbeiten und nicht mit leertasten ist nicht ganz so toll
PHP Code:
quest vip_system begin
state start begin
when login with item.vnum != 35002 and item.count <= 0 and pc.get_name() == "VIP]" begin
say_title("VIP Mitgliedschaft abgelaufen")
say("Deine VIP Mitgliedschaft ist abgelaufen")
say("")
say("Sollte dir die Mitgliedschaft gefallen haben,")
say("kannst du dir im Itemshop jederzeit eine neue")
say("holen.")
wait()
say_title("VIP Mitgliedschaft abgelaufen")
say("Dein (VIP) wird jetzt entfernt.")
say("Du bekommst jetzt gleich einen Kick")
say("und kannst dich für 20 Minuten")
say("nicht mehr einloggen.")
say("Danach steht dein Account dir")
say("wieder zur Verfügung")
mysql_query("UPDATE player.player SET name='"..spl[2].."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='"..spl[2].."');")
cmdchat("exit")
end
when 35002.use begin
if string.find(pc.get_name(), "VIP]") == nil then
say_title("Hallo "..pc.get_name().."!")
say("Mit diesem Item kannst du den VIP Status aktivieren.")
say("")
say_title("Infos:")
say("Nach erfolgreicher Nutzung wirst du gekickt!")
say("Du hast dann einen 20 Minuten Bann, nach den")
say("20 Minuten ist der Vorgang abgeschlossen")
say("und dein Account ist wieder freigeschaltet!")
say("")
say("")
say("Möchtest du?")
say(pc.get_name().." --------> (VIP)"..pc.get_name())
if select("Ja", "Nein")==2 then return end
vip_by_kilroy.check_premise(35002)
if string.len(pc.get_name())<= 7 and not vip_by_kilroy.player_exists("[VIP]"..pc.get_name()) then
say_title("Erfolgreich!")
say("")
say_reward("Bereite dich auf einen Kick vor.")
say_reward("")
say_reward("Klicke auf 'Weiter' um fortzufahren.")
wait()
notice(pc.get_name().."Du bist nun ein VIP Mitglied")
mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..pc.get_name().."');")
cmdchat("exit")
else
say_title(pc.get_name().."!")
say("")
say("Die Vorraussetzungen zwingen dich einen")
say("neuen Namen zuwählen. Mögliche Gründe")
say("sind ein zu langer Name oder dein")
say("Name existiert bereits mit VIP.")
say("")
say_reward("Möchtest du ihn ändern um VIP zu werden?")
if select("Ja", "Nein")==2 then return end
say_title("Name wechseln")
say("Gib bitte deinen Wunschnamen ein:")
say_reward("Beachte!")
say_reward("Nicht mehr als 7 oder weniger als 2 Buchstaben.")
say_reward("Sonderzeichen sind nicht erlaubt.")
local inp = input()
if vip_by_kilroy.vip_premise(inp, 7, 2, 1) then
say_title("Name wechseln")
say("")
say("Dein neuer Name besitzt entweder mehr als 7,")
say("weniger als 2 Buchstaben oder enthält")
say("unzulässige Zeichen.")
return
if vip_by_kilroy.player_exists("[VIP]"..inp) then
say_title("Name wechseln")
say("")
say("Dieser Name existiert bereits,")
say("versuch es mit einem anderen erneut.")
return
end
end
say_title("Super!")
say("Dein Name erfüllt alle Voraussetzungen.")
say("")
say_title("Letzter Check")
say("Möchtest du wirklich mit dem Namen")
say("(VIP)"..inp.." dein Vip-Status aktivieren?")
if select("Ja", "Nein")==2 then return end
vip_by_kilroy.check_premise(35002)
say_title("Erfolgreich!")
say("")
say_reward("Bereite dich auf einen Kick vor.")
say_reward("")
say_reward("Klicke auf 'Weiter' um fortzufahren.")
wait()
notice(pc.get_name(), "Du heißt jetzt"..inp.."und bist nun ein VIP Mitglied")
mysql_query("UPDATE player.player SET name='[VIP]"..inp.."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..inp.."');")
cmdchat("exit")
end
else
say_title("Hallo "..pc.get_name().."!")
say("")
say("Du hast deinen VIP-Status schon aktiviert,")
say("sollte dies nicht der Fall sein, kontaktiere")
say("bitte einen Teamler.")
say("")
say("Viel Spaß weiterhin.!")
end
end
end
|
|
|
06/07/2016, 11:10
|
#12337
|
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
|
Quote:
Originally Posted by rzmsniper1994
ich glaube du hattest einfach nur ein end zuviel teste mal , und sag mir was dann für eine fehlermeldung raus gekommen ist, aber sollte eigentlich so funktionieren und versuche mal mit tabs zu arbeiten und nicht mit leertasten ist nicht ganz so toll
PHP Code:
quest vip_system begin state start begin when login with item.vnum != 35002 and item.count <= 0 and pc.get_name() == "VIP]" begin say_title("VIP Mitgliedschaft abgelaufen") say("Deine VIP Mitgliedschaft ist abgelaufen") say("") say("Sollte dir die Mitgliedschaft gefallen haben,") say("kannst du dir im Itemshop jederzeit eine neue") say("holen.") wait() say_title("VIP Mitgliedschaft abgelaufen") say("Dein (VIP) wird jetzt entfernt.") say("Du bekommst jetzt gleich einen Kick") say("und kannst dich für 20 Minuten") say("nicht mehr einloggen.") say("Danach steht dein Account dir") say("wieder zur Verfügung") mysql_query("UPDATE player.player SET name='"..spl[2].."' WHERE name='"..pc.get_name().."'") mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='"..spl[2].."');") cmdchat("exit") end when 35002.use begin if string.find(pc.get_name(), "VIP]") == nil then say_title("Hallo "..pc.get_name().."!") say("Mit diesem Item kannst du den VIP Status aktivieren.") say("") say_title("Infos:") say("Nach erfolgreicher Nutzung wirst du gekickt!") say("Du hast dann einen 20 Minuten Bann, nach den") say("20 Minuten ist der Vorgang abgeschlossen") say("und dein Account ist wieder freigeschaltet!") say("") say("") say("Möchtest du?") say(pc.get_name().." --------> (VIP)"..pc.get_name()) if select("Ja", "Nein")==2 then return end vip_by_kilroy.check_premise(35002) if string.len(pc.get_name())<= 7 and not vip_by_kilroy.player_exists("[VIP]"..pc.get_name()) then say_title("Erfolgreich!") say("") say_reward("Bereite dich auf einen Kick vor.") say_reward("") say_reward("Klicke auf 'Weiter' um fortzufahren.") wait() notice(pc.get_name().."Du bist nun ein VIP Mitglied") mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'") mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..pc.get_name().."');") cmdchat("exit") else say_title(pc.get_name().."!") say("") say("Die Vorraussetzungen zwingen dich einen") say("neuen Namen zuwählen. Mögliche Gründe") say("sind ein zu langer Name oder dein") say("Name existiert bereits mit VIP.") say("") say_reward("Möchtest du ihn ändern um VIP zu werden?") if select("Ja", "Nein")==2 then return end say_title("Name wechseln") say("Gib bitte deinen Wunschnamen ein:") say_reward("Beachte!") say_reward("Nicht mehr als 7 oder weniger als 2 Buchstaben.") say_reward("Sonderzeichen sind nicht erlaubt.") local inp = input() if vip_by_kilroy.vip_premise(inp, 7, 2, 1) then say_title("Name wechseln") say("") say("Dein neuer Name besitzt entweder mehr als 7,") say("weniger als 2 Buchstaben oder enthält") say("unzulässige Zeichen.") return if vip_by_kilroy.player_exists("[VIP]"..inp) then say_title("Name wechseln") say("") say("Dieser Name existiert bereits,") say("versuch es mit einem anderen erneut.") return end end say_title("Super!") say("Dein Name erfüllt alle Voraussetzungen.") say("") say_title("Letzter Check") say("Möchtest du wirklich mit dem Namen") say("(VIP)"..inp.." dein Vip-Status aktivieren?") if select("Ja", "Nein")==2 then return end vip_by_kilroy.check_premise(35002) say_title("Erfolgreich!") say("") say_reward("Bereite dich auf einen Kick vor.") say_reward("") say_reward("Klicke auf 'Weiter' um fortzufahren.") wait() notice(pc.get_name(), "Du heißt jetzt"..inp.."und bist nun ein VIP Mitglied") mysql_query("UPDATE player.player SET name='[VIP]"..inp.."' WHERE name='"..pc.get_name().."'") mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..inp.."');") cmdchat("exit") end else say_title("Hallo "..pc.get_name().."!") say("") say("Du hast deinen VIP-Status schon aktiviert,") say("sollte dies nicht der Fall sein, kontaktiere") say("bitte einen Teamler.") say("") say("Viel Spaß weiterhin.!") end end end
|
Hat leider nichts geholfen... Immer noch der gleiche Fehler.
#Hat keiner eine Lösung?
|
|
|
06/07/2016, 14:34
|
#12338
|
elite*gold: 0
Join Date: Jun 2016
Posts: 20
Received Thanks: 3
|
Quote:
Originally Posted by IzeBreakzz
Hat leider nichts geholfen... Immer noch der gleiche Fehler.
|
Quote:
notice(pc.get_name(), "Du heißt jetzt"..inp.."und bist nun ein VIP Mitglied")
|
Würde an deiner Stelle auch den SQL exploit beheben
Quote:
Originally Posted by vinni03
Quest:
quest hunting begin
state start begin
function main()
return {
['level'] = {5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115},
['row'] = {
[5] = {
['mob_id'] = 104,
['mob_count'] = 20,
['exp_percent'] = 25,
['gold'] = 100000,
['item'] = false;
--},
},
[10] = {
['mob_id'] = 106,
['mob_count'] = 20,
['exp_percent'] = 25,
['gold'] = 300000,
['item'] = false;
},
[15] = {
['mob_id'] = 301,
['mob_count'] = 20,
['exp_percent'] = 25,
['gold'] = 300000,
['item'] = {
{50034, 1},
},
},
[20] = {
['mob_id'] = 502,
['mob_count'] = 30,
['exp_percent'] = 25,
['gold'] = 300000,
['item'] = {
{55001, 1},
{72002, 1},
},
},
[25] = {
['mob_id'] = 532,
['mob_count'] = 3,
['exp_percent'] = 25,
['gold'] = 400000,
['item'] = {
{11237+200*pc.job, 1},
},
},
[30] = {
['mob_id'] = 493,
['mob_count'] = 1,
['exp_percent'] = 20,
['gold'] = 300000,
['item'] = {
{72703, 1},
},
},
[35] = {
['mob_id'] = 5161,
['mob_count'] = 1,
['exp_percent'] = 20,
['gold'] = 400000,
['item'] = {
{55003, 1},
{71001, 1},
},
},
[40] = {
['mob_id'] = 5161,
['mob_count'] = 3,
['exp_percent'] = 20,
['gold'] = 1000000,
['item'] = {
{55002, 1},
{25041, 1}
},
},
[45] = {
['mob_id'] = 691,
['mob_count'] = 1,
['exp_percent'] = 20,
['gold'] = 1000000,
['item'] = {
{55003, 1},
{25041, 1},
{72002, 1},
},
},
[50] = {
['mob_id'] = 5163,
['mob_count'] = 1,
['exp_percent'] = 20,
['gold'] = 1000000,
['item'] = {
{50513, 1},
{25041, 1},
{71001, 1},
},
},
[55] = {
['mob_id'] = 5163,
['mob_count'] = 1,
['exp_percent'] = 20,
['gold'] = 1000000,
['item'] = {
{50513, 1},
{25041, 1},
{71001, 1},
},
},
[60] = {
['mob_id'] = 1091,
['mob_count'] = 1,
['exp_percent'] = 15,
['gold'] = 0,
['item'] = {
{55003, 1},
{27987, 1},
},
},
[65] = {
['mob_id'] = 1091,
['mob_count'] = 3,
['exp_percent'] = 15,
['gold'] = 0,
['item'] = {
{math.random(28430, 28443), 1},
},
},
[70] = {
['mob_id'] = 2191,
['mob_count'] = 3,
['exp_percent'] = 15,
['gold'] = 0,
['item'] = {
{71001, 1},
{30191, 3},
},
},
[75] = {
['mob_id'] = 1403,
['mob_count'] = 5,
['exp_percent'] = 15,
['gold'] = 5000000,
['item'] = {
{72002, 1},
{76002, 3},
},
},
[80] = {
['mob_id'] = 2191,
['mob_count'] = 50,
['exp_percent'] = 15,
['gold'] = 0,
['item'] = {
{71001, 1},
{27992, 1},
},
},
[85] = {
['mob_id'] = 2191,
['mob_count'] = 50,
['exp_percent'] = 15,
['gold'] = 0,
['item'] = {
{71001, 1},
{27992, 1},
},
},
[90] = {
['mob_id'] = 2598,
['mob_count'] = 1,
['exp_percent'] = 10,
['gold'] = 0,
['item'] = {
{124400, 1},
{154400, 1},
},
},
[95] = {
['mob_id'] = 2492,
['mob_count'] = 3,
['exp_percent'] = 10,
['gold'] = 10000000,
['item'] = {
{71001, 2},
{30188, 1},
},
},
[100] = {
['mob_id'] = 3290,
['mob_count'] = 3,
['exp_percent'] = 10,
['gold'] = 0,
['item'] = {
{25041, 2},
{math.random(27992, 27994), 1},
{math.random(27992, 27994), 1},
},
},
[105] = {
['mob_id'] = 3502,
['mob_count'] = 100,
['exp_percent'] = 10,
['gold'] = 0,
['item'] = {
{124400, 1},
{25041, 1},
},
},
[110] = {
['mob_id'] = 3291,
['mob_count'] = 100,
['exp_percent'] = 100,
['gold'] = 0,
['item'] = {
{114400, 1},
{72002, 1},
},
},
[115] = {
['mob_id'] = 3690,
['mob_count'] = 3,
['exp_percent'] = 10,
['gold'] = 0,
['item'] = {
{71129, 1},
{71123, 1},
{25041, 1},
},
},
},
}
end
function title()
return "Myślistwo - #"..pc.getqf("level")
end
when login or levelup or letter or enter begin
local main = hunting.main()
if pc.level >= main.level[pc.getqf("main")+1] then
pc.setqf("level", main.level[pc.getqf("main")+1])
set_state(talk)
end
end
end
state talk begin
when letter begin
local main = hunting.main()
target.vid("__TARGET__", find_npc_by_vnum(20019), "Yang-Shin")
send_letter(hunting.title())
end
when button or info begin
say_title(hunting.title())
say()
say("Udaj się do Yang-Shina.")
say("Potrzebuje on Twojej pomocy")
say("w walce z potworami.")
say()
end
when __TARGET__.target.click or 20019.chat."Myślistwo" begin
target.delete("__TARGET__")
local main = hunting.main()
local row = main.row[pc.getqf("level")]
say_title(mob_name(npc.get_race())..":")
say()
say("Ostatnimi czasy zrobiło sytuacja")
say("zrobiła się wręcz tragiczna.")
say("Ściągnięto mnie tutaj specjalnie")
say("z drugiej wioski, abym pomogł Kapitanowi")
say("oraz reszcie w walce z potworami oblężającymi")
say("krainy. Wezwałem Cię, ponieważ potrzebuje pomocy.")
say()
wait()
say_title(mob_name(npc.get_race())..":")
say()
say("Proszę, zabij dla mnie na początek")
say_reward(row['mob_count'].."x "..mob_name(row['mob_id']))
say()
pc.setqf("count", 0)
clear_letter()
set_state(zabij)
end
end
state zabij begin
when letter begin
local main = hunting.main()
local row = main.row[pc.getqf("level")]
send_letter(hunting.title())
q.set_counter("Pozostało:", row['mob_count']-pc.getqf("count"))
end
when button or info begin
say_title(hunting.title())
say()
say("Yang-Shin wysłał mnie, abym zabił ")
say_reward(row['mob_count'].."x "..mob_name(row['mob_id']))
say()
say_reward("Pozostało do zabicia: "..row['mob_count']-pc.getqf("count")..".")
say()
end
when kill with !npc.is_pc() begin
local main = hunting.main()
local row = main.row[pc.getqf("level")]
if npc.race == row['mob_id'] then
pc.setqf("count", pc.getqf("count")+1)
if pc.getqf("count") < row['mob_count'] then
q.set_counter("Pozostało:", row['mob_count']-pc.getqf("count"))
else
q.set_counter("Pozostało:", 0)
chat("Pora wrócić do wioski i odwiedzić Yang-Shina!")
clear_letter()
set_state(nagroda)
end
end
end
end
state nagroda begin
when letter begin
send_letter(hunting.title())
target.vid("__TARGET__", find_npc_by_vnum(20019), "Yang-Shin")
end
when button or info begin
say_title(hunting.title())
say()
say("Tyle powinno już wystarczyć,")
say("pora wrócić do wioski i odwiedzić Yang-Shina.")
say()
end
when __TARGET__.target.click or 20019.chat."Nagroda" begin
local main = hunting.main()
local row = main.row[pc.getqf("level")]
target.delete("__TARGET__")
say_title(mob_name(npc.get_race())..":")
say()
say("Teraz sytuacja powinna się trochę uspokoić,")
say("przynajmniej będziemy mieli chwile wytchnienia,")
say("w nagrode dostaniesz ode mnie coś, co może ")
say("przydać Ci się w dalszych zmaganiach. ")
say("Idź już, kiedy będe potrzebował ")
say("Twojej pomocy, wezwe Cie.")
say()
wait()
say_reward("Otrzymałeś:")
if row['exp_percent'] > 0 then
say_title(">"..row['exp_percent'].."% doświadczenia")
pc.give_percent_exp_of_level(pc.level, row['exp_percent'])
end
if row['gold'] > 0 then
say_title(">"..row['gold'].." Yang")
pc.change_gold(row['gold'])
end
if row['item'] != false then
for i = 1, table.getn(row['item']) do
say_title(">"..item_name(row['item'][i][1]).." x"..row['item'][i][2])
pc.give_item2(row['item'][i][1], row['item'][i][2])
end
end
pc.setqf("main", pc.getqf("main")+1)
clear_letter()
set_state(start)
end
end
end
error:
SYSERR: May 31 21:18:25 :: RunState: LUA_ERROR: [string "hunting"]:4: attempt to index global `row' (a nil value)
SYSERR: May 31 21:18:25 :: WriteRunningStateToSyserr: LUA_ERROR: quest hunting.(null) letter
help pls
|
This is more than crap. Go in the library and learn c++
|
|
|
06/07/2016, 20:34
|
#12339
|
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
|
Quote:
Originally Posted by IzeBreakzz
Hi Com,
wir sind momentan dabei unser VIP System weiter auszuarbeiten.
Dazu gehört eine zeitliche Begrenzung die wir auf 30 Tage legen möchten.
Jedoch habe ich folgendes Problem. Hier der Questfehler in putty:
vip_system.quest:108:syntax error : [string "start"]:50: unexpected symbol near `if'
Error occured on compile vip_system.quest
Hier die Quest:
PHP Code:
quest vip_system begin
state start begin
when login with item.vnum != 35002 and item.count <= 0 and pc.get_name() == "VIP]" begin
say_title("VIP Mitgliedschaft abgelaufen")
say("Deine VIP Mitgliedschaft ist abgelaufen")
say("")
say("Sollte dir die Mitgliedschaft gefallen haben,")
say("kannst du dir im Itemshop jederzeit eine neue")
say("holen.")
wait()
say_title("VIP Mitgliedschaft abgelaufen")
say("Dein (VIP) wird jetzt entfernt.")
say("Du bekommst jetzt gleich einen Kick")
say("und kannst dich für 20 Minuten")
say("nicht mehr einloggen.")
say("Danach steht dein Account dir")
say("wieder zur Verfügung")
mysql_query("UPDATE player.player SET name='"..spl[2].."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='"..spl[2].."');")
cmdchat("exit")
end
when 35002.use begin
if string.find(pc.get_name(), "VIP]") == nil then
say_title("Hallo "..pc.get_name().."!")
say("Mit diesem Item kannst du den VIP Status aktivieren.")
say("")
say_title("Infos:")
say("Nach erfolgreicher Nutzung wirst du gekickt!")
say("Du hast dann einen 20 Minuten Bann, nach den")
say("20 Minuten ist der Vorgang abgeschlossen")
say("und dein Account ist wieder freigeschaltet!")
say("")
say("")
say("Möchtest du?")
say(pc.get_name().." --------> (VIP)"..pc.get_name())
if select("Ja", "Nein")==2 then return end
vip_by_kilroy.check_premise(35002)
if string.len(pc.get_name())<= 7 and not vip_by_kilroy.player_exists("[VIP]"..pc.get_name()) then
say_title("Erfolgreich!")
say("")
say_reward("Bereite dich auf einen Kick vor.")
say_reward("")
say_reward("Klicke auf 'Weiter' um fortzufahren.")
wait()
notice(pc.get_name().."Du bist nun ein VIP Mitglied")
mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..pc.get_name().."');")
cmdchat("exit")
else
say_title(pc.get_name().."!")
say("")
say("Die Vorraussetzungen zwingen dich einen")
say("neuen Namen zuwählen. Mögliche Gründe")
say("sind ein zu langer Name oder dein")
say("Name existiert bereits mit VIP.")
say("")
say_reward("Möchtest du ihn ändern um VIP zu werden?")
if select("Ja", "Nein")==2 then return end
say_title("Name wechseln")
say("Gib bitte deinen Wunschnamen ein:")
say_reward("Beachte!")
say_reward("Nicht mehr als 7 oder weniger als 2 Buchstaben.")
say_reward("Sonderzeichen sind nicht erlaubt.")
local inp = input()
if vip_by_kilroy.vip_premise(inp, 7, 2, 1) then
say_title("Name wechseln")
say("")
say("Dein neuer Name besitzt entweder mehr als 7,")
say("weniger als 2 Buchstaben oder enthält")
say("unzulässige Zeichen.")
return
if vip_by_kilroy.player_exists("[VIP]"..inp) then
say_title("Name wechseln")
say("")
say("Dieser Name existiert bereits,")
say("versuch es mit einem anderen erneut.")
return
end
end
say_title("Super!")
say("Dein Name erfüllt alle Voraussetzungen.")
say("")
say_title("Letzter Check")
say("Möchtest du wirklich mit dem Namen")
say("(VIP)"..inp.." dein Vip-Status aktivieren?")
if select("Ja", "Nein")==2 then return end
vip_by_kilroy.check_premise(35002)
say_title("Erfolgreich!")
say("")
say_reward("Bereite dich auf einen Kick vor.")
say_reward("")
say_reward("Klicke auf 'Weiter' um fortzufahren.")
wait()
notice(pc.get_name(), "Du heißt jetzt"..inp.."und bist nun ein VIP Mitglied")
mysql_query("UPDATE player.player SET name='[VIP]"..inp.."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..inp.."');")
cmdchat("exit")
end
else
say_title("Hallo "..pc.get_name().."!")
say("")
say("Du hast deinen VIP-Status schon aktiviert,")
say("sollte dies nicht der Fall sein, kontaktiere")
say("bitte einen Teamler.")
say("")
say("Viel Spaß weiterhin.!")
end
end
end
end
Wäre sehr dankbar wenn mir jemand helfen könnte. Bzw. eine bessere Idee hat.
Viele Grüße
IzeBreakzz
|
Hat keiner eine Lösung?
|
|
|
06/08/2016, 23:34
|
#12340
|
elite*gold: 0
Join Date: Jan 2011
Posts: 4
Received Thanks: 1
|
quest itemkill begin
state start begin
when kill with npc.is_pc() begin
if pc.getqf("timer") < get_time() then
local item = {
{71144, 50179, 30322},
{50179, 30322, 71144}
}
for _, tbl in pairs(item) do
game.drop_item_with_ownership(tbl[number(1, table.getn(tbl))])
end
pc.change_alignment(number(150,300))
pc.setqf("timer", get_time()+60)
if pc.get_level() >= 80 and pc.get_level() < 100 then
pc.give_exp2(125000000)
end
else
syschat("Du droppst erst in "..pc.getqf("timer")-get_time().." Sekunden wieder ein Item.")
end
end
end
wäre nett wen mir jmd helfen könnte
|
|
|
06/09/2016, 09:45
|
#12341
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
dir fehlt ein end unten.
ansonsten bitte immer Fehlermeldung mitposten!!
PHP Code:
quest itemkill begin state start begin when kill with npc.is_pc() begin if pc.getqf("timer") < get_time() then local item = { {71144, 50179, 30322}, {50179, 30322, 71144} } for _, tbl in pairs(item) do game.drop_item_with_ownership(tbl[number(1, table.getn(tbl))]) end pc.change_alignment(number(150,300)) pc.setqf("timer", get_time()+60) if pc.get_level() >= 80 and pc.get_level() < 100 then pc.give_exp2(125000000) end else syschat("Du droppst erst in "..pc.getqf("timer")-get_time().." Sekunden wieder ein Item.") end end end end
Quote:
Originally Posted by I3lacky97
quest itemkill begin
state start begin
when kill with npc.is_pc() begin
if pc.getqf("timer") < get_time() then
local item = {
{71144, 50179, 30322},
{50179, 30322, 71144}
}
for _, tbl in pairs(item) do
game.drop_item_with_ownership(tbl[number(1, table.getn(tbl))])
end
pc.change_alignment(number(150,300))
pc.setqf("timer", get_time()+60)
if pc.get_level() >= 80 and pc.get_level() < 100 then
pc.give_exp2(125000000)
end
else
syschat("Du droppst erst in "..pc.getqf("timer")-get_time().." Sekunden wieder ein Item.")
end
end
end
wäre nett wen mir jmd helfen könnte
|
-------------------------------------------------------
@
was hast du denn geändert, und wo?
|
|
|
06/09/2016, 12:03
|
#12342
|
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
|
Quote:
Originally Posted by .Delta
dir fehlt ein end unten.
ansonsten bitte immer Fehlermeldung mitposten!!
PHP Code:
quest itemkill begin
state start begin
when kill with npc.is_pc() begin
if pc.getqf("timer") < get_time() then
local item = {
{71144, 50179, 30322},
{50179, 30322, 71144}
}
for _, tbl in pairs(item) do
game.drop_item_with_ownership(tbl[number(1, table.getn(tbl))])
end
pc.change_alignment(number(150,300))
pc.setqf("timer", get_time()+60)
if pc.get_level() >= 80 and pc.get_level() < 100 then
pc.give_exp2(125000000)
end
else
syschat("Du droppst erst in "..pc.getqf("timer")-get_time().." Sekunden wieder ein Item.")
end
end
end
end
-------------------------------------------------------
@
was hast du denn geändert, und wo?
|
Ich habe den oberen Teil ergänzt und unten etwas weg genommen. Hier die originale Quest:
PHP Code:
--------------------------------------------
-- written by Kilroy.
-- Benötigt Questlib Erweit. Mijago
--------------------------------------------
quest vip_by_kilroy begin
state start begin
when 20011.take with item.get_vnum()== 35004 and string.find(pc.get_name(), "VIP]") != nil begin
say("Sehr Gut, du konntest dich mit deinem")
say("VIP-Ticket ausweisen, ich gewähre")
say("dir somit Einblick in den VIP-Shop")
wait()
setskin(NOWINDOW)
npc.open_shop(9003) -- natürlich Anpassen.
syschat("VIP-Shop wurde geöffnet.")
end
when 20009.take with item.get_vnum()== 35004 and string.find(pc.get_name(), "VIP]") != nil begin
say("Sehr Gut, du konntest dich mit deinem")
say("VIP-Ticket ausweisen.")
say("")
say("Soll ich dich also zur VIP-Map bringen?")
if select("Ja", "Nein")==2 then return end
pc.warp( 402100, 673900) -- natürlich Anpassen.
end
when login with not npc.is_pc() and pc.getqf("first_vip")==0 begin
if string.find(pc.get_name(), "VIP]") != nil then
timer("login_vip", 2)
end
end
when login_vip.timer begin
say_title("VIP-Status")
say("")
say("Da diese Meldung erschienen ist, wurde der")
say("VIP-Vorgang erfolgreich abgeschlossen.")
say("")
say("Dir stehen nun einige Features zu, die andere")
say("Spieler nicht haben.")
wait()
say_title("VIP-Status")
say("")
say("Nun erhälst du erstmal dein VIP-Kit")
say("und weitere Informationen.")
say("")
say("Wie du bestimmt bemerkt hast, schwebt")
say("über dir ein VIP-Symbol, dieses kannst du")
say("durch die Chateingabe von (vip) rufen.")
say("")
say("Du erhälst jetzt ein VIP-Ticket mit dem du")
say_reward("- die VIP-Map betreten kannst.")
say_reward("- den VIP-Shop einsehen kannst.")
say("")
say("Ziehe dafür das VIP-Ticket auf den jeweiligen")
say("NPC. Das war erstmal, Viel Spaß noch!")
pc.give_item2(35004, 1)
pc.setqf("first_vip",1)
end
when 35002.use begin
if string.find(pc.get_name(), "VIP]") == nil then
say_title("Hallo "..pc.get_name().."!")
say("Mit diesem Item kannst du den VIP Status aktivieren.")
say("")
say_title("Infos:")
say("Nach erfolgreicher Nutzung wirst du gekickt!")
say("Du hast dann einen 20 Minuten Bann, nach der ")
say("den 20 Minuten ist der Vorgang abgeschlossen ")
say("und dein Account ist wieder frei!")
say("")
say("")
say("Möchtest du?")
say(pc.get_name().." --------> (VIP)"..pc.get_name())
if select("Ja", "Nein")==2 then return end
vip_by_kilroy.check_premise(35002)
if string.len(pc.get_name())<= 7 and not vip_by_kilroy.player_exists("[VIP]"..pc.get_name()) then
say_title("Erfolgreich!")
say("")
say_reward("Bereite dich auf einen Kick vor.")
say_reward("")
say_reward("Klicke auf 'Weiter' um fortzufahren.")
wait()
notice_all(pc.get_name().." ist nun ein VIP-Mitglied auf ....")
mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..pc.get_name().."');")
pc.remove_item(35002, 1)
cmdchat("exit")
else
say_title(pc.get_name().."!")
say("")
say("Die Vorraussetzungen zwingen dich einen")
say("neuen Namen zuwählen. Mögliche Gründe")
say("sind ein zu langer Name oder dein")
say("Name existiert mit VIP bereits.")
say("")
say_reward("Möchtest du ihn ändern um VIP zuwerden?")
if select("Ja", "Nein")==2 then return end
say_title("Name wechseln")
say("Gib bitte deinen Wunschnamen ein:")
say_reward("Beachte!")
say_reward("Nicht mehr als 7 oder weniger als 2 Buchstaben.")
say_reward("Sonderzeichen sind nicht erlaubt.")
local inp = input()
if vip_by_kilroy.vip_premise(inp, 7, 2, 1) then
say_title("Name wechseln")
say("")
say("Dein neuer Name besitzt entweder mehr als 7,")
say("weniger als 2 Buchstaben oder enthält ein")
say("unzulässiges Zeichen.")
return
elseif vip_by_kilroy.player_exists("[VIP]"..inp) then
say_title("Name wechseln")
say("")
say("Dieser Name existiert bereits,")
say("versuch es mit einem neuen erneut!")
return
end
say_title("Super!")
say("Dein Name erfüllt alle Voraussetzungen.")
say("")
say_title("Letzter Check")
say("Möchtest du wirklich mit dem Namen")
say("(VIP)"..inp.." dein Vip-Status aktivieren?")
if select("Ja", "Nein")==2 then return end
vip_by_kilroy.check_premise(35002)
say_title("Erfolgreich!")
say("")
say_reward("Bereite dich auf einen Kick vor.")
say_reward("")
say_reward("Klicke auf 'Weiter' um fortzufahren.")
wait()
notice_all(pc.get_name(), " heißt jetzt "..inp.." und ist nun ein VIP-Mitglied auf ....")
mysql_query("UPDATE player.player SET name='[VIP]"..inp.."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..inp.."');")
pc.remove_item(35002, 1)
cmdchat("exit")
end
else
say_title("Hallo "..pc.get_name().."!")
say("")
say("Du hast dein VIP-Status schon aktiviert,")
say("sollte dies nicht der Fall sein, kontaktiere")
say("bitte einen Teamler.")
say("")
say("Viel Spaß weiterhin!")
end
end
when 35003.use begin
if string.find(pc.get_name(), "VIP]") != nil then
say_title("Hallo "..pc.get_name().."!")
say("Mit diesem Item kannst du den VIP Status")
say("zurücksetzen..")
say("")
say_title("Infos:")
say("Nach erfolgreicher Nutzung wirst du gekickt!")
say("Du hast dann einen 20 Minuten Bann, nach der ")
say("den 20 Minuten ist der Vorgang abgeschlossen ")
say("und dein Account ist wieder frei!")
say("")
say("")
say("VIP Status zurücksetzen?")
say("(VIP)"..pc.get_name().."---->"..pc.get_name())
if select("Ja", "Nein")==2 then return end
vip_by_kilroy.check_premise(35003)
spl = split(pc.get_name(), "VIP]") -- Split Name bei VIP]
if not vip_by_kilroy.player_exists(spl[2]) then
say_title("Erfolgreich!")
say("")
say_reward("Bereite dich auf einen Kick vor.")
say_reward("")
say_reward("Klicke auf 'Weiter' um fortzufahren.")
wait()
mysql_query("UPDATE player.player SET name='"..spl[2].."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='"..spl[2].."');")
item.remove()
cmdchat("exit")
else
say_title("Dein Name!")
say("Es scheint so als würde dein Name.")
say("ohne das (VIP) bereits existieren,")
say("das ist aber nicht schlimm, denn du kannst")
say("ihn hier und jetzt ändern.")
say("")
say_reward("Möchtest du ihn ändern um VIP loszuwerden?")
if select("Ja", "Nein")==2 then return end
say_title("Name wechseln")
say("Gib bitte deinen Wunschnamen ein:")
say_reward("Beachte!")
say_reward("Nicht mehr als 7 oder weniger als 2 Buchstaben.")
say_reward("Sonderzeichen sind nicht erlaubt.")
local inp = input()
if vip_by_kilroy.vip_premise(inp, 7, 2, 1) then
say_title("Name wechseln")
say("")
say("Dein neuer Name besitzt entweder mehr als 7,")
say("weniger als 2 Buchstaben oder enthält ein")
say("unzulässiges Zeichen.")
return
elseif not vip_by_kilroy.player_exists(inp) then
say_title("Name wechseln")
say("")
say("Ich habe festgestellt das dein neuer Name bereits")
say("existiert, versuch es mit einem neuen erneut!")
return
end
say_title("Super!")
say("Dein Name erfüllt alle Voraussetzungen.")
say("")
say_title("Letzter Check")
say("Möchtest du wirklich mit dem Namen")
say(inp.." dein Vip-Status zurücksetzen?")
if select("Ja", "Nein")==2 then return end
vip_by_kilroy.check_premise(35003)
say_title("Erfolgreich!")
say("")
say_reward("Bereite dich auf einen Kick vor.")
say_reward("")
say_reward("Klicke auf 'Weiter' um fortzufahren.")
wait()
spl = split(pc.get_name(), "VIP]")
mysql_query("UPDATE player.player SET name='"..inp.."' WHERE name='"..pc.get_name().."'")
mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='"..inp.."');")
item.remove()
cmdchat("exit")
end
else
say_title("Hallo "..pc.get_name().."!")
say("Du hast deinen VIP-Status")
say("noch garnicht aktiviert.")
end
end
function player_exists(name)
if tonumber(mysql_query("select count(*) from player.player where name = '"..name.."';")[1][1]) >= 1 then
return true
end
end
function vip_premise(name, maxi, mini, sonder)
if sonder != 0 then
if string.len(name) > maxi or name == "" or string.len(name) < mini then
return true
end
else
if string.len(name) > maxi or name == "" or string.len(name) < mini or string.find(name, "(%W)") ~= nil then
return true
end
end
end
function check_premise(item)
if pc.is_married() then
say("Während du verheiratet bist kannst du")
say("kein VIP werden.")
return
elseif pc.is_polymorphed() then
say("Während du verwandelt bist kannst du")
say("kein VIP werden.")
return
elseif not pc.can_warp() then
say("Du hast vorkurzem gehandelt, so kannst du")
say("kein VIP werden.")
return
elseif pc.has_guild() then
say("Während du in einer Gilde bist kannst du")
say("kein VIP werden.")
return
elseif party.is_party() then
say("Während du in einer Gruppe bist kannst du")
say("kein VIP werden.")
return
elseif pc.count_item(item) < 1 then
say("Bugusern wird kein VIP entzogen!")
return
end
end
end
end
-----------------------------------------
-- written by Kilroy.
-- Benötigt Questlib Erweit. Mijago
------------------------------------------
|
|
|
06/09/2016, 13:12
|
#12343
|
elite*gold: 0
Join Date: May 2009
Posts: 85
Received Thanks: 13
|
Hallo ich brauche bitte mal hilfe kann mir das jemand so machen das mann auch geportet wird ... also das eine Insel map mit 5 Inseln
Nur leider wenn mann auf der 1 Insel ist diesen mob killt wird mann nicht geportet
Quote:
quest Sempa begin
state start begin
when NPC.chat."Sempai-Map" begin
if pc.get_level() < 50 then
say ("Du musst Level 50 sein um den Yolo zu betreten.!")
else
say_title("Sempai Map")
say("Das ist der Yolo RUN.")
local s = select("Yes", "No")
if s == 1 then
pc.warp(954100, 954400)
else
return
end
end
end
end
when 8021.kill with pc.in_dungeon() begin
d.setf("devillevel", 1)
d.spawn_mob(8022, 44, 37)
d.jump_all(17000+44, 35000+37)
end
when 8022.kill with pc.in_dungeon() begin
d.setf("devillevel", 2)
d.spawn_mob(8023, 102, 164)
d.jump_all(17000+102, 35000+164)
end
when 8023.kill with pc.in_dungeon() begin
d.setf("devillevel", 3)
d.spawn_mob(8024, 185, 194)
d.jump_all(17000+185, 35000+194)
end
when 8024.kill with pc.in_dungeon() begin
d.setf("devillevel", 4)
d.spawn_mob(8025, 215, 106)
d.jump_all(17000+215, 35000+106)
end
when 8025.kill with pc.in_dungeon() begin
d.setf("devillevel", 5)
d.spawn_mob(8026, 479, 145)
d.jump_all(17000+479, 35000+145)
end
when 8026.kill with pc.in_dungeon() begin
local level = pc.get_level()
chat("Du hast den Lezten Yolo Besiegt")
chat("Yolo Yolo!")
d.kill_all()
d.kill_all()
notice_all("Die Gruppe "..pc.get_name().." Yolo")
timer("goout_from_dc", 25)
end
when dc6.timer begin
chat("Yolo")
warp_all_to_village( pc.get_map_index() , 5 )
end
when goout_from_dc.timer begin
warp_all_to_village( pc.get_map_index() , 3 )
end
end
end
|
kann mir keiner helfen?
|
|
|
06/10/2016, 12:44
|
#12344
|
elite*gold: 0
Join Date: Jun 2016
Posts: 7
Received Thanks: 4
|
Quote:
Originally Posted by kloram
Hallo ich brauche bitte mal hilfe kann mir das jemand so machen das mann auch geportet wird ... also das eine Insel map mit 5 Inseln
Nur leider wenn mann auf der 1 Insel ist diesen mob killt wird mann nicht geportet
kann mir keiner helfen?
|
Du musst beim Betreten einen d.new_jump machen (damit wird der Spieler in eine neue Dungeon Instanz teleportiert) und beim Töten der Monster dann ein d.warp_all (teleportiert alle Spieler im aktuellen Dungeon an eine andere Position im selben Dungeon).
|
|
|
06/10/2016, 18:26
|
#12345
|
elite*gold: 0
Join Date: May 2009
Posts: 85
Received Thanks: 13
|
Könntest mir per Skype helfen?
Kann mir keiner helfen?
|
|
|
All times are GMT +1. The time now is 12:26.
|
|