Ir para conteúdo
  • Cadastre-se

Posts Recomendados

5 hours ago, JcA said:

@xWhiteWolf Pode reformular o script para 8.60 (tfs 0.4), fazendo com que o char volte level 8, com os hp respectivo do level e vocação, + 500 hp e mana? Pq por porcentagem não ficou bom, é mais pra baiakao xp 9999999999999

vai por mim, coloca pelo menos uns 60% pq qnt menos vc diminui a vida maior ela fica nos resets grandes... Isso vai chegar num ponto que sua vida e mana vão ser maiores do que os valores que você tem no banco de dados pra salvar a quantidade de vida e mana máxima.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • Respostas 187
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Fala galera do TK, hoje vim pra trazer pra vocês um npc criado por mim e pelo Nogard numa madrugada aí para solucionar a dúvida de um cara no suporte. Eu dei uma melhorada no script original, tirei um

cara, aquilo que eu te passei era pra vc substituir no seu script;;; ficando assim:   local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatPa

talkactions/scripts/rankinreset local storage = 378378 -- storage que fica salvo os resets local itens = {2182, 2190, 2456, 2395} -- itens cujas imagens aparecerao (se nao souber oque eh, nao mexa)

Posted Images

42 minutos atrás, xWhiteWolf disse:

vai por mim, coloca pelo menos uns 60% pq qnt menos vc diminui a vida maior ela fica nos resets grandes... Isso vai chegar num ponto que sua vida e mana vão ser maiores do que os valores que você tem no banco de dados pra salvar a quantidade de vida e mana máxima.

Eu deixei pra dar 1% pode ocorrer algum bug?

Link para o post
Compartilhar em outros sites
17 hours ago, Radamanthys Wov said:

Eu deixei pra dar 1% pode ocorrer algum bug?

dar 1% você diz colocar 101 no percent?

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
3 hours ago, Radamanthys Wov said:

Não deixei apenas em 1%

dependendo do nivel que o cara da reset, vc pode acabar diminuindo a vida a cada reset ao invés de aumentar.. pensa cmg:

vamos supor que a vida normal no nv 8 é 500 e que a cada nv vc ganha 3 de vida.
Se o reset é nv 508 (to colocando isso pra facilitar as contas) então vc vai ter 500 + (3 * 500) = 2000.
Quando vc resetar a primeira vez, ele vai setar a vida maxima como 1% de 2000 que seria 20. Então o cara vai ter 20 de vida maxima contra 500 que ele tinha com 0 resets.
No segundo reset vc vai ter 20 + (3 * 500) = 1520, 1% disso seria 15. Então a vida do cara tá diminuindo a cada reset.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
14 minutos atrás, xWhiteWolf disse:

dependendo do nivel que o cara da reset, vc pode acabar diminuindo a vida a cada reset ao invés de aumentar.. pensa cmg:

vamos supor que a vida normal no nv 8 é 500 e que a cada nv vc ganha 3 de vida.
Se o reset é nv 508 (to colocando isso pra facilitar as contas) então vc vai ter 500 + (3 * 500) = 2000.
Quando vc resetar a primeira vez, ele vai setar a vida maxima como 1% de 2000 que seria 20. Então o cara vai ter 20 de vida maxima contra 500 que ele tinha com 0 resets.
No segundo reset vc vai ter 20 + (3 * 500) = 1520, 1% disso seria 15. Então a vida do cara tá diminuindo a cada reset.

Qual o minimo que você recomendaria ?

Link para o post
Compartilhar em outros sites
1 hour ago, Radamanthys Wov said:

Qual o minimo que você recomendaria ?

depende muito do nivel minimo de reset, de qual classe o cara tem (quanto de vida ele vai ter no nivel maximo) e de como funciona seu servidor.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
1 minuto atrás, xWhiteWolf disse:

depende muito do nivel minimo de reset, de qual classe o cara tem (quanto de vida ele vai ter no nivel maximo) e de como funciona seu servidor.

Ainda bem que me perguntou isso, antigamente o serv era por transformação mas alterei isso agora toda vez que ele equipa 1 item ele muda a vocação.Por exemplo tem a vocation em x item

outra vocation em x item... e sempre da pra ele alterar basta ter o item, ou sejá o item não some, você pode me previnir de possiveis bugs da life bugar? com essa script a baixo e a do reset?

aqui tá uma previa da script vocations.xml

Spoiler

<vocation id="32" name="Tenten" description="tenten" needpremium="0" gaincap="20" gainhp="390" gainmana="310" gainhpticks="310" gainhpamount="150" gainmanaticks="1" gainmanaamount="250" manamultiplier="1.1" attackspeed="1200" soulmax="300" gainsoulticks="60" fromvoc="31">
<formula meleeDamage="2.0" distDamage="2.0" wandDamage="2.0" magDamage="2.0" magHealingDamage="2.0" defense="2.0" magDefense="2.0" armor="2.0"/>
<skill fist="2.0" club="6.0" sword="2.0" axe="2.0" distance="2.0" shielding="2.0" fishing="2.0" experience="2.0"/>
</vocation>
<vocation id="33" name="tenten" description="tenten" needpremium="0" gaincap="20" gainhp="390" gainmana="310" gainhpticks="310" gainhpamount="150" gainmanaticks="1" gainmanaamount="250" manamultiplier="1.1" attackspeed="1200" soulmax="300" gainsoulticks="60" fromvoc="32">
<formula meleeDamage="2.0" distDamage="2.0" wandDamage="2.0" magDamage="2.0" magHealingDamage="2.0" defense="2.0" magDefense="2.0" armor="2.0"/>
<skill fist="2.0" club="6.0" sword="2.0" axe="2.0" distance="2.0" shielding="2.0" fishing="2.0" experience="2.0"/>
</vocation>
<vocation id="304" name="tenten" description="tenten" needpremium="0" gaincap="20" gainhp="390" gainmana="310" gainhpticks="310" gainhpamount="150" gainmanaticks="1" gainmanaamount="250" manamultiplier="1.1" attackspeed="1200" soulmax="300" gainsoulticks="60" fromvoc="33">
<formula meleeDamage="2.0" distDamage="2.0" wandDamage="2.0" magDamage="2.0" magHealingDamage="2.0" defense="2.0" magDefense="2.0" armor="2.0"/>
<skill fist="2.0" club="6.0" sword="2.0" axe="2.0" distance="2.0" shielding="2.0" fishing="2.0" experience="2.0"/>
</vocation>

 

Link para o post
Compartilhar em outros sites
Em 07/07/2014 ás 16:12, xWhiteWolf disse:

   /\ this. Esse script reseta em relação a vida antiga pra evitar bugs mas se vc quiser fazer uma vida fixa é só editar nessas configurações aqui:


local hp = getCreatureMaxHealth(cid)
setCreatureMaxHealth(cid, 200)
local differencehp = (hp - 200)
doCreatureAddHealth(cid, -differencehp)
local mana = getCreatureMaxMana(cid)
setCreatureMaxMana(cid, 180)
local differencemana = (mana - 180)
doCreatureAddMana(cid, -differencemana)

percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total

Apaga essa linha ??

Link para o post
Compartilhar em outros sites
On 4/11/2017 at 10:58 PM, Radamanthys Wov said:

Ainda bem que me perguntou isso, antigamente o serv era por transformação mas alterei isso agora toda vez que ele equipa 1 item ele muda a vocação.Por exemplo tem a vocation em x item

outra vocation em x item... e sempre da pra ele alterar basta ter o item, ou sejá o item não some, você pode me previnir de possiveis bugs da life bugar? com essa script a baixo e a do reset?

aqui tá uma previa da script vocations.xml

  Hide contents

<vocation id="32" name="Tenten" description="tenten" needpremium="0" gaincap="20" gainhp="390" gainmana="310" gainhpticks="310" gainhpamount="150" gainmanaticks="1" gainmanaamount="250" manamultiplier="1.1" attackspeed="1200" soulmax="300" gainsoulticks="60" fromvoc="31">
<formula meleeDamage="2.0" distDamage="2.0" wandDamage="2.0" magDamage="2.0" magHealingDamage="2.0" defense="2.0" magDefense="2.0" armor="2.0"/>
<skill fist="2.0" club="6.0" sword="2.0" axe="2.0" distance="2.0" shielding="2.0" fishing="2.0" experience="2.0"/>
</vocation>
<vocation id="33" name="tenten" description="tenten" needpremium="0" gaincap="20" gainhp="390" gainmana="310" gainhpticks="310" gainhpamount="150" gainmanaticks="1" gainmanaamount="250" manamultiplier="1.1" attackspeed="1200" soulmax="300" gainsoulticks="60" fromvoc="32">
<formula meleeDamage="2.0" distDamage="2.0" wandDamage="2.0" magDamage="2.0" magHealingDamage="2.0" defense="2.0" magDefense="2.0" armor="2.0"/>
<skill fist="2.0" club="6.0" sword="2.0" axe="2.0" distance="2.0" shielding="2.0" fishing="2.0" experience="2.0"/>
</vocation>
<vocation id="304" name="tenten" description="tenten" needpremium="0" gaincap="20" gainhp="390" gainmana="310" gainhpticks="310" gainhpamount="150" gainmanaticks="1" gainmanaamount="250" manamultiplier="1.1" attackspeed="1200" soulmax="300" gainsoulticks="60" fromvoc="33">
<formula meleeDamage="2.0" distDamage="2.0" wandDamage="2.0" magDamage="2.0" magHealingDamage="2.0" defense="2.0" magDefense="2.0" armor="2.0"/>
<skill fist="2.0" club="6.0" sword="2.0" axe="2.0" distance="2.0" shielding="2.0" fishing="2.0" experience="2.0"/>
</vocation>

 

nao dá pra prevenir de bugar, quando ele resetar ele vai te setar com uma porcentagem da vida máxima.. a menos que você remova essa configuração.

 

5 hours ago, Jinx said:

percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total

Apaga essa linha ??

não, essa linha você só pode apagar se vc nunca mais usar config.percent dentro do script.

Se vocês realmente não querem que a vida e mana sejam alteradas durante o reset, apenas removam essas linhas:
 

Spoiler

local hp = getCreatureMaxHealth(cid)
	local resethp = hp*(config.percent/100)
	setCreatureMaxHealth(cid, resethp)
	local differencehp = (hp - resethp)
	doCreatureAddHealth(cid, -differencehp)
	local mana = getCreatureMaxMana(cid)
	local resetmana = mana*(config.percent/100)
	setCreatureMaxMana(cid, resetmana)
	local differencemana = (mana - resetmana)
	doCreatureAddMana(cid, -differencemana)

 

e aí vocês podem remover o percent = 100, da lista de configurações, pq ele não vai estar sendo mais usado.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
10 minutos atrás, xWhiteWolf disse:

nao dá pra prevenir de bugar, quando ele resetar ele vai te setar com uma porcentagem da vida máxima.. a menos que você remova essa configuração.

 

não, essa linha você só pode apagar se vc nunca mais usar config.percent dentro do script.

Se vocês realmente não querem que a vida e mana sejam alteradas durante o reset, apenas removam essas linhas:
 

  Mostrar conteúdo oculto


local hp = getCreatureMaxHealth(cid)
	local resethp = hp*(config.percent/100)
	setCreatureMaxHealth(cid, resethp)
	local differencehp = (hp - resethp)
	doCreatureAddHealth(cid, -differencehp)
	local mana = getCreatureMaxMana(cid)
	local resetmana = mana*(config.percent/100)
	setCreatureMaxMana(cid, resetmana)
	local differencemana = (mana - resetmana)
	doCreatureAddMana(cid, -differencemana)

 

e aí vocês podem remover o percent = 100, da lista de configurações, pq ele não vai estar sendo mais usado.

Mas, eu quero entender por exemplo quando ele resetar, vamos supor que no lvl 40 ele tenha 100 de life, aí se ele voltar pro lvl 40 e o reset tiver em 101%, ele fica com 101 de life, ou a life continua do lvl que ele tava?

Link para o post
Compartilhar em outros sites
1 hour ago, Radamanthys Wov said:

Mas, eu quero entender por exemplo quando ele resetar, vamos supor que no lvl 40 ele tenha 100 de life, aí se ele voltar pro lvl 40 e o reset tiver em 101%, ele fica com 101 de life, ou a life continua do lvl que ele tava?

isso é porcentagem. se estiver 20 ele vai ficar com 20 de hp, se estiver 101% ele vai ficar com 101 de life, mas se ele tiver 500 de vida será 505 e não 101.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Voce poderia me ajudar me arrumar um ot que esse script funcione ? e que seja 8.60... no meu ate agr n funcionou 

                                                                    by : GOTD

                                                       :facepalm: esperando voce morrer..

 

 

                                                                 40% Scripter

                                                                 70% Mapper

Link para o post
Compartilhar em outros sites
50 minutos atrás, gustavoood disse:

Voce poderia me ajudar me arrumar um ot que esse script funcione ? e que seja 8.60... no meu ate agr n funcionou 

Se vc ler passo a passo tudo oque tem na pagina tu consegue fazer funcionar facinho.

 

 

@xWhiteWolf

Eu testei e funciona 100%( versão otx tfs 1.3).

So uma duvida, eu criei uma tabela resets como pede, porem não fica salvo os resets do players.

e quando falo com o npc ele ão mostra os resets.

13:46 White Wolf: Hello Teste Kina.I've been waiting for you to come.. Say 'reset' or 'quantity'
13:46 Teste Kina [20]: quantity
13:47 White Wolf: You have a total of 0 reset(s).

 

 

 

Link para o post
Compartilhar em outros sites
8 hours ago, sirarcken said:

Se vc ler passo a passo tudo oque tem na pagina tu consegue fazer funcionar facinho.

 

 

@xWhiteWolf

Eu testei e funciona 100%( versão otx tfs 1.3).

So uma duvida, eu criei uma tabela resets como pede, porem não fica salvo os resets do players.

e quando falo com o npc ele ão mostra os resets.


13:46 White Wolf: Hello Teste Kina.I've been waiting for you to come.. Say 'reset' or 'quantity'
13:46 Teste Kina [20]: quantity
13:47 White Wolf: You have a total of 0 reset(s).

 

 

 

provavelmente é alguma bosta na função getResets, coloca pra printar player, e resets pra ver o que tá acontecendo. 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • 1 month later...
6 hours ago, iTzBrHue3 said:

teria como definir a cap do personagem ao resetar,  para nao fica tanta cap no level 1

você consegue alterar a cap tanto pela query no banco de dados adicionando uma virgula e inserindo a coluna da capacidade que se nao me engano é  `capacity` e se nao me engano existe alguma função de setar cap tb que você pode usar só adicionando uma linha de código.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • 1 month later...

ola, desculpe reviver mais uma vez esse tópico, eu estou tendo problemas para usar essa script 

a versão do meu server é 8.6

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink()                  npcHandler:onThink()                  end

local config = {
	minlevel = 100, --- Level inical para resetar
	price = 10000, --- Preço inicial para resetar
	newlevel = 20, --- Level após reset
	priceByReset = 10000, --- Preço acrescentado por reset
	percent = 100, ---- Porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total)
	maxresets = 50, ---- Maximo de resets
	levelbyreset = 100 --- Quanto de level vai precisar a mais no próximo reset 
}

local function addReset(uid)
	local player = Player(uid)
	if player then
		local resets = player:getResets()+1
		local hp = player:getMaxHealth()
		local resethp = hp*(config.percent/100)
		player:setMaxHealth(resethp)
		local mana = player:getMaxMana()
		local resetmana = mana*(config.percent/100)
		player:setMaxMana(resetmana)
		local playerid = player:getGuid()
		player:remove() 
		db.query("UPDATE `players` SET `resets`="..resets..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."")
		db.query("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."")
	end
	return true
end 

local function getResets(uid)
	local player = Player(uid)
	local resets = 0
	if player then
		resets = math.max(0, player:getStorageValue(378378))
	end
return resets
end

function creatureSayCallback(cid, type, msg)
	if not npcHandler:isFocused(cid) then
		return false
	end
	local player = Player(cid)
	local newPrice = config.price + (getResets(cid) * config.priceByReset)
	local newminlevel = config.minlevel + (getResets(cid) * config.levelbyreset)

	if msgcontains(msg, 'poder') then
		if getResets(cid) < config.maxresets then
			npcHandler:say('sim eu desenvolvi uma tecnica que concentra seu poder em sua alma possibilitando o acumulo de mais poder que seu corpo fisico n suportaria. eu te ensinarei isso por '..newPrice..' gp\'s!', cid)
			npcHandler.topic[cid] = 1
		else
			npcHandler:say('eu ja te ensinei tudo que sei, mais um reset poderia destruir seu fragil e instavel corpo mortal!', cid)
		end
	elseif msgcontains(msg, 'yes') and npcHandler.topic[cid] == 1 then
		if player:getLevel() > newminlevel then
			if player:removeMoney(newPrice) then
				addEvent(function()
					if isPlayer(cid) then
						addReset(cid)
                        
					end
				end, 3000)
				local number = getResets(cid)+1
				local msg ="---[Reset: "..number.."]-- voce resetou!  desperte bravo guerreiro, a jornada ainda não terminou...."
				player:popupFYI(msg) 
				npcHandler.topic[cid] = 0
				npcHandler:releaseFocus(cid)
			else
				npcHandler:say('voce precisa de '..newPrice..' gp\'s para que eu possa te treinar!', cid)
				npcHandler.topic[cid] = 0
			end
		else
			npcHandler:say('Ainda esta cedo para isso.. Voce so podera repetir essa tecnica no nivel '..newminlevel..'!', cid)
			npcHandler.topic[cid] = 0
		end
	elseif(msgcontains(msg, 'no')) and isInArray({1}, npcHandler.topic[cid]) then
		npcHandler.topic[cid] = 0
		npcHandler:releaseFocus(cid)
		npcHandler:say('Ok.', cid)
	elseif msgcontains(msg, 'resets') then
		npcHandler:say('voce possue um total de '..getResets(cid)..' reset(s).', cid)
		npcHandler.topic[cid] = 0
	end
	return true
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new()) 

quando eu ponho dessa maneira, o npc aparece no servidor, porem assim que eu falo com o npc eu recebo uma mensagem de erro e o npc não responde

 

Spoiler

[01/07/2017 19:32:09] [Error - Npc interface] 
[01/07/2017 19:32:09] data/npc/scripts/reseter.lua:onCreatureSay
[01/07/2017 19:32:09] Description: 
[01/07/2017 19:32:09] data/npc/scripts/reseter.lua:51: attempt to call global 'Player' (a nil value)
[01/07/2017 19:32:09] stack traceback:
[01/07/2017 19:32:09]     data/npc/scripts/reseter.lua:51: in function 'callback'
[01/07/2017 19:32:09]     data/npc/lib/npcsystem/npchandler.lua:383: in function 'onCreatureSay'
[01/07/2017 19:32:09]     data/npc/scripts/reseter.lua:7: in function <data/npc/scripts/reseter.lua:7>

 voces poderiam me ajudar?

Link para o post
Compartilhar em outros sites
1 hour ago, ecdouradojr said:

ola, desculpe reviver mais uma vez esse tópico, eu estou tendo problemas para usar essa script 

a versão do meu server é 8.6


local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink()                  npcHandler:onThink()                  end

local config = {
	minlevel = 100, --- Level inical para resetar
	price = 10000, --- Preço inicial para resetar
	newlevel = 20, --- Level após reset
	priceByReset = 10000, --- Preço acrescentado por reset
	percent = 100, ---- Porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total)
	maxresets = 50, ---- Maximo de resets
	levelbyreset = 100 --- Quanto de level vai precisar a mais no próximo reset 
}

local function addReset(uid)
	local player = Player(uid)
	if player then
		local resets = player:getResets()+1
		local hp = player:getMaxHealth()
		local resethp = hp*(config.percent/100)
		player:setMaxHealth(resethp)
		local mana = player:getMaxMana()
		local resetmana = mana*(config.percent/100)
		player:setMaxMana(resetmana)
		local playerid = player:getGuid()
		player:remove() 
		db.query("UPDATE `players` SET `resets`="..resets..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."")
		db.query("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."")
	end
	return true
end 

local function getResets(uid)
	local player = Player(uid)
	local resets = 0
	if player then
		resets = math.max(0, player:getStorageValue(378378))
	end
return resets
end

function creatureSayCallback(cid, type, msg)
	if not npcHandler:isFocused(cid) then
		return false
	end
	local player = Player(cid)
	local newPrice = config.price + (getResets(cid) * config.priceByReset)
	local newminlevel = config.minlevel + (getResets(cid) * config.levelbyreset)

	if msgcontains(msg, 'poder') then
		if getResets(cid) < config.maxresets then
			npcHandler:say('sim eu desenvolvi uma tecnica que concentra seu poder em sua alma possibilitando o acumulo de mais poder que seu corpo fisico n suportaria. eu te ensinarei isso por '..newPrice..' gp\'s!', cid)
			npcHandler.topic[cid] = 1
		else
			npcHandler:say('eu ja te ensinei tudo que sei, mais um reset poderia destruir seu fragil e instavel corpo mortal!', cid)
		end
	elseif msgcontains(msg, 'yes') and npcHandler.topic[cid] == 1 then
		if player:getLevel() > newminlevel then
			if player:removeMoney(newPrice) then
				addEvent(function()
					if isPlayer(cid) then
						addReset(cid)
                        
					end
				end, 3000)
				local number = getResets(cid)+1
				local msg ="---[Reset: "..number.."]-- voce resetou!  desperte bravo guerreiro, a jornada ainda não terminou...."
				player:popupFYI(msg) 
				npcHandler.topic[cid] = 0
				npcHandler:releaseFocus(cid)
			else
				npcHandler:say('voce precisa de '..newPrice..' gp\'s para que eu possa te treinar!', cid)
				npcHandler.topic[cid] = 0
			end
		else
			npcHandler:say('Ainda esta cedo para isso.. Voce so podera repetir essa tecnica no nivel '..newminlevel..'!', cid)
			npcHandler.topic[cid] = 0
		end
	elseif(msgcontains(msg, 'no')) and isInArray({1}, npcHandler.topic[cid]) then
		npcHandler.topic[cid] = 0
		npcHandler:releaseFocus(cid)
		npcHandler:say('Ok.', cid)
	elseif msgcontains(msg, 'resets') then
		npcHandler:say('voce possue um total de '..getResets(cid)..' reset(s).', cid)
		npcHandler.topic[cid] = 0
	end
	return true
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new()) 

quando eu ponho dessa maneira, o npc aparece no servidor, porem assim que eu falo com o npc eu recebo uma mensagem de erro e o npc não responde

 

  Hide contents

[01/07/2017 19:32:09] [Error - Npc interface] 
[01/07/2017 19:32:09] data/npc/scripts/reseter.lua:onCreatureSay
[01/07/2017 19:32:09] Description: 
[01/07/2017 19:32:09] data/npc/scripts/reseter.lua:51: attempt to call global 'Player' (a nil value)
[01/07/2017 19:32:09] stack traceback:
[01/07/2017 19:32:09]     data/npc/scripts/reseter.lua:51: in function 'callback'
[01/07/2017 19:32:09]     data/npc/lib/npcsystem/npchandler.lua:383: in function 'onCreatureSay'
[01/07/2017 19:32:09]     data/npc/scripts/reseter.lua:7: in function <data/npc/scripts/reseter.lua:7>

 voces poderiam me ajudar?

 vc tá usando a versão 1.x no servidor 0.4. Pega a versão certa no tópico

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Linus
      Você  pode configurar se quer que o preço aumente a cada reset, se quer que o level pra resetar aumente e se vc quer que a vida resete junto (e quanto % da vida atual será a vida após resetar).
       
       
      Testado em tfs 1.1, Versão 10.77
       
       
       
       
      Vá em data/npc/lib/ crie npc_resets.lua :
       



       
      Você pode editar mexendo aqui. no script acima :
      config = { minlevel = 150, --- Level inical para resetar price = 10000, --- Preço inicial para resetar newlevel = 20, --- Level após reset priceByReset = 0, --- Preço acrescentado por reset percent = 30, ---- Porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) maxresets = 50, ---- Maximo de resets levelbyreset = 0 --- Quanto de level vai precisar a mais no próximo reset } agora em data/npc/ crie reseter.XML :
       



       
       
       
      Agora em data/npc/scripts crie reseter.lua :
       



       
       
       
      Img : 
       

    • Por gpedro
      Testado: MySQL & SQLite
      Distro: TFS 0.4_SVN & TFS 0.3.6

      MySQL

      ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0"; SQLite ALTER TABLE players ADD resets INTEGER not null default 0 Adicionando nas sources player.h procure por: uint32_t level; logo abaixo, adicione: uint32_t resets; iologindata.cpp procure por query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`," substitua por: query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`, `resets`, " procure por player->level = std::max((uint32_t)1, (uint32_t)result->getDataInt("level")); logo abaixo adicione: player->resets = (uint32_t)result->getDataInt("resets"); procure por query << "`maglevel` = " << player->magLevel << ", "; logo abaixo adicione: query << "`resets` = " << player->resets << ", "; players.cpp procure por: s << " (Level " << level << ")"; substitua por: s << " (Level " << level << ") [Reset " << resets << "]"; players.h procure por: void setPromotionLevel(uint32_t pLevel); logo abaixo adicione: uint32_t getResets() { return resets;} void setResets(int32_t amount) { resets += amount; if (resets < 0) {resets = 0;} } luascript.cpp para 0.3.6 static int32_t luaDoPlayerSetIdleTime(lua_State* L); logo abaixo adicione: static int32_t luaGetResets(lua_State* L); static int32_t luaSetResets(lua_State* L); talkactions.xml <talkaction words="!rank;/rank" event="script" value="ranks.lua"/> <talkaction words="!reset;/reset" script="reset.lua"/> ranks.lua
      Créditos: Dark Skyllen, Marcryzius, Mock, Kydrai, Cykotitan, gpedro*.
      * adaptação para 0.4
    • Por Marjer
      Ola! Eu tenho uma duvida!
      Eu tenho 1 mapa 9.60 e ficou 1 tempo online, e assim foi crecendo.. (accs, players, etc..)
      E eu consegui passar para 10.10
      E gostaria de saber se tem como passa a database do 9.60 pro 10.10 ?
      Tem algum jeito que eu possa fazer isso ?
      Eu fiz uns test..
      Quando eu coloquei a database do 9.60 na pasta do 10.10
      Eu abri o executer e aparece isso de primeiro :

      (Uso Distro : The Forgotten Server, version 0.3.7_7_SVN)

      Updating Database Manager
      Updating Database to version 37...
      Updating has been updated to version: 37.
      Updating Database to version 38...
      Updating has been updated to version: 38.
      Optimized database.

      E abriu normalmente...
      Nessa database tem as contas, e depois que abril certinho o mapa.
      Eu tento entra e fala que o password ou o login estao errados.
      E quando eu logo no account manager da esse erro :
      Error during getDataInt(offinetraining_time)
      Error during getDataInt(offinetraining_skill)
      sqlite3_prepare_v2(): SQILITE ERRO: no such table? player_inboxitems (SELECT "pid, "sid", "itemtype", "count", "attributes" FROM "player_inboxitems" WHERE "player_id" = 1 ORDEN BY "Sid Desc;)

      Toda vez que entro no jogo, com personagem, ou account manager, no Server Log aparece isso :
       00:32 You must be logged out for more than 10 minutes to start offline training.
      E quando entro eu ando um pouco, depois eu relogo, vai para o templo, e com a mesma mensagem acima!
      E quando logo, no executer, da 1 erro muitoo grande!
      Irei postar uma foto!
      Foto :



      Entao.. Tem como ?

      ---------------------------
      (Uso Distro : The Forgotten Server, version 0.3.7_7_SVN)
      Entao...
      Eu peguei outra database, porque a da versão 9.60 dava erro!
      Eu fiz varios tests com a database.
      Pelo o que eu procurei e testei, essa database funcionou 100%
      Massss.....
      Meu mapa é Radbr, então tem o sistema de resets.
      Já tentei falar, /installreset, é mesma coisa que nada!
      E quando o player reseta nessa database, da 1 erro!
      Mas sera que é erro no Script ? ( Mas na outra versão 8.60 ea 9.60 funcionava!.... )

      E o player volta pro level 20, e com vida e mana de antes.
      Mas não aparece no look, e da erro no executer :
      Error during get DataInt (reset)  "4 vezes aparece esse erro" e depois...
      Tabela de Resets: Intalada ... [success]
      Error during get DataInt (reset)
      Ai desloga o char.. E quando desloga da esse erro :

      sqlite3_prepare_v2(): SQLITE ERROR: no such column: reset (UPDATE "players" SET "reset" = 1 WHERE "id"=3;)
      Ai loga o char... E da esse erro :
      sqlite3_prepare_v2(): SQLITE ERROR: no such column: reset (SELECT "ID", "reset" FROM "players" ORDEN BY DESC;)

      Tem algum jeito de arruma isso ?
      Eu procurei algumas coisas mas não achei! Talvez alguma SQL query possa ajuda nisso! Talvez..
      Se alguém souber... Por favor me ajuda.
      Irei colocar meu servidor online, e preciso de uma database boa! Nem que não de a do 9.60
      Mas uma que funcione...! E não de erro do sistema de reset!
      Por favor se alguém puder me ajuda, eu agradeço!

      Atenciosamente, Marjer!
       
      EDIT : Foto postada
    • Por Cleiton Felipi
      Bom dia galera!
      Bom eu gostaria de saber se existe algum comando para mysql que reseta o level e mana o life e os skill dos players, sem deletar os char, e o comando que manda todos para o templo.
      Não sei se estou na area correta, se não tiver desculpa.
      Desde já obrigado.
    • Por RenanPhellip
      Eai galera!   
       
       
      Estou precisando de um npc que resete o player. Sendo mais específico preciso que tenha as seguintes funções se possível:
       
      Level minimo para resetar: 250.
      Level máximo: 600.
      Preço: 7 esferas do dragão.
      Manter skills, ml, life/mana e adicionar +25k de life/mana.
      Resete para o level 1.
      E por fim, troque a vocação do player (exemplo: se ele esta na vocação 2 , que vá para a 3).
      Aah, vale lembrar, que irei configurar várias vocações e não somente uma.
       
      Distro Utilizada: tfs 0.4 rev.3884
      Versão Do Servidor: 8.60
       
      Antes de mais nada vale lembrar que procurei em vários tópicos aqui no forum e os que encontrei não consegui modificá-los ao ponto que eu quero.



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo