Ir para conteúdo
  • Cadastre-se

(Resolvido)Erro ao usar o comando !reset


Ir para solução Resolvido por joadson,

Posts Recomendados

Ao usar o comando !reset o personagem desloga e da erro na distro:

 

ERRO:

post-127785-0-84394500-1422503186_thumb.

 

 

Eu adicionei o Sistema Resetar no meu servidor, seguindo este tutorial:

 

http://www.tibiaking.com/forum/topic/9256-reset-system-with-sources/

 

 

script da TALKACTION:

function onSay(cid, words, param)
	local t = {
		RemainingLvl = 8,
		exp = 4200,
		level = 350,
		redskull = true,
		battle = true,
		pz = true
	}
	if(t.redskull == true) and (getCreatureSkullType(cid) == 4) then
	  return doPlayerSendTextMessage(cid, 22, "Apenas player sem red skull podem resetar.")
	end
	if(t.pz == true) and (getTilePzInfo(getCreaturePosition(cid)) == false) then
	  return doPlayerSendTextMessage(cid, 22, "Voce precisa estar em protection zone pra poder resetar.")
	end
	if(t.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == true) then
	  return doPlayerSendTextMessage(cid, 22, "Você precisa estar sem battle pra poder resetar.")
	end
	if getPlayerLevel(cid) >= t.level then
		setResets(cid, 1)
		doRemoveCreature(cid, true)
		db.executeQuery("UPDATE `players` SET `level` = "..t.RemainingLvl..", `experience` = "..t.exp.." WHERE `id` = "..getPlayerGUID(cid))
	else
		doPlayerSendCancel(cid, "Voce precisa do level "..t.level.." ou mais para resetar.")
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
	end
	return true
end 

 

 

 

Obs: Fiz tudo certo, source TFS 0.3.6 pl1.

"O sucesso é uma consequência e não um objetivo. A persistência é o caminho do êxito".
Link para o post
Compartilhar em outros sites

Como mencionado no erro, era concatenação errada na linha 22 :

db.executeQuery("UPDATE `players` SET `level` = "..t.RemainingLvl..", `experience` = "..t.exp.." WHERE `id` = "..getPlayerGUID(cid).."")

/\

Modo Correto.

 

Basta trocar ^^

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

Como mencionado no erro, era concatenação errada na linha 22 :

db.executeQuery("UPDATE `players` SET `level` = "..t.RemainingLvl..", `experience` = "..t.exp.." WHERE `id` = "..getPlayerGUID(cid).."")

/\

Modo Correto.

 

Basta trocar ^^

 

 

Não deu certo, olha o erro:

post-127785-0-82027300-1422552008_thumb.

"O sucesso é uma consequência e não um objetivo. A persistência é o caminho do êxito".
Link para o post
Compartilhar em outros sites

Como mencionado no erro, era concatenação errada na linha 22 :

db.executeQuery("UPDATE `players` SET `level` = "..t.RemainingLvl..", `experience` = "..t.exp.." WHERE `id` = "..getPlayerGUID(cid).."")
/\

Modo Correto.

 

Basta trocar ^^

 

Nada a ver, estava correto...

 

 

Não deu certo, olha o erro:

attachicon.gifScreenshot_1.png

 

Tenta esse:

function onSay(cid, words, param)
	local t = {
		RemainingLvl = 8,
		exp = 4200,
		level = 350,
		redskull = true,
		battle = true,
		pz = true
	}
	if(t.redskull == true) and (getCreatureSkullType(cid) == 4) then
	  return doPlayerSendTextMessage(cid, 22, "Apenas players sem red skull podem resetar.")
	end
	if(t.pz == true) and (getTilePzInfo(getCreaturePosition(cid)) == false) then
	  return doPlayerSendTextMessage(cid, 22, "Você precisa estar em protection zone pra poder resetar.")
	end
	if(t.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == true) then
	  return doPlayerSendTextMessage(cid, 22, "Você precisa estar sem battle pra poder resetar.")
	end
	if getPlayerLevel(cid) >= t.level then
		setResets(cid, 1)
		db.executeQuery("UPDATE `players` SET `level` = "..t.RemainingLvl..", `experience` = "..t.exp.." WHERE `id` = "..getPlayerGUID(cid))
		doRemoveCreature(cid, true)
	else
		doPlayerSendCancel(cid, "Você precisa do level "..t.level.." ou mais para resetar.")
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
	end
	return true
end 
Editado por Snowsz (veja o histórico de edições)
                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

 

Nada a ver, estava correto...

 

 

 

Tenta esse:

function onSay(cid, words, param)
	local t = {
		RemainingLvl = 8,
		exp = 4200,
		level = 350,
		redskull = true,
		battle = true,
		pz = true
	}
	if(t.redskull == true) and (getCreatureSkullType(cid) == 4) then
	  return doPlayerSendTextMessage(cid, 22, "Apenas players sem red skull podem resetar.")
	end
	if(t.pz == true) and (getTilePzInfo(getCreaturePosition(cid)) == false) then
	  return doPlayerSendTextMessage(cid, 22, "Você precisa estar em protection zone pra poder resetar.")
	end
	if(t.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == true) then
	  return doPlayerSendTextMessage(cid, 22, "Você precisa estar sem battle pra poder resetar.")
	end
	if getPlayerLevel(cid) >= t.level then
		setResets(cid, 1)
		db.executeQuery("UPDATE `players` SET `level` = "..t.RemainingLvl..", `experience` = "..t.exp.." WHERE `id` = "..getPlayerGUID(cid))
		doRemoveCreature(cid, true)
	else
		doPlayerSendCancel(cid, "Você precisa do level "..t.level.." ou mais para resetar.")
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
	end
	return true
end 

 

O erro na distro acabo, mas quando eu falo !reset o personagem deloga, e quando loga não reseta nada.

UP

"O sucesso é uma consequência e não um objetivo. A persistência é o caminho do êxito".
Link para o post
Compartilhar em outros sites

Tenta :

function onSay(cid, words, param)
	
	local table = {
		newLevel = 8,
		exp = 4200,
		level = 350,
		idPLayer = getPlayerGUID(cid),
                skull = SKULL_RED
		
	}
	
			if not getPlayerSkullType(cid) == skull then
				if getTileInfo(getCreaturePosition(cid)).protection then
					if getPlayerLevel(cid) >= table.level then
						setResets(cid, 1)
						db.executeQuery("UPDATE `players` SET `level`= "..table.newLevel..", `experience`= "..table.exp.." WHERE `players`.`id`= "..table.idPLayer)
						doRemoveCreature(cid)
					else
						doPlayerSendCancel(cid, "Você precisa do level "..table.level.." ou mais para resetar.")
						doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
					end
				else
				       doPlayerSendTextMessage(cid, 19 , "Você precisa estar em protection zone pra poder resetar.")
				end
			else
				 doPlayerSendTextMessage(cid, 19, "Apenas players sem red skull podem resetar.")
			end
	return true
end
Editado por Summ (veja o histórico de edições)

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

post-127785-0-09516300-1422649479_thumb.

"O sucesso é uma consequência e não um objetivo. A persistência é o caminho do êxito".
Link para o post
Compartilhar em outros sites
  • Solução

Vá em lib/050-funciton.lua e add isso no final

function addReset(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,36874,resets+1)
return true
end

function getResets(cid)
resets = getPlayerStorageValue(cid,36874)
if resets < 0 then
resets = 0
end
return resets
end

Feito isso, vá em talkaction/script, e crie um arquivo chamado reset.lua e coloque isso dentro

function onSay(cid, words, param)

local newlevel = 2500 -- level após reset
local newexp = 0 -- Exp apos resetar
local pos = getPlayerPosition(cid)

if getResets(cid) >= 170 then --Limite de reset
doPlayerPopupFYI(cid, "voce ja atingiu o maximo de resets.")
return TRUE
end

if getPlayerLevel(cid) < 60 then  -- Level para poder resetar
doPlayerPopupFYI(cid, "Precisa ser level 60 para usar esse comando.")
else
addReset(cid)
playerid = getPlayerGUID(cid)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `players`.`id`= ".. playerid .."")
end
return TRUE
end

e adicione isso em talkaction.xml

    <talkaction words="!reset" access="1" event="script" value="reset.lua"/>

 

Espero ter ajudado

Te ajudei?
Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta"

 

Skype: JoadsonAion

Link para o post
Compartilhar em outros sites

@joadson

post-127785-0-73230200-1422731730_thumb.

 

 

@summ

quando eu falo !reset, fica aparecendo uma mensagem, "Apenas players sem red skull podem resetar.", mas meu personagem esta sem red skull.

"O sucesso é uma consequência e não um objetivo. A persistência é o caminho do êxito".
Link para o post
Compartilhar em outros sites

Você colocou as libs?
porque esse erro é que não encontrou a função addReset.

Te ajudei?
Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta"

 

Skype: JoadsonAion

Link para o post
Compartilhar em outros sites

@joadson

 

Muito obg!!! Funcionou.

O erro foi pq eu botei um dois end no final da função.

 

 

@Summ

 

A mensagem ainda continua, mas agr é no Default.

 

 

 

 

DAREI REP++ PROS DOIS.

"O sucesso é uma consequência e não um objetivo. A persistência é o caminho do êxito".
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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo