Ir para conteúdo

[DxP] Exclusivo Poketibia OpenSource+Cliente+Site+DB


Taiger

Posts Recomendados

Julgando que seja então o loot contado de 0 a 10, para os que já tinha configurado de 0 a 100, basta modificar a linha do pokeDeath.lua 

 

local id, count, chance = lootList[i].id, lootList[i].count, lootList[i].chance * 2

para

local id, count, chance = lootList[i].id, lootList[i].count, lootList[i].chance / 10

Agora que resolvi o problema do lag do server estarei me focando no restante dos bugs, estou com um servidor de teste online, tem em média 20 players, uma dúvida, ainda não tive tempo de vasculhar o fórum, então, o bug do segundo hit, bater muito mais, foi resolvido?

Link para o comentário
Compartilhar em outros sites

5 minutos atrás, xokys disse:

Julgando que seja então o loot contado de 0 a 10, para os que já tinha configurado de 0 a 100, basta modificar a linha do pokeDeath.lua 

 

local id, count, chance = lootList[i].id, lootList[i].count, lootList[i].chance * 2

para

local id, count, chance = lootList[i].id, lootList[i].count, lootList[i].chance / 10

Agora que resolvi o problema do lag do server estarei me focando no restante dos bugs, estou com um servidor de teste online, tem em média 20 players, uma dúvida, ainda não tive tempo de vasculhar o fórum, então, o bug do segundo hit, bater muito mais, foi resolvido?

 

como ficaria assim o loot assim teria como dar 1 exemplo?

e ate onde eu sei o bug nao foi consertado ainda

Link para o comentário
Compartilhar em outros sites

@Josegvb como você disse que a porcentagem de loot esta em decimais, ou seja 10 = 100%, qualquer número acima de 10 causaria um loot absurdo, se sua lógica esta correta, oque essa linha faz é pegar os loots que estão na base da centena e converte los para decimais, ou seja seu monster estava com loot 98, quando ele chegar nesta linha estará 9.8, lógico isso só funcionará se o loot for de 10

 

Eu ainda não testei essa modificação, mas o que eu faria, para deixar este loot trabalhando na base decimal é, alterar este código do pokeDeath.lua

 local countVirg = 0
	for i, _ in pairs(lootList) do
	    countVirg = countVirg + 1
	    local id, count, chance = lootList[i].id, lootList[i].count, lootList[i].chance * 2
		
		---- X-Lucky
		local heldx = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "xHeldItem")
			if heldx then
			local heldName, heldTier = string.explode(heldx, "|")[1], string.explode(heldx, "|")[2]
				  if heldName == "X-Lucky" then -- dar mais loot
					 chance = chance * heldLucky[tonumber(heldTier)]
				  end
			end
		---- X-Lucky
		
		
		local percent, lootCount = math.random(0.1, 100.9), math.random(1, count)
		if (percent <= chance) then
			if isStone(id) then
			   isStoneDroped = true
			   local posCorpse = getThingPos(item)
				     posCorpse.x = posCorpse.x +1
			   doSendMagicEffect(posCorpse, stoneEffect[getItemNameById(id):lower()])
			   posCorpse.y = posCorpse.y +1
			   addEvent(doSendMagicEffect, 2000, posCorpse, 285)
			end
		     doAddContainerItem(item, id, lootCount)
			 table.insert(lootListNow, getItemNameById(id) .. " (" .. lootCount .. ")")
		end
	end

para

for i, _ in pairs(lootList) do
	    countVirg = countVirg + 1
	    local id, count, chance = lootList[i].id, lootList[i].count, lootList[i].chance
		
		---- X-Lucky
		local heldx = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "xHeldItem")
			if heldx then
			local heldName, heldTier = string.explode(heldx, "|")[1], string.explode(heldx, "|")[2]
				  if heldName == "X-Lucky" then -- dar mais loot
					 chance = chance * heldLucky[tonumber(heldTier)]
				  end
			end
		---- X-Lucky
		
		
		local percent, lootCount = math.random(0.1, 100.1), math.random(1, count)
		if (percent >= chance) then
			if isStone(id) then
			   isStoneDroped = true
			   local posCorpse = getThingPos(item)
				     posCorpse.x = posCorpse.x +1
			   doSendMagicEffect(posCorpse, stoneEffect[getItemNameById(id):lower()])
			   posCorpse.y = posCorpse.y +1
			   addEvent(doSendMagicEffect, 2000, posCorpse, 285)
			end
		     doAddContainerItem(item, id, lootCount)
			 table.insert(lootListNow, getItemNameById(id) .. " (" .. lootCount .. ")")
		end
	end

ainda não o testei no meu servidor, estarei realizando o teste com os players esta semana!

Também tem o problema de a xp dos monstros não estar escalando, ele pega a base do xml e não faz alteração por lvl, estarei vendo essa função mais tarde

Link para o comentário
Compartilhar em outros sites

11 minutos atrás, xokys disse:

@Josegvb como você disse que a porcentagem de loot esta em decimais, ou seja 10 = 100%, qualquer número acima de 10 causaria um loot absurdo, se sua lógica esta correta, oque essa linha faz é pegar os loots que estão na base da centena e converte los para decimais, ou seja seu monster estava com loot 98, quando ele chegar nesta linha estará 9.8, lógico isso só funcionará se o loot for de 10

 

Eu ainda não testei essa modificação, mas o que eu faria, para deixar este loot trabalhando na base decimal é, alterar este código do pokeDeath.lua


 local countVirg = 0
	for i, _ in pairs(lootList) do
	    countVirg = countVirg + 1
	    local id, count, chance = lootList[i].id, lootList[i].count, lootList[i].chance * 2
		
		---- X-Lucky
		local heldx = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "xHeldItem")
			if heldx then
			local heldName, heldTier = string.explode(heldx, "|")[1], string.explode(heldx, "|")[2]
				  if heldName == "X-Lucky" then -- dar mais loot
					 chance = chance * heldLucky[tonumber(heldTier)]
				  end
			end
		---- X-Lucky
		
		
		local percent, lootCount = math.random(0.1, 100.9), math.random(1, count)
		if (percent <= chance) then
			if isStone(id) then
			   isStoneDroped = true
			   local posCorpse = getThingPos(item)
				     posCorpse.x = posCorpse.x +1
			   doSendMagicEffect(posCorpse, stoneEffect[getItemNameById(id):lower()])
			   posCorpse.y = posCorpse.y +1
			   addEvent(doSendMagicEffect, 2000, posCorpse, 285)
			end
		     doAddContainerItem(item, id, lootCount)
			 table.insert(lootListNow, getItemNameById(id) .. " (" .. lootCount .. ")")
		end
	end

para


for i, _ in pairs(lootList) do
	    countVirg = countVirg + 1
	    local id, count, chance = lootList[i].id, lootList[i].count, lootList[i].chance
		
		---- X-Lucky
		local heldx = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "xHeldItem")
			if heldx then
			local heldName, heldTier = string.explode(heldx, "|")[1], string.explode(heldx, "|")[2]
				  if heldName == "X-Lucky" then -- dar mais loot
					 chance = chance * heldLucky[tonumber(heldTier)]
				  end
			end
		---- X-Lucky
		
		
		local percent, lootCount = math.random(0.1, 100.1), math.random(1, count)
		if (percent >= chance) then
			if isStone(id) then
			   isStoneDroped = true
			   local posCorpse = getThingPos(item)
				     posCorpse.x = posCorpse.x +1
			   doSendMagicEffect(posCorpse, stoneEffect[getItemNameById(id):lower()])
			   posCorpse.y = posCorpse.y +1
			   addEvent(doSendMagicEffect, 2000, posCorpse, 285)
			end
		     doAddContainerItem(item, id, lootCount)
			 table.insert(lootListNow, getItemNameById(id) .. " (" .. lootCount .. ")")
		end
	end

ainda não o testei no meu servidor, estarei realizando o teste com os players esta semana!

 

testei apenas mudando  o /10

com    <item id="12232" chance="500" count="1" countmax="1"/> --metal stone

porem ela ficou caindo td hora de qualquer jeito, irei testar o outro agr

 

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Josegvb disse:

 

testei apenas mudando  o /10

com    <item id="12232" chance="500" count="1" countmax="1"/> --metal stone

porem ela ficou caindo td hora de qualquer jeito, irei testar o outro agr

 

Neste caso sua chance esta 500/10, 50, ou seja 50% de chance de dropar, os números precisariam ser de 0 a 100! 

Você primeiro precisa corrigir os loots, sempre até 100!

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, xokys disse:

Neste caso sua chance esta 500/10, 50, ou seja 50% de chance de dropar, os números precisariam ser de 0 a 100! 

Você primeiro precisa corrigir os loots, sempre até 100!

 

usei o outro jeito que você falou, 

e ficou assim:

 <item id="12232" chance="500" count="1" countmax="1"/> --metal coat

 

essa ai nao esta dropando + acho q funfou, porem na rock

 

     <item id="11445" chance="1.3" count="1" countmax="1"/> --rock stone

 

com isso ai ficou 100% dropando essa stone

Link para o comentário
Compartilhar em outros sites

Config.lua o rate ta 1?

Vou testar aqui o segundo método e te falo

@Josegvb utilize o código desta forma, havia um erro de programação que eu não havia percebido, lembrando que os loots devem estar de 0 a 100!

 

for i, _ in pairs(lootList) do
	    countVirg = countVirg + 1
	    local id, count, chance = lootList[i].id, lootList[i].count, lootList[i].chance
		---- X-Lucky
		local heldx = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "xHeldItem")
			if heldx then
			local heldName, heldTier = string.explode(heldx, "|")[1], string.explode(heldx, "|")[2]
				  if heldName == "X-Lucky" then -- dar mais loot
					 chance = chance * heldLucky[tonumber(heldTier)]
				  end
			end
		---- X-Lucky
		
		
		local percent, lootCount = math.random(0.0, 100.0), math.random(1, count)
		if (percent <= chance) then
			if isStone(id) then
			   isStoneDroped = true
			   local posCorpse = getThingPos(item)
				     posCorpse.x = posCorpse.x +1
			   doSendMagicEffect(posCorpse, stoneEffect[getItemNameById(id):lower()])
			   posCorpse.y = posCorpse.y +1
			   addEvent(doSendMagicEffect, 2000, posCorpse, 285)
			end
		     doAddContainerItem(item, id, lootCount)
			 table.insert(lootListNow, getItemNameById(id) .. " (" .. lootCount .. ")")
		end
	end

 

Testei e este script esta funcionando normalmente, lembrem se, use a base 100

Editado por xokys
Link para o comentário
Compartilhar em outros sites

@xokys

 

sim

rateLoot = 1, entao coloquei o antigo /10 e baixei o 500 pra 100, entao seria 10% ne?

ficou melhor, matei uns 30 e dropei umas 6 metal, porem ainda acho mts kk

 

edit: acabei de ver isso, pera vo testar

edit2: @xokys testei aki, colocando em 100 o chance

<item id="12232" chance="100" count="1" countmax="1"/> --metal coat

ela fica caindo sempre, entao ai seria por % msm, 100 = 100% quer dizer q antes 50 tava sendo 100% ne? 

agr ficaria 100 = 100% 

pq pelo q vi só removeu o *2  e o /10

=p se o que voce queria era deixar em base a %, parabens concertou kk mas acho q eu irei deixar em /100 ou algo assim, acho q sem isso fica mt facil ainda ;/: 

Editado por Josegvb
Link para o comentário
Compartilhar em outros sites

Então guys, sobre o bug do cut/rock smash é o seguinte.. se tiver alguma bush ou rock do lado ou em cima da borda ele n irá funcionar.

Veja na gif, as bush do meio estão em cima de uma borda e as do lado não.
LsJ5Cok.gif

Link para o comentário
Compartilhar em outros sites

@kttallan não é só em megas, meus pokes normais o segundo hit está dando bem mais dano, primeiramente vou dar uma analisada nos atributos escalados, está bem ruim, não olhei as outras páginas do grupo, tinha o bug de ficar sumonando 2 pokes, mas ja resolvi, se alguém tiver este problema, eu posto a solução

Link para o comentário
Compartilhar em outros sites

@kttallan não é só em megas, meus pokes normais o segundo hit está dando bem mais dano, primeiramente vou dar uma analisada nos atributos escalados, está bem ruim, não olhei as outras páginas do grupo, tinha o bug de ficar sumonando 2 pokes, mas ja resolvi, se alguém tiver este problema, eu posto a solução

Link para o comentário
Compartilhar em outros sites

@kttallan não é só em megas, meus pokes normais o segundo hit está dando bem mais dano, primeiramente vou dar uma analisada nos atributos escalados, está bem ruim, não olhei as outras páginas do grupo, tinha o bug de ficar sumonando 2 pokes, mas ja resolvi, se alguém tiver este problema, eu posto a solução.

Vou dar uma revisada nesses orders também!

Link para o comentário
Compartilhar em outros sites

Para os que desejam escalar a XP por level dos status, altere o level system.lua, utilize

 

local exp = pokes[getCreatureName(cid)].exp * baseExpRate + pokes[getCreatureName(cid)].vitality * pokemonExpPerLevelRate

Variável de xp, pega a xp do monstro, multiplica pelo rate no configuration.lua, multiplica os pontos de vida por pokemonExpPerlevelRate, configurado no configuration.lua

Link para o comentário
Compartilhar em outros sites

Para os que desejam escalar a XP por level dos status, altere o level system.lua, utilize

 

local exp = pokes[getCreatureName(cid)].exp * baseExpRate + pokes[getCreatureName(cid)].vitality * pokemonExpPerLevelRate

Variável de xp, pega a xp do monstro, multiplica pelo rate no configuration.lua, multiplica os pontos de vida por pokemonExpPerlevelRate, configurado no configuration.lua

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...