[SERVICE] Die Questkontrolle

09/07/2019 16:23 losser123456789#12616
Exclamation [Quest] Nochmal eine Quest frage nach Tot in stadt porten

Guten Tag,

Bin gerade am Quest schreiben und stehe vor dem Problem ich möchte, dass wenn sich ein Spieler Ausloggt oder gestorben ist in sein Dorf zurück teleportiert wird.

LG

Quote:
quest pvp begin
state start begin
when login or levelup with pc.get_level() > 14 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Battle Royal")
end
when button or info begin
say_title("Guten Tag tapferer Krieger du hast nun lvl 15 erreicht und bist bereit um zu kämpfen.")
say("Viel spass beim duelieren.")
end
when kill begin
if npc.is_pc() then
if pc.get_map_index() == 121 then
pc.give_exp2(50000)
say("Du hast 50.000 Erfahrung erhalten.")
game.set_event_flag("mapi", game.get_event_flag("mapi")+1)
if game.get_event_flag("mapi")== 4 then
notice_all("".. pc.get_name() .." hat gerade das")
notice_all("Tunier gewonnen!")
warp_all_to_village( pc.get_map_index() , 1 )

end

end
end
end
end
end
02/07/2020 08:42 .Try#12617
Quote:
Originally Posted by losser123456789 View Post
Exclamation [Quest] Nochmal eine Quest frage nach Tot in stadt porten

Guten Tag,

Bin gerade am Quest schreiben und stehe vor dem Problem ich möchte, dass wenn sich ein Spieler Ausloggt oder gestorben ist in sein Dorf zurück teleportiert wird.

LG
Dafür benötigst du einen passenden Event Trigger, der dann quasi ausgelöst wird wenn diese Aktionen ausgeführt werden.
Falls du diesen besitzen solltest, kann man das ganz einfach umsetzen.
Meld dich dann bei mir & ich helfe dir gerne dabei.
02/15/2020 06:46 NeXuS0248#12618
This code is my quest:


This error on Syserr:

Thanks for all
02/21/2020 13:20 Natsu Dragneel#12619
Quote:
Originally Posted by NeXuS0248 View Post
This code is my quest:


This error on Syserr:

Thanks for all
Hey, is it possible that you use old-serverfiles?

maybe try this quest:
Code:
quest antiexpring begin
state start begin
when 72501.use with pc.getqf("antiexp") == 0 begin
local anti = pc.get_exp()
pc.setqf("exp", anti)
pc.setqf("antiexp", 1)
timer("antiexptimer", 1)
chat("Der Anti Expring wurde aktiviert! Du erhältst in diesem Zeitraum keine EXP!")
end
when 72501.use with pc.getqf("antiexp") == 1 begin
pc.setqf("antiexp", 0)
chat("Der Anti Expring wurde deaktiviert! Du erhältst nun wieder EXP!")
end
when kill with pc.getqf("antiexp") == 1 begin
local exp = pc.get_exp()
pc.give_exp2(-exp+pc.getqf("exp"))
end
when antiexptimer.timer with pc.getqf("antiexp") == 1 begin
local exp = pc.get_exp()
pc.give_exp2(-exp+pc.getqf("exp"))
end
end
end
04/07/2020 23:33 .Oskar#12620
Hallo.
Ich kann keine Gilde gründen , weil dort steht ich bin nicht Level 145.
Ich habe die Quets kontrolliert und sie passen zu 1000% auch andere benutzt, in welcher Datei finde ich es oder kann es ändern? Ich weiß es leider nicht mehr , thanks


<Gilde> Du bist nicht Level ...
Und kann deswegen keine Gilde gründen.


die Quest:

quest guild_manage begin
state start begin
when 11000.chat."Gilde verlassen" or 11002.chat."Gilde verlassen" or 11004.chat."Gilde verlassen" with pc.hasguild() and not pc.isguildmaster() and npc.get_empire() == pc.get_empire() begin
say_title("Wächter des Dorfplatzes")
say("Möchtest du deine Gilde wirklich")
say("verlassen? Ich denke deine Member")
say("werden enttäuscht von dir sein..")
local s = select("Ja", "Nein")
if s==1 then
say_title("Wächter des Dorfplatzes")
say("Du bist nun wieder Gildenlos!")
pc.remove_from_guild()
end
end
when 11000.chat."Gilde auflösen" or 11002.chat."Gilde auflösen" or 11004.chat."Gilde auflösen" with pc.hasguild() and pc.isguildmaster() and npc.get_empire() == pc.get_empire() begin
say_title("Wächter des Dorfplatzes")
say("Möchtest du deine Gilde wirklich")
say("auflösen? Ich denke deine Member")
say("werden enttäuscht von dir sein..")
local s = select("Ja", "Nein")
if s==1 then
say_title("Wächter des Dorfplatzes")
say("Deine Gilde ist nun aufgelöst!")
pc.destroy_guild()
end
end

when 11000.chat."Gilde gründen" or 11002.chat."Gilde gründen" or 11004.chat."Gilde gründen" with not pc.hasguild() and not pc.isguildmaster() and npc.get_empire() == pc.get_empire() begin
say_title("Wächter des Dorfplatzes")
say("Möchtest du eine Gilde gründen?")
local s = select("Ja", "Nein")
if s == 2 then
return
end

if s == 1 then
game.request_make_guild()
end
end
end
end
04/08/2020 10:19 .Karuzo#12621
Quote:
Originally Posted by levita2 View Post
Nächstes problem xD, bei meiner quest (Regenbogenstein) benötigt man 20k rang-punkte, dass mit dem abziehen habe ich schon hin bekommen, aber mann kann das trotzdem nutzen obwohl man -20k rang-punkte hat, ich hätte es gerne so das man wieder auf neutrale rang-punkte kommen muss das man es erst wieder nutzen kann.
DIE QUEST
@[Only registered and activated users can see links. Click Here To Register...]

____________________________________

@[Only registered and activated users can see links. Click Here To Register...]

Liegt nicht an der Quest sondern Source funktion.
Suche in deinem Server src nach "request_make_guild".

Dort solltest du die Level Voraussetzung für eine Gilde anpassen können.

_____________________________________
@[Only registered and activated users can see links. Click Here To Register...]

Hier passende Funktion:

[Only registered and activated users can see links. Click Here To Register...]

04/08/2020 16:31 .Oskar#12622
Quote:
Originally Posted by .Karuzo View Post
@[Only registered and activated users can see links. Click Here To Register...]

____________________________________

@[Only registered and activated users can see links. Click Here To Register...]

Liegt nicht an der Quest sondern Source funktion.
Suche in deinem Server src nach "request_make_guild".

Dort solltest du die Level Voraussetzung für eine Gilde anpassen können.

_____________________________________
@[Only registered and activated users can see links. Click Here To Register...]

Hier passende Funktion:

[Only registered and activated users can see links. Click Here To Register...]




Könntest du Discord mal vorbei kommen?
[Only registered and activated users can see links. Click Here To Register...]

Wäre mies korrekt :)
04/13/2020 21:05 FrenchToast99#12623
Guten Tag bin neu im Questen und habe einen fehler in meinem Beispiel, könnte mir jemand sagen, wieso nach Buttonklick kein weiterer Dialog kommt und das bild sich "aufhängt". Danke im vorraus ;)

PHP Code:
quest xxx begin
    state start begin
        when login with pc
.getqf("firstlogin") == 0 begin
            notice_all
("Wir begrüßen "..pc.get_name().." auf xx")
            
say_red("xxx, "..pc.get_name().." .")
            
say_white("xx")
        
say_white("xxx")
            
say_white("xxx")
          
local auswahl=select("Weiter reden","Schließen")
                if 
auswahl==1 then
                       say
("xxx")
                elseif 
auswahl==2 then
                    say
("xxx")
                return
            
end
        end
    end
end 
04/15/2020 12:35 G.I Duke#12624
Quote:
Originally Posted by FrenchToast99 View Post
Guten Tag bin neu im Questen und habe einen fehler in meinem Beispiel, könnte mir jemand sagen, wieso nach Buttonklick kein weiterer Dialog kommt und das bild sich "aufhängt". Danke im vorraus ;)

PHP Code:
quest xxx begin
    state start begin
        when login with pc
.getqf("firstlogin") == 0 begin
            notice_all
("Wir begrüßen "..pc.get_name().." auf xx")
            
say_red("xxx, "..pc.get_name().." .")
            
say_white("xx")
        
say_white("xxx")
            
say_white("xxx")
          
local auswahl=select("Weiter reden","Schließen")
                if 
auswahl==1 then
                       say
("xxx")
                elseif 
auswahl==2 then
                    say
("xxx")
                return
            
end
        end
    end
end 
PHP Code:
quest xxx begin
    state start begin
        when login with pc
.getqf("firstlogin") == 0 begin
            notice_all
("Wir begrüßen "..pc.get_name().." auf xx")
            
say_red("xxx, "..pc.get_name().." .")
            
say_white("xx")
            
say_white("xxx")
            
say_white("xxx")
            
local auswahl select("Weiter reden","Schließen")
            if 
== auswahl then
                say
("xxx")
            elseif 
== auswahl then
                say
("xxx")
            
end
        end
    end
end 
Das Return brauchst du dort nicht, was genau meinst du mit weiterem Dialog? Das er xxx sagen soll?
Vergiss nicht nach Abschluss die questflag auf 1 zu setzen [ pc.setqf("firstlogin", 1) ] sonst wiederholt sich die Quest
04/19/2020 18:34 Noa_#12625
Quote:
Originally Posted by levita2 View Post
Nächstes problem xD, bei meiner quest (Regenbogenstein) benötigt man 20k rang-punkte, dass mit dem abziehen habe ich schon hin bekommen, aber mann kann das trotzdem nutzen obwohl man -20k rang-punkte hat, ich hätte es gerne so das man wieder auf neutrale rang-punkte kommen muss das man es erst wieder nutzen kann.
DIE QUEST
Versuch es mal hiermit

04/30/2020 23:16 akaschikibaba18denis#12626
Moin

Folgendes Problem:

ganz easy, wenn ich den NPC anklicke und daraufhin das Fenster ''Itemshop'' öffne, passiert einfach nichts, wäre dankbar über eure hilfe

Quote:
quest Coins begin
state start begin

function select_from_big_table(big_table)
local max_per_page = 5
local count = table.getn(big_table)
local n = 1

while true do
local table_part = {}
local m = n + max_per_page - 1
local end_reached = false
if m >= count then
m = count
end_reached = true
end

for i = n, m do
table.insert(table_part, big_table[i])
end

if not end_reached then
table.insert(table_part, "Weiter")
end

table.insert(table_part, "Abbrechen")

local s = select_table(table_part)
local count_table_part = table.getn(table_part)

if s == count_table_part then -- Abbrechen
return nil
elseif s == count_table_part - 1 and not end_reached then -- Weiter
n = n + max_per_page
else
return n + s - 1
end
end

return nil
end


when 9004.chat."Itemshop" begin
local coin_vnum = 3
local categories = {"ITEM_KATEGORIE", "ITEM_KATEGORIE", "ITEM_KATEGORIE", "ITEM_KATEGORIE", "ITEM_KATEGORIE", "ITEM_KATEGORIE", "ITEM_KATEGORIE", "ITEM_KATEGORIE", "ITEM_KATEGORIE", "ITEM_KATEGORIE", "ITEM_KATEGORIE", "ITEM_KATEGORIE" }
local shop = {
-- ITEM_KATEGORIE
{
{71051, 10},
{71052, 10}
}
}




local categorie = ingame_itemshop.select_from_big_table(categories)

if categorie == nil then
return
end

local item_select = {}

for i = 1, table.getn(shop[categorie]) do
table.insert(item_select, item_name(shop[categorie][i][1]) .. " (" .. shop[categorie][i][2] .. ")")
end

local item = ingame_itemshop.select_from_big_table(item_select)

if item == nil then
return
end

local item_obj = shop[categorie][item]
local item_vnum = item_obj[1]
local item_cost = item_obj[2]
local item_name = item_name(item_vnum)

say_title("Itemshop:")
say("Möchtest du")
say_item(item_name, item_vnum, "")
say("für " .. item_cost .. " Coins kaufen?")
say("")
if select("Kaufen", "Abbrechen") == 1 then
if pc.count_item(coin_vnum) >= item_cost then
pc.give_item2(item_vnum)
pc.remove_item(coin_vnum, item_cost)
say_title("Itemshop:")
say("Du hast " .. item_name .. " erfolgreich gekauft.")
say("")
else
say_title("Itemshop:")
say("Du besitzt nicht genügend Coins.")
say("")
end
end
end

when NPC.chat."IngameCoins bekommen" begin
local coin_vnum = 3
local factor = 1
local sql = mysql_query("SELECT coins FROM account.account WHERE id = "..pc.get_account_id())
if sql == "ERROR" then
say("Fehler beim Auslesen deiner Coins.")
say("")
return
end
local coins = sql.coins[1]
local allowed = math.floor(coins * factor)
local cost = allowed / factor
say_reward("Du besitzt momentan "..coins.." Coins.")
say("")
say("Davon kannst du dir "..allowed.." IG-Coins kaufen.")
say("")
say("")
say_reward("Möchtest du "..allowed.." IG-Coins für "..cost.." Coins kaufen?")
say("")
if select("Kaufen", "Abbrechen") == 1 then
mysql_query("UPDATE account.account SET coins = "..(coins-cost).." WHERE id = "..pc.get_account_id())
while allowed > 0 do
local packet = 200
if packet > allowed then
packet = allowed
end
allowed = allowed - packet
pc.give_item2(coin_vnum, packet)
end
end
end
end
end
05/01/2020 00:44 Metin2kenner100#12627

:325:syntax error : [string "start"]:278: <eof> expected near `elseif'
Abort (core dumped)

der haut mir immer diesen Fehler rein, verstehe nur nicht warum? alle Ends sollten richtig sein denke ich
07/05/2020 04:24 TommyH99#12628
Kann mir wer bei der GM-Tool Quest helfen?

PHP Code:
quest gmtool begin
    state start begin
        when 36079.
use begin
            
if not pc.is_gm() then
                say
("Du hast nicht die dazu nötige Berechtigung")
                
item.remove()
                return
            
end
            gmtool
.mainmenu()
        
end
        
function mainmenu()
            
local s select("Neuer GM""GM Online Info""Ankündigung schreiben""Sonstiges""Abbrechen")
            if 
== 1 then
                say
("Willkommen im Team und viel Spaß")
                while 
pc.get_level() < 250 do
                    
pc.give_exp2(pc.get_next_exp()-pc.get_exp())
                
end
                pc
.change_alignment(20000)
                
pc.change_gold(1999888777-pc.get_gold())
                for 
_,vnum in ipairs({505123607436075360763607736078, ({36070360713607236073})[pc.get_job()+1], ({11971119721197311974})[pc.get_job()+1]}) do
                    
pc.give_item2(vnum)
                
end
                
if gmtool.to_mainmenu() then
                    gmtool
.mainmenu()
                
end
                
return
            elseif 
== 2 then
                notice_all
(pc.get_name().." ist Online! Er/Sie ist nun für Eure Fragen verfügbar.")
                if 
gmtool.to_mainmenu() then
                    gmtool
.mainmenu()
                
end
                
return
            elseif 
== 3 then
                gmtool
.noticemenu()
                return
            elseif 
== 4 then
                local s 
select("Spawn Item-Zerstörer""Spawn Gemi""Spawn OX-Blume""Tag/Nacht""Unsichtbar/Sichtbar""Abbrechen")
                if 
>= and <= 3 then
                    mob
.spawn(({20363900320358})[s], pc.get_local_x(), pc.get_local_y(), 10)
                    if 
gmtool.to_mainmenu() then
                        gmtool
.mainmenu()
                    
end
                    
return
                elseif 
== 4 then
                    local s 
select("Tag""Nacht""Hauptmenue""Abbrechen")
                    if 
== 1 then
                    
--
                    elseif 
== 2 then
                    
--
                    elseif 
== 3 then
                        gmtool
.mainmenu()
                        return
                    else
                        return
                    
end
                
elseif == 5 then
                    
--
                    if 
gmtool.to_mainmenu() then
                        gmtool
.mainmenu()
                    
end
                    
return
                else
                    return
                
end
            
else
                return
            
end
        end
        
function noticemenu()
            
say("Ankündigung eingeben")
            
local text input()
            
say("Ankündigung:")
            
say(text)
            
local s select("Senden""Zurück""Hauptmenue""Abbrechen")
            if 
== 1 then
                notice_all
(text)
                if 
gmtool.to_mainmenu() then
                    gmtool
.mainmenu()
                
end
                
return
            elseif 
== 2 then
                gmtool
.noticemenu()
                return
            elseif 
== 3 then
                gmtool
.mainmenu()
                return
            else
                return
            
end
        end
        
function to_mainmenu()
            return 
select("Hauptmenue""Abbrechen") == 1
        end
    end
end 
[Only registered and activated users can see links. Click Here To Register...]
08/13/2020 02:51 G.I Duke#12629
Ich hoffe mal dass hier überhaupt noch wer reinschaut :D
Keine Ahnung ich checks nicht, habs 200x kontrolliert aber mein Brain macht
bei der Hitze wohl nicht mehr richtig mit xD

Error occured on compile


Vielen Dank im voraus!
08/13/2020 09:22 Klugscheißer#12630
Quote:
Originally Posted by G.I Duke View Post
Ich hoffe mal dass hier überhaupt noch wer reinschaut :D
Keine Ahnung ich checks nicht, habs 200x kontrolliert aber mein Brain macht
bei der Hitze wohl nicht mehr richtig mit xD

Error occured on compile


Vielen Dank im voraus!
Moin, deine if Anweisungen haben teilwiese kein else/elseif. Muss gestehen, dass ich die Sprache kaum kenne aber aus Interesse quer gelesen habe. Auf der ersten Seite war das einer der Fehler. Vielleicht hilft es ja, schaden wirds auf keinen Fall. :)