PvP/PvM rendszer szintkorlátozás (K)

Indította 5310pati, 2013-06-09, 14:37:55

2013-06-09, 14:37:55 Utolsó szerkesztés: 2013-06-11, 12:23:40 Szerző: [MOD]Aegist
Írtam 1 PvP/PvM rendszert, de szeretnék bele rakni szintkorlátozást.
Ez alatt azt értem, hogy pl egy lvl 50-es player csak 30-70lvl közötti player/mobért kapjon pontot.
kérdezgettem már pár embert és annyi segítséget kaptam, hogy elv le kéne kérdeznem az ID-t a mobnak (npc.get_race()) és ez alapján a szintjét is le tudom, de ennyire sajnos nem értek LUA-hoz.

2013-06-10, 17:33:20 #1 Utolsó szerkesztés: 2013-06-10, 17:38:41 Szerző: Morpheus
Esetleg így?

Szerintem ez nem annyira egyszerű.

De talán megoldható, igaz picit necces.


local mob_level = mobszint
local player_level = pc.get_level()
         if player_level-10 <= mob_level and player_level+10 >= mob_level then


Ez elméletileg csak 1 mobra szól, igaz. de így legalább nem minden mob droppol, csak -10/+10 szinten

Volt már itt a fórumon egy ilyen quest.


quest vmi  begin
state start begin
when login begin
--Globális adatok lekérése
if MOB_LEVEL==nil then
local _in=mysql_query("SELECT vnum, level FROM player.mob_proto WHERE vnum > 0 AND vnum < 9000 ORDER BY vnum;")
MOB_LEVEL={}--NEM LOCAL!!!!!!
for i=1,table.getn(_in) do
table.insert(MOB_LEVEL, _in[i][1], _in[i][2])
end
test_chat(string.format("Mob table is loaded in with %d pcs. mobs!",table.getn(MOB_LEVEL)))
end
--Globális adatok lekérése
end
when kill with not npc.is_pc() begin
if MOB_LEVEL~=nil and MOB_LEVEL[npc.get_race()]~=nil then
test_chat(string.format("Mob's Level: %d", MOB_LEVEL[npc.get_race()]))
if pc.get_level()-15 <= MOB_LEVEL[npc.get_race()] and pc.get_level()+15 >= MOB_LEVEL[npc.get_race()] then
local n=number(1,1500)
if n <= 5 then
pc.give_item2(50024, 1)
end
end
end
end
end
end


Talán P3ng3r írta, de nem vagyok benne biztos.

rendben, köszi közbe már megoldódott :)
de am most nézegettem a questet és találtam benne 1 hibát
if pc.get_level()-15 <= MOB_LEVEL[npc.get_race()] and pc.get_level()+15 >= MOB_LEVEL[npc.get_race()] then
és ez akkor teljesül hogy ha a játékos és mob közötti szintkülönbség nagyobb mint 15 de ez baromság mivel mind2 nem teljesülhet
el lett rontva, oda nem "and" kell hanem "or"(ha valaki használni akarja) de m1 már megoldottam, azért köszi és megy a "+"