|
You last visited: Today at 15:33
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
05/17/2015, 21:28
|
#11551
|
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
|
Quote:
Originally Posted by .Soυzα
Guten Tag,
ich habe soeben eine neue Chrismas Quest eingefügt und habe diesen Fehler bekommen.
Code:
christmas_tree_2014.quest:34:expecting 'when' or 'function'
Error occured on compile christmas_tree_2014.quest
Leider habe ich in zeile 34 keinen Fehler entdeckt.
Code:
pc.give_item2(30603,1)
else
syschat("return")
end
end
elseif s==3 then
say(locale.christmas_tree.greet2)
elseif s==1 then
say(locale.christmas_tree.intro_msg)
end
end
|
Schick mal die ganze Quest bzw paar Zeile davor.
|
|
|
05/17/2015, 22:00
|
#11552
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
elseif ohne if davor geht nicht
|
|
|
05/18/2015, 13:28
|
#11553
|
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
|
Quote:
Originally Posted by usr.setVnum(1093)
elseif ohne if davor geht nicht
|
war schon richtig problem war nur was ganz anderes.
|
|
|
05/18/2015, 15:29
|
#11554
|
elite*gold: 0
Join Date: Oct 2014
Posts: 311
Received Thanks: 35
|
Quote:
quest player_kill1 begin
state start begin
when login or levelup with pc.level >= 30 begin
set_state(player_kill1)
end
end
state player_kill1 begin
when letter begin
send_letter("PvP - Quest")
end
when button or info begin
say("Nun hast du endlich Level 30 erreicht.")
say("Jetzt musst du zeigen,")
say("was in dir steckt!")
say("Am besten kannst du das beweisen, wenn du")
say("50 Spieler aus einem anderen Reich tötest.")
say_reward("Töte 50 andere Spieler aus anderen Reichen!")
say("")
pc.setqf("state", 50)
q.set_counter("kills", 50)
set_state(kill)
end
end
state kill begin
when letter begin
send_letter("Töte Spieler")
end
when button or info begin
say_title("Spieler:")
say_reward("Du musst noch "..pc.getqf("state").." von 50 töten")
say("")
end
when kill begin
if npc.is_pc() and npc.empire != pc.empire then
local count = pc.getqf("state") - 1
if count <= 50 then
pc.setqf("state", count)
q.set_counter("kills", -count)
end
if count == 0 then
say("Sehr gut, du hast es geschafft!")
say("Nach langer Zeit hast du nun endlich")
say("deinen 50. Kill gemacht! Gratulation")
say("Diese Anstrengung soll nicht unbelohnt")
say("bleiben. Hier deine Belohnung!")
pc.give_item2(HIER DIE ID VOM AZRAEL PET)
pc.give_item2(HIER DIE ID VOM RING1)
pc.give_item2(HIER DIE ID VOM RING2)
end
clear_letter()
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
|
Möchte bei der Quest das man zu einem Npc gehen muss um sie an zu nehmen und das man wenn man die 50 Leute gekillt hat +50 Verteidigung als Belohnung bekommt.
|
|
|
05/18/2015, 22:24
|
#11555
|
elite*gold: 0
Join Date: Jan 2012
Posts: 42
Received Thanks: 7
|
Hey guys, please can i ask how to make quest for IS coupon? That i click for example 80001 and it will give me 30 coins on account?
|
|
|
05/19/2015, 20:16
|
#11556
|
elite*gold: 0
Join Date: Feb 2013
Posts: 46
Received Thanks: 5
|
Ich habe eine Warpquest mit Levelbegrenzung, das Problem wenn man zu low vom lvl ist dann buggt es rumm das fenster wir leicht schwarz (oben und unten). Will nun das wenn man unter dem lvl ist das sich das Fenster einfach schließt
PHP Code:
quest lowlvlmapport begin
state start begin
when 20009.chat."Low Levelmap - Lv.110" begin
if pc.get_level() >= 110 then
say_title("Low Levelmap")
say("")
say_red("Möchtest du in die Levelmap teleportiert werden?")
local s = select("Ja", "Nein")
if s == 1 then
pc.warp(83200, 0)
elseif s == 2 then
return
end
else
return
end
end
end
end
|
|
|
05/19/2015, 22:02
|
#11557
|
elite*gold: 0
Join Date: May 2015
Posts: 100
Received Thanks: 13
|
Kill bestimmter Mobs wird nicht registriert
Hallo epvp-Community,
das hier ist mein erster Post, nachdem ich am Wochenende mit dem Erstellen eines Hamachi-Servers begonnen habe. Habt bitte Verständnis  Ich benutze die Daroo 2011er Serverfiles, falls es jemanden interessiert.
Als ich die Dropps anpassen wollte und in die mob_drop_item.txt geschaut habe, kam mir das schon zeimlich verwirrend vor und selbst als ich bei Drops 100% angegeben habe, kamen die nicht durchgängig. Habe dann alle Drops aus den Dateien entfernt und habe mich dran gesetzt, alle Drops per Quest zu veranlassen (siehe Spoiler). Die Quests funktioniert weitestgehend perfekt ( muss nicht auf Programmierfehler untersucht werden, sollte alles zumindest funktionell passen)
PHP Code:
quest drop begin
state start begin
when login or levelup begin pc.setqf("lvl",pc.get_level()) pc.setqf("job",pc.get_job()) pc.setqf("normal",1) -- Drops aus (0) / an (1) pc.setqf("alternativ",1) end when kill with not npc.is_pc() begin local input_normal ={ -- Normaldrop-Liste -- 1: Mob, 2: Item, 3: %, 4: Anzahl, 5: Dropart*, 6: Mindestlevel, 7: Maxlevel -- *(1: Drop mit Name; 2: Drop ins Inventar) {8001,30100,100,1,1,1,20}, -- 5 er Metin {8002,30100,100,1,1,1,25}, -- 10 er Metin {8003,30100,100,1,1,1,30}, -- 15 er Metin {8004,30100,100,1,1,1,35}, -- 20 er Metin {8005,30100,100,1,1,1,40}, -- 25 er Metin {8006,30100,100,1,1,1,45}, -- 30 er Metin {8007,30100,100,1,1,1,50}, -- 35 er Metin {8008,30100,100,1,1,1,55}, -- 40 er Metin {8009,30100,100,1,1,1,60}, -- 45 er Metin {8010,30100,100,1,1,1,65}, -- 50 er Metin {8011,30100,100,1,1,1,70}, -- 55 er Metin {8012,30100,100,1,1,1,75}, -- 60 er Metin {8013,30100,100,1,1,1,80}, -- 65 er Metin {8014,30100,100,1,1,1,85}, -- 70 er Metin {8024,30100,100,1,1,1,90}, -- 75 er Metin {8025,30100,100,1,1,1,95}, -- 80 er Metin {8026,30100,100,1,1,1,100}, -- 85 er Metin {8027,30100,100,1,1,1,105}, -- 90 er Metin ///// verbuggt?! 8027 {1093,50082,100,1,1,1,99}, } local input_alternativ ={ -- Alternativdrops-Liste -- 1: Item, 2: %, 3: Anzahl, 4: Dropart*, 5: Mindestlevel, 6: Maxlevel -- *(1: Drop mit Name; 2: Drop ins Inventar) } if pc.getqf("normal") == 1 then -- normale Drops for i = 1,(table.getn(input_normal)),1 do if [B]npc.get_race()[/B] == input_normal[i][1] then
if (pc.getqf("lvl") >= input_normal[i][6] and pc.getqf("lvl") <= input_normal[i][7]) then local r = number(1,100000) if r <= (input_normal[i][3]*1000) then if input_normal[i][5] == 1 then game.drop_item_with_ownership(input_normal[i][2], input_normal[i][4]) elseif input_normal[i][5] == 2 then pc.give_item2(input_normal[i][2], input_normal[i][4]) end end end end end -- end for end if pc.getqf("alternativ") == 1 then -- alternative Drops for n = 1,(table.getn(input_alternativ)),1 do
if (pc.getqf("lvl") >= input_alternativ[n][5] and pc.getqf("lvl") <= input_alternativ[n][6]) then local r = number(1,100000) if r <= (input_alternativ[n][2]*1000) then if input_alternativ[n][4] == 1 then game.drop_item_with_ownership(input_alternativ[n][1], input_alternativ[n][3]) elseif input_alternativ[n][4] == 2 then pc.give_item2(input_alternativ[n][1], input_alternativ[n][3]) end end end end -- end for end end -- when kill end -- state drop end
Die Quest soll aktuell eben bei allen Metins ein bestimmtes Item droppen und beim Sensenmann die Sensenmanntruhe.
Bei Metin 5-85 geht das einwandfrei, der 90er wird aber einfach nicht erkannt (mit npc.get_race()). Mit dem Sensenmann ist mir dann das gleiche passiert. Nach Benutzen der Suchfunktion bin ich auf ähnliche Probleme gestoßen, dass dies durch mehrere Quest hervorgerufen wird, die alle den Kill eines Mobs abfragen (z. B.:  ). Dort wird allerdings vorgeschlagen, mit verschiedener Syntax vorzugehen (z. B. vnum.kill, kill with npc.get_race() oder when kill ... if npc.get_race==vnum then), was in meinem Fall allerdings auch nicht weitergeholfen hat. Hab dann zum Test mal die DT quest rausgenommen, in dem der Tod des Sensenmanns mit when 1093.kill with pc.in_dungeon() ... abgefragt wird, dann gings beim Sensenmann. Quest mit 90er Metins hab ich keine gefunden.
Zusammengefasst:
1. Liegt es nun also daran, dass mehrere Quests das selbe Event abfragen?
2. Kann man das theoretisch durch wechseln der Befehle/Bedingungen beheben? Wenn ja, wie?
3. Ist es generell ratsam, alle Drops durch eine Quest zu regeln? Der Server muss bei jdedem gekillten Mob die Quest starten.
4. Wie kann ich die Quest optimieren, um ressourcenschonender zu werden? (Bei erfolgreichem If kann return eingefügt werden beispielsweise, stand schon auf meiner To Do-Liste  ) Schickt mir bitte keine fertigen Quests, sondern erklärt oder macht Beispiele, will ja keine Quest sondern was dabei lernen.
Außerdem droppen Metins gelegentlich, trotz leerer mob_drop_item und leerer common_drop_item (in diesem Fall eher belanglos), immer noch Geiststeine. Woran liegt das und wie kann man das fixen?
Danke schon mal im Voraus!
€: die DT-Quest war ein Release von epvp für die Daroo files, weil diese buggy war. In der war auch der 90er Metin mit "8027.kill" enthalten, wenn ich diese entferne gehen beide. Liegt also an der Quest bzw. am doppelten Aufrufen.
================================================== =======
Antwort an HowToPlayxD:
Quote:
Originally Posted by HowToPlayxD
Ich habe eine Warpquest mit Levelbegrenzung, das Problem wenn man zu low vom lvl ist dann buggt es rumm das fenster wir leicht schwarz (oben und unten). Will nun das wenn man unter dem lvl ist das sich das Fenster einfach schließt
PHP Code:
quest lowlvlmapport begin state start begin when 20009.chat."Low Levelmap - Lv.110" begin if pc.get_level() >= 110 then say_title("Low Levelmap") say("") say_red("Möchtest du in die Levelmap teleportiert werden?") local s = select("Ja", "Nein") if s == 1 then pc.warp(83200, 0) elseif s == 2 then return end else return end end end end
|
Versuch mal statt einfach nur return lieber say("...") o.ä. auszugeben, dann dürfte sich das Fenster auch so schließen.
Eine weitere Option ist (was eher in älteren Quets in meinem Client verwendet wird) mit "npc.unlock() return" oder mit setskin(NOWINDOW).
Am besten sollte es aber gehen, wenn du einfach ein say-Befehl ausgibst mit dem zu z. B. auch mitteilen kannst, dass die Map erst ab lvl. 110 betretbar ist.
|
|
|
05/19/2015, 22:23
|
#11558
|
wild wild son
elite*gold: 0
Join Date: Feb 2011
Posts: 5,994
Received Thanks: 3,389
|
Quote:
Originally Posted by HowToPlayxD
Ich habe eine Warpquest mit Levelbegrenzung, das Problem wenn man zu low vom lvl ist dann buggt es rumm das fenster wir leicht schwarz (oben und unten). Will nun das wenn man unter dem lvl ist das sich das Fenster einfach schließt
PHP Code:
quest lowlvlmapport begin
state start begin
when 20009.chat."Low Levelmap - Lv.110" begin
if pc.get_level() >= 110 then
say_title("Low Levelmap")
say("")
say_red("Möchtest du in die Levelmap teleportiert werden?")
local s = select("Ja", "Nein")
if s == 1 then
pc.warp(83200, 0)
elseif s == 2 then
return
end
else
return
end
end
end
end
|
Code:
quest lowlvlmapport begin
state start begin
when 20009.chat."Low Levelmap - Lv.110" begin
say_title("Low Levelmap")
say("")
if pc.get_level() < 110 then say("Dein Level ist noch nicht hoch genug!") return end
say_red("Möchtest du in die Levelmap teleportiert werden?")
if select("Ja", "Nein") == 2 then return end
pc.warp(83200, 0)
end
end
end
Bitteschön.
lg
|
|
|
05/19/2015, 22:26
|
#11559
|
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
|
Quote:
Originally Posted by .Philipp
Hallo epvp-Community,
das hier ist mein erster Post, nachdem ich am Wochenende mit dem Erstellen eines Hamachi-Servers begonnen habe. Habt bitte Verständnis  Ich benutze die Daroo 2011er Serverfiles, falls es jemanden interessiert.
Als ich die Dropps anpassen wollte und in die mob_drop_item.txt geschaut habe, kam mir das schon zeimlich verwirrend vor und selbst als ich bei Drops 100% angegeben habe, kamen die nicht durchgängig. Habe dann alle Drops aus den Dateien entfernt und habe mich dran gesetzt, alle Drops per Quest zu veranlassen (siehe Spoiler). Die Quests funktioniert weitestgehend perfekt ( muss nicht auf Programmierfehler untersucht werden, sollte alles zumindest funktionell passen)
PHP Code:
quest drop begin
state start begin
when login or levelup begin
pc.setqf("lvl",pc.get_level())
pc.setqf("job",pc.get_job())
pc.setqf("normal",1) -- Drops aus (0) / an (1)
pc.setqf("alternativ",1)
end
when kill with not npc.is_pc() begin
local input_normal ={ -- Normaldrop-Liste
-- 1: Mob, 2: Item, 3: %, 4: Anzahl, 5: Dropart*, 6: Mindestlevel, 7: Maxlevel
-- *(1: Drop mit Name; 2: Drop ins Inventar)
{8001,30100,100,1,1,1,20}, -- 5 er Metin
{8002,30100,100,1,1,1,25}, -- 10 er Metin
{8003,30100,100,1,1,1,30}, -- 15 er Metin
{8004,30100,100,1,1,1,35}, -- 20 er Metin
{8005,30100,100,1,1,1,40}, -- 25 er Metin
{8006,30100,100,1,1,1,45}, -- 30 er Metin
{8007,30100,100,1,1,1,50}, -- 35 er Metin
{8008,30100,100,1,1,1,55}, -- 40 er Metin
{8009,30100,100,1,1,1,60}, -- 45 er Metin
{8010,30100,100,1,1,1,65}, -- 50 er Metin
{8011,30100,100,1,1,1,70}, -- 55 er Metin
{8012,30100,100,1,1,1,75}, -- 60 er Metin
{8013,30100,100,1,1,1,80}, -- 65 er Metin
{8014,30100,100,1,1,1,85}, -- 70 er Metin
{8024,30100,100,1,1,1,90}, -- 75 er Metin
{8025,30100,100,1,1,1,95}, -- 80 er Metin
{8026,30100,100,1,1,1,100}, -- 85 er Metin
{8027,30100,100,1,1,1,105}, -- 90 er Metin ///// verbuggt?! 8027
{1093,50082,100,1,1,1,99},
}
local input_alternativ ={ -- Alternativdrops-Liste
-- 1: Item, 2: %, 3: Anzahl, 4: Dropart*, 5: Mindestlevel, 6: Maxlevel
-- *(1: Drop mit Name; 2: Drop ins Inventar)
}
if pc.getqf("normal") == 1 then -- normale Drops
for i = 1,(table.getn(input_normal)),1 do
if [B]npc.get_race()[/B] == input_normal[i][1] then
if (pc.getqf("lvl") >= input_normal[i][6] and pc.getqf("lvl") <= input_normal[i][7]) then
local r = number(1,100000)
if r <= (input_normal[i][3]*1000) then
if input_normal[i][5] == 1 then
game.drop_item_with_ownership(input_normal[i][2], input_normal[i][4])
elseif input_normal[i][5] == 2 then
pc.give_item2(input_normal[i][2], input_normal[i][4])
end
end
end
end
end -- end for
end
if pc.getqf("alternativ") == 1 then -- alternative Drops
for n = 1,(table.getn(input_alternativ)),1 do
if (pc.getqf("lvl") >= input_alternativ[n][5] and pc.getqf("lvl") <= input_alternativ[n][6]) then
local r = number(1,100000)
if r <= (input_alternativ[n][2]*1000) then
if input_alternativ[n][4] == 1 then
game.drop_item_with_ownership(input_alternativ[n][1], input_alternativ[n][3])
elseif input_alternativ[n][4] == 2 then
pc.give_item2(input_alternativ[n][1], input_alternativ[n][3])
end
end
end
end -- end for
end
end -- when kill
end -- state drop
end
Die Quest soll aktuell eben bei allen Metins ein bestimmtes Item droppen und beim Sensenmann die Sensenmanntruhe.
Bei Metin 5-85 geht das einwandfrei, der 90er wird aber einfach nicht erkannt (mit npc.get_race()). Mit dem Sensenmann ist mir dann das gleiche passiert. Nach Benutzen der Suchfunktion bin ich auf ähnliche Probleme gestoßen, dass dies durch mehrere Quest hervorgerufen wird, die alle den Kill eines Mobs abfragen (z. B.:  ). Dort wird allerdings vorgeschlagen, mit verschiedener Syntax vorzugehen (z. B. vnum.kill, kill with npc.get_race() oder when kill ... if npc.get_race==vnum then), was in meinem Fall allerdings auch nicht weitergeholfen hat. Hab dann zum Test mal die DT quest rausgenommen, in dem der Tod des Sensenmanns mit when 1093.kill with pc.in_dungeon() ... abgefragt wird, dann gings beim Sensenmann. Quest mit 90er Metins hab ich keine gefunden.
Zusammengefasst:
1. Liegt es nun also daran, dass mehrere Quests das selbe Event abfragen?
2. Kann man das theoretisch durch wechseln der Befehle/Bedingungen beheben? Wenn ja, wie?
3. Ist es generell ratsam, alle Drops durch eine Quest zu regeln? Der Server muss bei jdedem gekillten Mob die Quest starten.
4. Wie kann ich die Quest optimieren, um ressourcenschonender zu werden? (Bei erfolgreichem If kann return eingefügt werden beispielsweise, stand schon auf meiner To Do-Liste  ) Schickt mir bitte keine fertigen Quests, sondern erklärt oder macht Beispiele, will ja keine Quest sondern was dabei lernen.
Außerdem droppen Metins gelegentlich, trotz leerer mob_drop_item und leerer common_drop_item (in diesem Fall eher belanglos), immer noch Geiststeine. Woran liegt das und wie kann man das fixen?
Danke schon mal im Voraus!
€: die DT-Quest war ein Release von epvp für die Daroo files, weil diese buggy war. In der war auch der 90er Metin mit "8027.kill" enthalten, wenn ich diese entferne gehen beide. Liegt also an der Quest bzw. am doppelten Aufrufen.
================================================== =======
Antwort an HowToPlayxD:
Versuch mal statt einfach nur return lieber say("...") o.ä. auszugeben, dann dürfte sich das Fenster auch so schließen.
Eine weitere Option ist (was eher in älteren Quets in meinem Client verwendet wird) mit "npc.unlock() return" oder mit setskin(NOWINDOW).
Am besten sollte es aber gehen, wenn du einfach ein say-Befehl ausgibst mit dem zu z. B. auch mitteilen kannst, dass die Map erst ab lvl. 110 betretbar ist.
|
hab mir zwar nicht alles durchgelesen aber regel es per db am besten.
|
|
|
05/19/2015, 22:33
|
#11560
|
elite*gold: 0
Join Date: May 2015
Posts: 100
Received Thanks: 13
|
Quote:
Originally Posted by DYSKaito
hab mir zwar nicht alles durchgelesen aber regel es per db am besten.
|
und wie regelt man sowas per db? Einzige andere Möglichkeit, die mir bekannt ist, wäre die mob_drop_item?
Lasse mich gern eines besseren belehren
|
|
|
05/22/2015, 16:32
|
#11561
|
elite*gold: 0
Join Date: Apr 2015
Posts: 31
Received Thanks: 3
|
deleted
|
|
|
05/22/2015, 18:24
|
#11562
|
elite*gold: 0
Join Date: Feb 2015
Posts: 400
Received Thanks: 46
|
Heyjo habe momentan folgende Quest:
Code:
quest steinupp begin
state start begin
when 20364.take begin
local itemvnum = item.get_vnum()
local resultvnum = itemvnum+100
local uppchance = 25
if not steinupp.in_list(itemvnum, {28312, 28330, 28331, 28332, 28333, 28334, 28335, 28336, 28337, 28338, 28339, 28340, 28341, 28342, 28343}) then
return chat("Ich kann leider nur Steine von +3 auf +4 verbessern ...")
end
say("Möchtest du "..item_name(itemvnum).." wirklich zu")
say(item_name(resultvnum).." verbessern?")
say("")
say("Der Versuch kann fehlschlagen!")
if select("Fortfahren", "Abbrechen") == 2 then return end
pc.remove_item(itemvnum)
if steinupp.perc_chance(uppchance) then
pc.give_item2(resultvnum)
chat("Die Verbesserung war erfolgreich!")
else
chat("Dein Stein wurde bei der Verbesserung zerstört ...")
end
end
function in_list(compare, list)
for _,v in pairs(list) do
if compare == v then return true end
end
return false
end
function perc_chance(i)
return math.random() <= (i/100)
end
end
end
Die sieht InGame so aus:
ich möchte aber, dass dort statt nur Schrift auch das Icon des Items auftaucht wie hier beim Mülleimer:
Kann mir das jm in die Quest einfügen?
|
|
|
05/22/2015, 19:02
|
#11563
|
elite*gold: 0
Join Date: Apr 2015
Posts: 31
Received Thanks: 3
|
PHP Code:
quest steinupp begin state start begin when 20364.take begin local itemvnum = item.get_vnum() local resultvnum = itemvnum+100 local uppchance = 25 if not steinupp.in_list(itemvnum, {28312, 28330, 28331, 28332, 28333, 28334, 28335, 28336, 28337, 28338, 28339, 28340, 28341, 28342, 28343}) then return chat("Ich kann leider nur Steine von +3 auf +4 verbessern ...") end say("Möchtest du "..item_name(itemvnum).." wirklich zu") say(item_name(resultvnum).." verbessern?") say_item_vnum(28312) say("") say("Der Versuch kann fehlschlagen!") if select("Fortfahren", "Abbrechen") == 2 then return end pc.remove_item(itemvnum) if steinupp.perc_chance(uppchance) then pc.give_item2(resultvnum) chat("Die Verbesserung war erfolgreich!") else chat("Dein Stein wurde bei der Verbesserung zerstört ...") end end function in_list(compare, list) for _,v in pairs(list) do if compare == v then return true end end return false end function perc_chance(i) return math.random() <= (i/100) end end end
Probier mal so
|
|
|
05/22/2015, 19:26
|
#11564
|
elite*gold: 0
Join Date: Feb 2015
Posts: 400
Received Thanks: 46
|
was is daran jetzt anders?^^
|
|
|
05/22/2015, 20:02
|
#11565
|
elite*gold: 0
Join Date: Apr 2015
Posts: 234
Received Thanks: 54
|
PHP Code:
quest steinupp begin state start begin when 20364.take begin local itemvnum = item.get_vnum() local resultvnum = itemvnum+100 local uppchance = 25 if not steinupp.in_list(itemvnum, {28312, 28330, 28331, 28332, 28333, 28334, 28335, 28336, 28337, 28338, 28339, 28340, 28341, 28342, 28343}) then return chat("Ich kann leider nur Steine von +3 auf +4 verbessern ...") end say("Möchtest du "..item_name(itemvnum).." wirklich zu") say(item_name(resultvnum).." verbessern?") say("") say("Der Versuch kann fehlschlagen!") if select("Fortfahren", "Abbrechen") == 2 then return end pc.remove_item(itemvnum) if steinupp.perc_chance(uppchance) then pc.give_item2(resultvnum) chat("Die Verbesserung war erfolgreich!") else chat("Dein Stein wurde bei der Verbesserung zerstört ...") end end function in_list(compare, list) for _,v in pairs(list) do if compare == v then return true end end return false end function perc_chance(i) return math.random() <= (i/100) end end end
So funktioniert es hab es bei mir getestet
|
|
|
All times are GMT +1. The time now is 15:34.
|
|