[QUEST]Afișare listă bonusuri

Avatar utilizator
BearHunter
Nivel 1

Nivel 1
Mesaje: 66
Membru din: 17 Iun 2015, 19:41
Aprecieri: 16  
Mulţumiri: 1  
Medalii

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 .
[/color]
Imagine
Afișează semnătura
Avatar utilizator
[ExoDus]FRED
Nivel 2

Nivel 2
Mesaje: 164
Membru din: 16 Mar 2015, 19:43
Server: www.mt2addicted.ro
Regat: Jinno
Aprecieri: 0
Mulţumiri: 0
Medalii

Exista sistem pus direct in client. Si mai simplu si mai folositor. Questu' este frumos. :ymhug:
Avatar utilizator
xBigStar
Utilizator interzis !

Utilizator interzis !
Mesaje: 32
Membru din: 06 Ian 2016, 21:59
Server: Oricare Vere
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 1  
 Contact:
Medalii

Smecher questu' , Multumesc ! :)
Imagine
Afișează semnătura
Răspunde
Răspunsuri
1
Vizualizări
166
Răspunsuri
6
Vizualizări
551
Răspunsuri
4
Vizualizări
664

Înapoi la “Quest-uri”

  • Informaţie
  • Cine este conectat

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