|
You last visited: Today at 00:43
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
12/24/2015, 23:52
|
#12046
|
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
|
Quote:
Originally Posted by Pawnz99
Ja sry, vergessen ...
QUEST:
quest give_basic_weapon begin
state start begin
when login begin
local item_vnum = 19
local item_vnum2 = 11209
local item_vnum3 = 12209
if pc.get_job() == 1 then
item_vnum = 1009
item_vnum2 = 11409
item_vnum3 = 12349
elseif pc.get_job() == 2 then
item_vnum2 = 11609
item_vnum3 = 12489
elseif pc.get_job() == 3 then
item_vnum = 7009
item_vnum2 = 11809
item_vnum3 = 12629
end
pc . give_item2("27003" , 200)
pc . give_item2("27003" , 200)
pc . give_item2("27003" , 200)
pc . give_item2("27003" , 200)
pc . give_item2("27003" , 200)
pc . give_item2("27006" , 200)
pc . give_item2("27006" , 200)
pc . give_item2("71050" , 200)
pc . give_item2("72702" , 1)
pc . give_item2("50051" , 1)
pc . give_item2("70007" , 1)
pc . give_item2("70038" , 200)
pc . give_item2("40002" , 1)
pc . give_item2("50512" , 1)
set_state(weiter)
end
end
state weiter begin
when letter begin
send_letter("Willkommen auf Antakia2")
end
when button or info begin
say_title("Willkommen "..pc.get_name())
say("Falls du Fragen oder Beschwerden hast, dann bitte einen Teamler um hilfe")
set_state(ende)
end
end
state ende begin
end
end
|
lass ma die " " bei pc.give_item2 weg, so isses echt schwer, den Code zu überprüfen. :x
|
|
|
12/25/2015, 21:10
|
#12047
|
elite*gold: 17
Join Date: Sep 2015
Posts: 2,487
Received Thanks: 1,032
|
nach jedem elseif gehört ein end hin. desweiteren müssen die Anführungszeichen bei den vnums weg.
|
|
|
12/25/2015, 21:19
|
#12048
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by Nguyen.
nach jedem elseif gehört ein end hin. desweiteren müssen die Anführungszeichen bei den vnums weg.
|
Nein, nur nach dem letzten if / elseif / else des Blocks.
Beispiel:
Code:
if true then
--code
end
--@@@@
if true then
--code
else
--code
end
--@@@
if true then
--code
elseif true then
--code
else
--code
end
Die Anführungszeichen bei den vnums kann man übrigens auch dort stehen lassen, es würde so funktionieren. Schöner ist es allerdings ohne.
|
|
|
12/27/2015, 00:08
|
#12049
|
elite*gold: 0
Join Date: Dec 2014
Posts: 54
Received Thanks: 5
|
Moin ich habe mich gerade mal nach ein paar Quests erkundigt und diese schöne Quest gefunden. Soweit ist alles eingefügt, nur die Quest will nicht. In der Konsole kommt der Fehler: Calls undeclared function!:
mysql_query
pc.can_warp
split
string.find
Error occured on compile vip_by_kilroy.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 ------------------------------------------
|
|
|
12/27/2015, 00:20
|
#12050
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
trage die aufgelisteten Funktionen mal in die quest_functions ein.
Außerdem benötigst du, wie bereits im Header der Quest steht, die Questlib Erweiterung von Mijago (ich hoffe die hast du )
|
|
|
12/27/2015, 00:28
|
#12051
|
elite*gold: 0
Join Date: Dec 2014
Posts: 54
Received Thanks: 5
|
Ja, ich habe natürlich die Questlib Erweiterungen ^^
EDIT: Oh, die Function. Es hat geklappt!! Ich danke dir !
|
|
|
12/27/2015, 12:31
|
#12052
|
elite*gold: 0
Join Date: Apr 2010
Posts: 2,047
Received Thanks: 744
|
Guten Tag zusammen
Ich hab da eine Quest die nicht funktioniert. Es erscheint kein Fehler in der Konsole.
Kodierung UTF-8 ohne BOM lässt diese Quest mit Umlautefehler funktionieren, bei UTF-8
bekomme ich ein Fehler in der 1. Zeile und bei ANSI passiert überhaupt nichts.
PHP Code:
quest patchlog begin state start begin when 20095.chat."Was gibt es Neues?" begin say_title("Seon-Hae:") say("Sei gegrüßt, "..pc.get_name()..", ") say("Unsere Welt ist klein, und es ändern") say("sich jeden Tag große und kleine Dinge.") say("Hier hast du die Möglichkeit nachzulesen") say("welche Dinge hier erneuert und verarbeitet") say("worden sind. Was neu hinzugefügt bzw. ") say("verändert wurde.") say("") say_reward("Welche Neuigkeiten interessieren dich?") local a = select("Client", "Server", "Abbruch") if a == 3 then return end if a == 1 then say_title("Änderungen im Client:") say("- Neue Metinsteine und Monster") say("- Neues und automatisches Himmelsystem") say("- Map1 für alle Reiche zentral verlagert") say("- Design und Interface in BlackEndless-Stil") say("- Ein Paar weitere Icons und Gegenstände") say("- Patcher eingebaut") say("- Account registrieren über das Menü") say("- Regen ins Spiel implementiert.") say("- Neue Loading-Hintergründe") say("- Neuer Charakterauswahl Hintergrund") say("- Neuer Login-Bildschirm") say("- Levelanzeige eingefügt") say("- Aura des Schwerts und starker Körper") say(" haben keine Aktivierungspause mehr") say("- Tag/Nacht aktivität auf Wüsten Map") say("") say_reward("Das ist der aktuelle Stand.") say("") end if a == 2 then say_title("Änderungen im Server:") say("- Neue Monster und Metins") say("- Blutsteine dropbar") say("- Eine neue Lv 100 Map") say("- Mülleimer + Belohnung beim spenden") say("- Neue Quests (Boss Aufträge) ") say("- Erhöhte Chance, Fertigkeitsbücher zu droppen") say("- Adventskalender eingefügt.") say("- Geschenke, Frösche und Kürbise bei Saison") say("- Seelensteine Erfolgsquote 70%") say("- Name bleibt über gedroppte Beute 1 Minute") say("- Techstufen der Fertigkeitsbücher entfernt.") say("- Patcher + Registrationssystem") say("- stabilisierte Quests") say("- Levelanzeige eingebaut.") say("- Dreifache Preise in fremden Gebieten entfernt") say("- Frucht des Lebens: 3000 Rangpunkte +") say("- Reittiere + Siegel") wait() say("- Pferdemedallien nur abgeben zum Pferd leveln") say("- Glas der Einsicht") say("- Spinnendungeon 3 eröffnet") say("- Neue Maps ab Level 90") say("- Neue Monster (Zombies) ") say("- Bank für Yang eröffnet") say("- Willkommensnachricht beim Login") say("- Kristall zum teleportieren auf andere Maps") say("- Anfangshelferin zu Beginn") say("- Schmied: Chance +1-6=99% ") say("- Biologen Quests") say("- Monster-Kill Aufträge") say("- Metinstein-zerstören Aufträge") say("- Verbesserungsitems Dropchance erhöht") say("- Muschel als Alternativdrop") say("- Segensschriftrolle als Alternativdrop") say("- Seelensteine als Alternativdrop") say("") say_reward("Das wäre mal alles was ich weiss!") end end end end
Habe den ganzen Verlauf immerwieder mit "mc qc" und "reload q" aktualisiert
und sogar reboots gemacht ohne Erfolg.
Könnt ihr mir bitte helfen?
Gruß, Endless
|
|
|
12/27/2015, 12:56
|
#12053
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
hm was mir so spontan einfällt ist, dass es früher immer bei Sonderzeichen am Zeilenende Probleme gemacht hat (ä ö ü etc)
Kp ob das immer noch so ist
|
|
|
12/27/2015, 13:08
|
#12054
|
elite*gold: 0
Join Date: Apr 2010
Posts: 2,047
Received Thanks: 744
|
Naja ich habe jetzt gerade vor Zeilenende überall Leerzeichen gemacht und manche Sonderzeichen entfernt, wobei ich sagen muss, das mir des in den neueren Files keine Probleme gemacht hat, wenn zum Schluss ein ?, !, : oder eines der Umlaute wie ä.
Statt "Änderungen" habe ich "Aktuelles" genommen.. leider zeigt diese Änderung keinen Erfolg
PHP Code:
quest patchlog begin state start begin when 20095.chat."Was gibt es Neues" begin say_title("Seon-Hae: ") say("Sei gegrüßt, "..pc.get_name().." ! ") say("Unsere Welt ist klein, und es ändern ") say("sich jeden Tag große und kleine Dinge. ") say("Hier hast du die Möglichkeit nachzulesen ") say("welche Dinge hier erneuert und verarbeitet ") say("worden sind. Was neu hinzugefügt bzw. ") say("verändert wurde.") say("") say_reward("Welche Neuigkeiten interessieren dich? ") local a = select("Client", "Server", "Abbruch") if a == 3 then return end if a == 1 then say_title("Aktuelles im Client:") say("- Neue Metinsteine und Monster") say("- Neues und automatisches Himmelsystem") say("- Map1 für alle Reiche zentral verlagert") say("- Design und Interface in BlackEndless-Stil") say("- Ein Paar weitere Icons und Gegenstände") say("- Patcher eingebaut") say("- Account registrieren über das Menü") say("- Regen ins Spiel implementiert.") say("- Neue Loading-Hintergründe") say("- Neuer Charakterauswahl Hintergrund ") say("- Neuer Login-Bildschirm ") say("- Levelanzeige eingefügt ") say("- Aura des Schwerts und starker Körper ") say(" haben keine Aktivierungspause mehr ") say("- Tag/Nacht aktivität auf Wüsten Map ") say(" ") say_reward("Das ist der aktuelle Stand. ") say(" ") end if a == 2 then say_title("Aktuelles im Server: ") say("- Neue Monster und Metins ") say("- Blutsteine dropbar ") say("- Eine neue Lv 100 Map ") say("- Mülleimer + Belohnung beim spenden ") say("- Neue Quests: Boss Auftrag ") say("- Erhöhte Chance, Fertigkeitsbücher zu droppen ") say("- Adventskalender eingefügt ") say("- Geschenke, Frösche und Kürbisse bei Saison ") say("- Seelensteine Erfolgsquote 70 Prozent ") say("- Name bleibt über gedroppte Beute 1 Minute ") say("- Techstufen der Fertigkeitsbücher entfernt. ") say("- Patcher + Registrationssystem ") say("- stabilisierte Quests ") say("- Levelanzeige eingebaut. ") say("- Dreifache Preise in fremden Gebieten entfernt ") say("- Frucht des Lebens: 3000 Rangpunkte ") say("- Reittiere + Siegel") wait() say("- Pferdemedallien nur abgeben zum Pferd leveln") say("- Glas der Einsicht") say("- Spinnendungeon 3 eröffnet ") say("- Neue Maps ab Level 90 ") say("- Neue Monster: Zombies ") say("- Bank für Yang eröffnet ") say("- Willkommensnachricht beim Login ") say("- Kristall zum teleportieren auf andere Maps ") say("- Anfangshelferin zu Beginn ") say("- Schmied: Chance +1 - 6 = 99 Prozent ") say("- Biologen Quests ") say("- Monster-Kill Auftrag ") say("- Metinstein-zerstören Auftrag ") say("- Verbesserungsitems Dropchance erhöht ") say("- Muschel als Alternativdrop ") say("- Segensschriftrolle als Alternativdrop ") say("- Seelensteine als Alternativdrop ") say(" ") say_reward("Das wäre mal alles was ich weiss. ") end end end end
|
|
|
12/27/2015, 15:49
|
#12055
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
so, also
Ich habe mir jetzt extra für dich Serverfiles installiert 
Ich hatte beim compilen deiner ursprünglichen Quest eine Fehlermeldung.
Anschließend habe ich meine Vermutung benutzt und in Zeile 25 Menü zu Menue geändert und siehe da, sie compiliert ohne Fehler durch und Ingame kann ich die Quest auch ohne Probleme aufrufen
PHP Code:
quest patchlog begin state start begin when 20095.chat."Was gibt es Neues?" begin say_title("Seon-Hae:") say("Sei gegrüßt, "..pc.get_name()..", ") say("Unsere Welt ist klein, und es ändern") say("sich jeden Tag große und kleine Dinge.") say("Hier hast du die Möglichkeit nachzulesen") say("welche Dinge hier erneuert und verarbeitet") say("worden sind. Was neu hinzugefügt bzw. ") say("verändert wurde.") say("") say_reward("Welche Neuigkeiten interessieren dich?") local a = select("Client", "Server", "Abbruch") if a == 3 then return elseif a == 1 then say_title("Änderungen im Client:") say("- Neue Metinsteine und Monster") say("- Neues und automatisches Himmelsystem") say("- Map1 für alle Reiche zentral verlagert") say("- Design und Interface in BlackEndless-Stil") say("- Ein Paar weitere Icons und Gegenstände") say("- Patcher eingebaut") say("- Account registrieren über das Menue") say("- Regen ins Spiel implementiert.") say("- Neue Loading-Hintergründe") say("- Neuer Charakterauswahl Hintergrund") say("- Neuer Login-Bildschirm") say("- Levelanzeige eingefügt") say("- Aura des Schwerts und starker Körper") say(" haben keine Aktivierungspause mehr") say("- Tag/Nacht aktivität auf Wüsten Map") say("") say_reward("Das ist der aktuelle Stand.") say("") elseif a == 2 then say_title("Änderungen im Server:") say("- Neue Monster und Metins") say("- Blutsteine dropbar") say("- Eine neue Lv 100 Map") say("- Mülleimer + Belohnung beim spenden") say("- Neue Quests (Boss Aufträge) ") say("- Erhöhte Chance, Fertigkeitsbücher zu droppen") say("- Adventskalender eingefügt.") say("- Geschenke, Frösche und Kürbise bei Saison") say("- Seelensteine Erfolgsquote 70%") say("- Name bleibt über gedroppte Beute 1 Minute") say("- Techstufen der Fertigkeitsbücher entfernt.") say("- Patcher + Registrationssystem") say("- stabilisierte Quests") say("- Levelanzeige eingebaut.") say("- Dreifache Preise in fremden Gebieten entfernt") say("- Frucht des Lebens: 3000 Rangpunkte +") say("- Reittiere + Siegel") wait() say("- Pferdemedallien nur abgeben zum Pferd leveln") say("- Glas der Einsicht") say("- Spinnendungeon 3 eröffnet") say("- Neue Maps ab Level 90") say("- Neue Monster (Zombies) ") say("- Bank für Yang eröffnet") say("- Willkommensnachricht beim Login") say("- Kristall zum teleportieren auf andere Maps") say("- Anfangshelferin zu Beginn") say("- Schmied: Chance +1-6=99% ") say("- Biologen Quests") say("- Monster-Kill Aufträge") say("- Metinstein-zerstören Aufträge") say("- Verbesserungsitems Dropchance erhöht") say("- Muschel als Alternativdrop") say("- Segensschriftrolle als Alternativdrop") say("- Seelensteine als Alternativdrop") say("") say_reward("Das wäre mal alles was ich weiss!") end end end end
|
|
|
12/27/2015, 16:24
|
#12056
|
elite*gold: 0
Join Date: Dec 2015
Posts: 14
Received Thanks: 0
|
AutoGmList
AutoGmList
Lange rede kurzer Sinn wenn ich die Quest einfüge und in VB den Befehl zum quest neuladen eingebe: m2 qc dann kommt die Fehlermeldung aufm Bild ganz unten verlinkt, falls ihr mir helfen könntet wäre das richtig korrekt.
MfG
PHP Code:
quest autogmliste begin
state start begin
function set_gm_to_liste ( name )
if name == nil then return end
mysql_query("INSERT INTO quest.gm_liste (name,status) VALUES ('"..name.."', 'online')")
end
function update_status ( name, status )
if name == nil then return end
mysql_query("UPDATE quest.gm_liste SET status = '"..status.."' WHERE name = '"..name.."'")
end
function exist_gm ( name )
local count = mysql_query("SELECT COUNT(*) as count FROM quest.gm_liste WHERE name = '"..name.."'")
if tonumber(count[1][1]) > 0 then
return true
elseif tonumber(count[1][1]) < 1 then
return false
end
end
function get_gm_liste()
say_title("- TEAM Online Liste - ")
say("")
say_reward("Hier kannst du immer sehen welcher Teamler On ist")
say_reward("Diese Liste ist immer aktuell und enthält jeden GM.")
say("")
local count = mysql_query("SELECT COUNT(name) as count FROM quest.gm_liste")
local info = mysql_query("SELECT name, status FROM quest.gm_liste")
local i = 1
while tonumber(count[1][1]) >= i do
say("Name: "..info.name[i].." Status: "..info.status[i])
i = i + 1
end
end
when login begin
if pc.is_gm() then
if gm_online.exist_gm (pc.get_name()) == false then
if gm_online.set_gm_to_liste (pc.get_name())
end
gm_online.update_status(pc.get_name(),"online")
end
send_letter("TEAM Online Liste")
end
when button or info begin
gm_online.get_gm_liste()
end
when logout or disconnect with pc.is_gm() begin
gm_online.update_status (pc.get_name(),"offline")
end
end
end
Fehlercode:
|
|
|
12/27/2015, 16:37
|
#12057
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Ich habs mal so geschrieben wies für mich logisch ist, und ein if entfernt.
Außerdem hast du die quest wohl umbenannt.
Dann musst du auch alle Funktionsaufrufe von in der Quest definierten Funktionen anpassen.
PHP Code:
quest autogmliste begin state start begin function set_gm_to_liste ( name ) if name == nil then return end mysql_query("INSERT INTO quest.gm_liste (name,status) VALUES ('"..name.."', 'online')") end function update_status ( name, status ) if name == nil then return end mysql_query("UPDATE quest.gm_liste SET status = '"..status.."' WHERE name = '"..name.."'") end function exist_gm ( name ) local count = mysql_query("SELECT COUNT(*) as count FROM quest.gm_liste WHERE name = '"..name.."'") if tonumber(count[1][1]) > 0 then return true elseif tonumber(count[1][1]) < 1 then return false end end function get_gm_liste() say_title("- TEAM Online Liste - ") say("") say_reward("Hier kannst du immer sehen welcher Teamler On ist") say_reward("Diese Liste ist immer aktuell und enthält jeden GM.") say("") local count = mysql_query("SELECT COUNT(name) as count FROM quest.gm_liste") local info = mysql_query("SELECT name, status FROM quest.gm_liste") local i = 1 while tonumber(count[1][1]) >= i do say("Name: "..info.name[i].." Status: "..info.status[i]) i = i + 1 end end when login begin if pc.is_gm() then if autogmliste.exist_gm (pc.get_name()) == false then autogmliste.set_gm_to_liste (pc.get_name()) end autogmliste.update_status(pc.get_name(),"online") end send_letter("TEAM Online Liste") end when button or info begin autogmliste.get_gm_liste() end when logout or disconnect with pc.is_gm() begin autogmliste.update_status (pc.get_name(),"offline") end end end
|
|
|
12/27/2015, 16:45
|
#12058
|
elite*gold: 0
Join Date: Dec 2015
Posts: 14
Received Thanks: 0
|
Quote:
Originally Posted by .Delta
Ich habs mal so geschrieben wies für mich logisch ist, und ein if entfernt.
Außerdem hast du die quest wohl umbenannt.
Dann musst du auch alle Funktionsaufrufe von in der Quest definierten Funktionen anpassen.
PHP Code:
quest autogmliste begin
state start begin
function set_gm_to_liste ( name )
if name == nil then return end
mysql_query("INSERT INTO quest.gm_liste (name,status) VALUES ('"..name.."', 'online')")
end
function update_status ( name, status )
if name == nil then return end
mysql_query("UPDATE quest.gm_liste SET status = '"..status.."' WHERE name = '"..name.."'")
end
function exist_gm ( name )
local count = mysql_query("SELECT COUNT(*) as count FROM quest.gm_liste WHERE name = '"..name.."'")
if tonumber(count[1][1]) > 0 then
return true
elseif tonumber(count[1][1]) < 1 then
return false
end
end
function get_gm_liste()
say_title("- TEAM Online Liste - ")
say("")
say_reward("Hier kannst du immer sehen welcher Teamler On ist")
say_reward("Diese Liste ist immer aktuell und enthält jeden GM.")
say("")
local count = mysql_query("SELECT COUNT(name) as count FROM quest.gm_liste")
local info = mysql_query("SELECT name, status FROM quest.gm_liste")
local i = 1
while tonumber(count[1][1]) >= i do
say("Name: "..info.name[i].." Status: "..info.status[i])
i = i + 1
end
end
when login begin
if pc.is_gm() then
if autogmliste.exist_gm (pc.get_name()) == false then
autogmliste.set_gm_to_liste (pc.get_name())
end
autogmliste.update_status(pc.get_name(),"online")
end
send_letter("TEAM Online Liste")
end
when button or info begin
autogmliste.get_gm_liste()
end
when logout or disconnect with pc.is_gm() begin
autogmliste.update_status (pc.get_name(),"offline")
end
end
end
|
Danke es hat geklappt
|
|
|
12/27/2015, 17:33
|
#12059
|
elite*gold: 0
Join Date: Apr 2010
Posts: 2,047
Received Thanks: 744
|
Danke Delta, du bist ein wahres Genie
Eine Frage hätte ich noch. Wenn ich jetzt mit notepad++ eine Quest schreiben möchte,
auf welche Kodierung soll ich se einstellen, damit se wirklich richtig ist? UTF-8 ohne BOM und dann auf ANSI kodieren? oder direkt auf ANSI lassen?
Gruß
|
|
|
12/27/2015, 18:37
|
#12060
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Quote:
Originally Posted by Endless.
Danke Delta, du bist ein wahres Genie
Eine Frage hätte ich noch. Wenn ich jetzt mit notepad++ eine Quest schreiben möchte,
auf welche Kodierung soll ich se einstellen, damit se wirklich richtig ist? UTF-8 ohne BOM und dann auf ANSI kodieren? oder direkt auf ANSI lassen?
Gruß
|
Öhm,
ich habe das eigentlich immer direkt auf ANSI eingestellt und fahre in der Regel damit ganz gut.
|
|
|
All times are GMT +1. The time now is 00:43.
|
|