[QUEST]Afișare listă bonusuri

Deconectat
Avatar utilizator
BearHunter
Nivel 1
Nivel 1
Mesaje: 63
Membru din: 17 Iun 2015
Status: Sunt bine mersi ^.^
Mulțumiri acordate: 1
Mulțumiri primite: 1

[QUEST]Afișare listă bonusuri

Mesajde BearHunter » 08 Ian 2016, 23:50

Salutare J4M!
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: 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
end

Quest care afișează doar valoarea maximă:

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 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
end

Funcții necesare: say_green/say_gold, mysql_query.
Recomand 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

Tutorial instalare quest:
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 .
Imagine

Deconectat
Avatar utilizator
[ExoDus]FRED
Nivel 2
Nivel 2
Mesaje: 165
Membru din: 16 Mar 2015
Localitate: Suceava
Status: Ca boieru' pe metin2kpeist
Server Metin2: www.mt2addicted.ro
Regat: Jinno
Mulțumiri acordate: 0
Mulțumiri primite: 0

Re: [QUEST]Afișare listă bonusuri

Mesajde [ExoDus]FRED » 10 Ian 2016, 14:14

Exista sistem pus direct in client. Si mai simplu si mai folositor. Questu' este frumos. :ymhug:

Deconectat
Avatar utilizator
xBigStar
Nou Venit
Nou Venit
Mesaje: 38
Membru din: 06 Ian 2016
Status: Sunt bine mersi ^.^
Server Metin2: BigStar
Regat: Shinsoo
Mulțumiri acordate: 0
Mulțumiri primite: 1

Re: [QUEST]Afișare listă bonusuri

Mesajde xBigStar » 14 Ian 2016, 22:40

Smecher questu' , Multumesc ! :)
Imagine


Înapoi la “Quest-uri”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 4 vizitatori