Astăzi am creat un nou quest cu ajutorul căruia jucătorii pot vedea valorile bonusurilor setate în item_attr din player(mysql)
Imagine:

Quest care afișează cele 5 valori posibile:
Cod: Selectaţi tot
quest afisarebns begin
state start begin
when 20091.chat."Lisa bonusuri" begin
local a = select("Bonusuri ofensive(de atac)", "Bonusuri defensive(de aparare)", "Anuleaza")
if a == 3 then
return
elseif a == 1 then
local con = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='CON'")
local int = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='INT'")
local str = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='STR'")
local dex = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='DEX'")
local fsped = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='CAST_SPEED'")
local otr = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='POISON_PCT'")
local stu = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='STUN_PCT'")
local slo = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='SLOW_PCT'")
local crit = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='CRITICAL_PCT'")
local patr = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='PENETRATE_PCT'")
local semi = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='ATTBONUS_HUMAN'")
local vam = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='ATTBONUS_UNDEAD'")
local dev = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='ATTBONUS_DEVIL'")
local block = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='BLOCK'")
local valatac = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='ATT_GRADE_BONUS'")
say_gold("Bonus | Valoarile posibile")
say_green("Vitalitate: "..con[1][1]..", "..con[1][2]..", "..con[1][3]..", "..con[1][4]..", "..con[1][5].."")
say("Inteligenta: "..int[1][1]..", "..int[1][2]..", "..int[1][3]..", "..int[1][4]..", "..int[1][5].."")
say("Putere: "..str[1][1]..", "..str[1][2]..", "..str[1][3]..", "..str[1][4]..", "..str[1][5].."")
say("Dexteritate: "..dex[1][1]..", "..dex[1][2]..", "..dex[1][3]..", "..dex[1][4]..", "..dex[1][5].."%")
say("Viteza farmecului: "..fsped[1][1].."%, "..fsped[1][2].."%, "..fsped[1][3].."%, "..fsped[1][4].."%, "..fsped[1][5].."%")
say("Sansa de otravire: "..otr[1][1].."%, "..otr[1][2].."%, "..otr[1][3].."%, "..otr[1][4].."%, "..otr[1][5].."%")
say("Sansa de ametire: "..stu[1][1].."%, "..stu[1][2].."%, "..stu[1][3].."%, "..stu[1][4].."%, "..stu[1][5].."%")
say("Sansa de incetinire: "..slo[1][1].."%, "..slo[1][2].."%, "..slo[1][3].."%, "..slo[1][4].."%, "..slo[1][5].."%")
say("Sansa lovitura critica: "..crit[1][1].."%, "..crit[1][2].."%, "..crit[1][3].."%, "..crit[1][4].."%, "..crit[1][5].."%")
say("Sansa lovitura patrunzatoare: "..patr[1][1].."%, "..patr[1][2].."%, "..patr[1][3].."%, "..patr[1][4].."%, "..patr[1][5].."%")
say("Tare impotriva semi-om: "..semi[1][1].."%, "..semi[1][2].."%, "..semi[1][3].."%, "..semi[1][4].."%, "..semi[1][5].."%")
say("Tare impotriva vampirilor: "..vam[1][1].."%, "..vam[1][2].."%, "..vam[1][3].."%, "..vam[1][4].."%, "..vam[1][5].."%")
say("Tare impotriva diavolilor: "..dev[1][1].."%, "..dev[1][2].."%, "..dev[1][3].."%, "..dev[1][4].."%, "..dev[1][5].."%")
say("Sansa de blocare: "..block[1][1].."%, "..block[1][2].."%, "..block[1][3].."%, "..block[1][4].."%, "..block[1][5].."%")
say("Valoarea atacului: "..valatac[1][1]..", "..valatac[1][2]..", "..valatac[1][3]..", "..valatac[1][4]..", "..valatac[1][5].."")
elseif a == 2 then
local hp = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='MAX_HP'")
local rsword = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='RESIST_SWORD'")
local rtwo = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='RESIST_TWOHAND'")
local rpumn = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='RESIST_DAGGER'")
local rclopot = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='RESIST_BELL'")
local revantai = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='RESIST_FAN'")
local rarc = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='RESIST_BOW'")
local rfoc = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='RESIST_FIRE'")
local rfulger = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='RESIST_ELEC'")
local rmag = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='RESIST_MAGIC'")
local rvant = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='RESIST_WIND'")
local refl = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='REFLECT_MELEE'")
local rezotr = mysql_query("SELECT lv1,lv2,lv3,lv4,lv5 from player.item_attr WHERE apply='POISON_REDUCE'")
say_gold("Bonus | Valoarile posibile")
say_green("Max. HP: "..hp[1][1]..", "..hp[1][2]..", "..hp[1][3]..", "..hp[1][4]..", "..hp[1][5].."")
say("Rezistenta sabie: "..rsword[1][1].."%, "..rsword[1][2].."%, "..rsword[1][3].."%, "..rsword[1][4].."%, "..rsword[1][5].."%")
say("Rezistenta s. doua maini: "..rtwo[1][1].."%, "..rtwo[1][2].."%, "..rtwo[1][3].."%, "..rtwo[1][4].."%, "..rtwo[1][5].."%")
say("Rezistenta pumnale: "..rpumn[1][1].."%, "..rpumn[1][2].."%, "..rpumn[1][3].."%, "..rpumn[1][4].."%, "..rpumn[1][5].."%")
say("Rezistenta clopot: "..rclopot[1][1].."%, "..rclopot[1][2].."%, "..rclopot[1][3].."%, "..rclopot[1][4].."%, "..rclopot[1][5].."%")
say("Rezistenta evantai: "..revantai[1][1].."%, "..revantai[1][2].."%, "..revantai[1][3].."%, "..revantai[1][4].."%, "..revantai[1][5].."%")
say("Rezistenta sageti: "..rarc[1][1].."%, "..rarc[1][2].."%, "..rarc[1][3].."%, "..rarc[1][4].."%, "..rarc[1][5].."%")
say("Rezistenta foc: "..rfoc[1][1].."%, "..rfoc[1][2].."%, "..rfoc[1][3].."%, "..rfoc[1][4].."%, "..rfoc[1][5].."%")
say("Rezistenta fulger: "..rfulger[1][1].."%, "..rfulger[1][2].."%, "..rfulger[1][3].."%, "..rfulger[1][4].."%, "..rfulger[1][5].."%")
say("Rezistenta magie: "..rmag[1][1].."%, "..rmag[1][2].."%, "..rmag[1][3].."%, "..rmag[1][4].."%, "..rmag[1][5].."%")
say("Rezistenta vant: "..rvant[1][1].."%, "..rvant[1][2].."%, "..rvant[1][3].."%, "..rvant[1][4].."%, "..rvant[1][5].."%")
say("Sansa reflectare atac: "..refl[1][1].."%, "..refl[1][2].."%, "..refl[1][3].."%, "..refl[1][4].."%, "..refl[1][5].."%")
say("Rezistenta la otrava: "..rezotr[1][1].."%, "..rezotr[1][2].."%, "..rezotr[1][3].."%, "..rezotr[1][4].."%, "..rezotr[1][5].."%")
end
end
end
endCod: Selectaţi tot
quest afisarebns begin
state start begin
when 20091.chat."Lisa bonusuri" begin
local a = select("Bonusuri ofensive(de atac)", "Bonusuri defensive(de aparare)", "Anuleaza")
if a == 3 then
return
elseif a == 1 then
local con = mysql_query("SELECT lv5 from player.item_attr WHERE apply='CON'")
local int = mysql_query("SELECT lv5 from player.item_attr WHERE apply='INT'")
local str = mysql_query("SELECT lv5 from player.item_attr WHERE apply='STR'")
local dex = mysql_query("SELECT lv5 from player.item_attr WHERE apply='DEX'")
local fsped = mysql_query("SELECT lv5 from player.item_attr WHERE apply='CAST_SPEED'")
local otr = mysql_query("SELECT lv5 from player.item_attr WHERE apply='POISON_PCT'")
local stu = mysql_query("SELECT lv5 from player.item_attr WHERE apply='STUN_PCT'")
local slo = mysql_query("SELECT lv5 from player.item_attr WHERE apply='SLOW_PCT'")
local crit = mysql_query("SELECT lv5 from player.item_attr WHERE apply='CRITICAL_PCT'")
local patr = mysql_query("SELECT lv5 from player.item_attr WHERE apply='PENETRATE_PCT'")
local semi = mysql_query("SELECT lv5 from player.item_attr WHERE apply='ATTBONUS_HUMAN'")
local vam = mysql_query("SELECT lv5 from player.item_attr WHERE apply='ATTBONUS_UNDEAD'")
local dev = mysql_query("SELECT lv5 from player.item_attr WHERE apply='ATTBONUS_DEVIL'")
local block = mysql_query("SELECT lv5 from player.item_attr WHERE apply='BLOCK'")
local valatac = mysql_query("SELECT lv5 from player.item_attr WHERE apply='ATT_GRADE_BONUS'")
say_gold("Bonus | Valoarile posibile")
say_green("Vitalitate: "..con[1][1].."")
say("Inteligenta: "..int[1][1].."")
say("Putere: "..str[1][1].."")
say("Dexteritate: "..dex[1][1].."")
say("Viteza farmecului: "..fsped[1][1].."%")
say("Sansa de otravire: "..otr[1][1].."%")
say("Sansa de ametire: "..stu[1][1].."%")
say("Sansa de incetinire: "..slo[1][1].."%")
say("Sansa lovitura critica: "..crit[1][1].."%")
say("Sansa lovitura patrunzatoare: "..patr[1][1].."%")
say("Tare impotriva semi-om: "..semi[1][1].."%")
say("Tare impotriva vampirilor: "..vam[1][1].."%")
say("Tare impotriva diavolilor: "..dev[1][1].."%")
say("Sansa de blocare atac: "..block[1][1].."%")
say("Valoarea atacului: "..valatac[1][1].."")
elseif a == 2 then
local hp = mysql_query("SELECT lv5 from player.item_attr WHERE apply='MAX_HP'")
local rsword = mysql_query("SELECT lv5 from player.item_attr WHERE apply='RESIST_SWORD'")
local rtwo = mysql_query("SELECT lv5 from player.item_attr WHERE apply='RESIST_TWOHAND'")
local rpumn = mysql_query("SELECT lv5 from player.item_attr WHERE apply='RESIST_DAGGER'")
local rclopot = mysql_query("SELECT lv5 from player.item_attr WHERE apply='RESIST_BELL'")
local revantai = mysql_query("SELECT lv5 from player.item_attr WHERE apply='RESIST_FAN'")
local rarc = mysql_query("SELECT lv5 from player.item_attr WHERE apply='RESIST_BOW'")
local rfoc = mysql_query("SELECT lv5 from player.item_attr WHERE apply='RESIST_FIRE'")
local rfulger = mysql_query("SELECT lv5 from player.item_attr WHERE apply='RESIST_ELEC'")
local rmag = mysql_query("SELECT lv5 from player.item_attr WHERE apply='RESIST_MAGIC'")
local rvant = mysql_query("SELECT lv5 from player.item_attr WHERE apply='RESIST_WIND'")
local refl = mysql_query("SELECT lv5 from player.item_attr WHERE apply='REFLECT_MELEE'")
local rezotr = mysql_query("SELECT lv5 from player.item_attr WHERE apply='POISON_REDUCE'")
say_gold("Bonus | Valoarile posibile")
say_green("Max. HP: "..hp[1][1].."")
say("Rezistenta sabie: "..rsword[1][1].."%")
say("Rezistenta s. doua maini: "..rtwo[1][1].."%")
say("Rezistenta pumnale: "..rpumn[1][1].."%")
say("Rezistenta clopot: "..rclopot[1][1].."%")
say("Rezistenta evantai: "..revantai[1][1].."%")
say("Rezistenta sageti: "..rarc[1][1].."%")
say("Rezistenta foc: "..rfoc[1][1].."%")
say("Rezistenta fulger: "..rfulger[1][1].."%")
say("Rezistenta magie: "..rmag[1][1].."%")
say("Rezistenta vant: "..rvant[1][1].."%")
say("Sansa reflectare atac: "..refl[1][1].."%")
say("Rezistenta la otrava: "..rezotr[1][1].."%")
end
end
end
endRecomand această funcție mysql_query(o înlocuiți/adăgați în questlib.lua din usr/game/share/locale/romania/quest , sau ce ai tu):
Cod: Selectaţi tot
mysql_query = function(query)
if not pre then
local rt = io.open('CONFIG', 'r'):read('*all')
pre = string.gsub(rt, '.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+', '-h%1 -u%2 -p%3 -D%4')
end
math.randomseed(os.time())
local fi, t, out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{}
os.execute('mysql '..pre..' -e'..string.format('%q', query)..' > '..fi)
for av in io.open(fi, 'r'):lines() do table.insert(t,split(av, '\t')) end; os.remove(fi);
for i = 2, table.getn(t) do table.foreach(t[i],function(a, b)
out[i-1] = out[i-1] or {}
out[i-1][a] = tonumber(b) or b
out[t[1][a]] = out[t[1][a]] or {}
out[t[1][a]][i-1] = tonumber(b) or b
end) end
return out
end
1. Copiați unul din quest-urile de mai sus în notepad/notepad++;
2. Îl salvați cu extensia .quest, exemplu: nume.quest.
3. Deschideți filezilla, vă duceți la adresa /usr/rain/channel/share_data/locale/hongkong/quest sau /usr/home/game/share/locale/germany/quest (sau ce aveți voi) și uploadați fișierul salvat anterior.
4. Scrieți în Putty/VirtualBox : cd /usr/rain/channel/share_data/locale/hongkong/quest (adică scrii adresa unde ai urcat fișierul anterior) apoi ./qc nume.quest
5. În joc, pe GM , scrieți comanda /reload q sau dați reboot .
[/color]


