Hey,
versuche diese Quest zum laufen zum bringen :
quest tapfi begin
state start begin
when 70057.use begin
local socketvalue = item.get_socket(0)
if socketvalue < 1 then
return syschat("Töte Monster, um deinen Umhang aufzuladen.")
end
pc.aggregate_monster()
item.set_socket(0, socketvalue-1)
end
when kill with pc.count_item(70057) >= 1 begin
local npcrank = npc.get_rank()
local rankchance = ({
[0] = 1,--Stufe 1
[1] = 5,--Stufe 2
[2] = 10,--Stufe 3
[3] = 20,--Stufe 4
[4] = 100,--Boss
[5] = 100--Stufe 5 (Sensi, ...)
})[npcrank]
if not math_chance(rankchance) then
return
elseif npc.get_level() < pc.get_level()-10 then
return syschat(string.format("Das Level dieses Monsters ist zu niedrig. Töte Monster, die mindestens Level %s sind.", pc.get_level()-10))
end
for i = 0, 89 do
item.select_cell(i)
itemvnum = item.get_vnum()
if itemvnum == 70038 then
break
end
end
if itemvnum != 70057 then
syschat("Ein Fehler ist aufgetreten. Bitte melde folgende Fehlermeldung an einen Teamler:")
syschat("Tapferkeitsumhang Zeile 26-32 -> Vnum entspricht nicht der des Tapferkeitsumhangs")
return
end
local socketvalue = item.get_socket(0)
local rankvalue = ({
[0] = 1,--Stufe 1
[1] = 1,--Stufe 2
[2] = 2,--Stufe 3
[3] = 5,--Stufe 4
[4] = 30,--Boss
[5] = 100--Stufe 5 (Sensi, ...)
})[npcrank]
local newvalue = socketvalue+rankvalue
item.set_socket(0, newvalue)
syschat(string.format("Die Aufladungen deines Tapferkeitsumhangs wurden um %s erhöht. Du hast nun %s Aufladungen.", rankvalue, newvalue))
end
end
end
Diese sorgt dafür das man bei jedem Monsterkill die Chance auf eine Aufladung hat um Mobs zu pullen.
Habe folgendes in die Questlib geschrieben
mob_data = {} or mob_data
local mobquery = mysql_query("SELECT vnum, locale_name, rank, type, level FROM player.mob_proto;")
for i = 1, table.getn(mobquery.vnum) do
mob_data[tonumber(mobquery.vnum[i])] = {locale_name = mobquery.locale_name[i], rank = tonumber(mobquery.rank[i]), type = tonumber(mobquery.type[i]), level = tonumber(mobquery.level[i])}
end
function npc.get_level(vnum)
return mob_data[vnum or npc.get_race()].level or nil
end
function npc.get_rank(vnum)
return mob_data[vnum or npc.get_race()].rank or nil
end
function math.chance(i)
return math.random() <= (i/100)
end
Und natürlich auch die funktionen in Quest_Functions eingetragen
npc.get_level
npc.get_rank
math.chance
Sobald ich die Quest in Quest_list eintrage und die Quests reloade kommt folgender Fehler in Putty
Habe ja eig math.chance Funktion eingetragen und deklariert oder hab ich irgendwas falsch gemacht