Ir para conteúdo
  • 0

Sistema de Reset


crownzs

Pergunta

Fui tentar instalar o seguinte sistema reset:

 

--[[ <(Advanced Reset System 2.0)>

 

Acontece que falo /installreset no chat como god. Aparece que a instalação foi bem sucedida. O problema é que não cria nada na minha database e assim o comando !resetar não funciona..

 

Aparece o seguinte erro:

 

 

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

Posts Recomendados

  • 0

 

[21:54:30.994] [Error - TalkAction Interface]

[21:54:30.995] data/talkactions/scripts/reset.lua:onSay

[21:54:30.995] Description:

[21:54:30.995] data/talkactions/scripts/reset.lua:20: attempt to call global 'getPlayerIdByName' (a nil value)

[21:54:30.995] stack traceback:

[21:54:30.995] data/talkactions/scripts/reset.lua:20: in function 'getPlayerReset'

[21:54:30.995] data/talkactions/scripts/reset.lua:29: in function

 

 

 

--[ Condições de Reset ] --
local coNdConf = {
	needPz = true, -- Precisa estar em Pz pra resetar? [true, false]
	needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false]
	withe = false, -- Players com Pk Withe podem resetar? [true, false]
	red = false, -- Players com Pk Red pode resetar? [true, false]
	battle = false, -- Players precisão estar sem battle pra resetar? [true, false]
	teleport = true, -- Teleportar Player para o templo após resetar? [true, false]
	look = true, -- Aparecer Resets no Look do Player? [true, false]	
	
	--[ Configurações do Reset ] --
	resetConf = {
		Level = 350, -- Level Necessário para Resetar. [Valor]
		backLvl = 100, -- Level que voltará após o Reset. [Valor]
		time = 5 -- Tempo para o Player deslogar ao resetar, em segundos. [Valor]
	}
}

function getPlayerReset(cid)
	local query = db.getResult("SELECT `reset` FROM `players` WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";"

	if query:getID() ~= -1 then
		return tonumber(query:getDataString("reset"))
	end
	return 0
end

function onSay(cid, words, param)
	local resetValue = getPlayerReset(cid) + 1
	local desc = coNdConf.look and ' [Resets: " .. resetValue .."]' or ''
	local query = "UPDATE `players` SET `reset` = " .. resetValue .. ", `description` = '" .. desc .. "' WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";"
	local success = " ~~ Sucesso! ~~ \n\nVocê tem agora " .. resetValue .. " resets."
	
	if getPlayerLevel(cid) < coNdConf.resetConf.Level then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
		return true
	elseif coNdConf.needPz and not getTilePzInfo(getCreaturePosition(cid)) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -")
		return true
	elseif coNdConf.needPa == true and not isPremium(cid) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -")
		return true
	elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -")
		return true
	elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -")
		return true
	elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -")
		return true
	end
	doPlayerPopupFYI(cid, success)
	doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
	doPlayerAddLevel(cid, - (getPlayerLevel(cid) - coNdConf.resetConf.Level))
	doRemoveCreature(cid)
	db.query(query)
	return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

@@crownzs,

Vou ser sincero, não sei se vai funcionar, esse sistema ta uma bagunça.

De qualquer forma, tenta aí:

 

Primeiramente rode essa query manualmente em sua db:

ALTER TABLE `players` ADD `reset` INT(11) NOT NULL DEFAULT 0;
Agora tente com o sistema de reset:

 

 

--[[ <(Advanced Reset System 2.0)>

Autor: MarcelloMkez. Contato: ([email protected]<script cf-hash='f9e31' type="text/javascript"> /* */</script>)
Versão: 2.0
Testado em: 8.50 e 8.60
TFS: 0.3.6 and 0.4.0

-=[Características]=-
~( Versão 2.0 )~

- Resets agora Armazenados na DataBase; (Sem Valor de Storage)
- Instala o System e cria a Tabela de Resets com o comando "/installreset";
- Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.;
	- [STAGES] para "Premium Account" e "Free Account"; ]]

--=[Functions]=--

-- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.]
-- nowReseting()' [Verifica, retorna o erro ou reseta.]
-- getPlayerReset(cid)' [Pega numero de resets do player.]
-- checLevelStageReset(cid)' [Verifica o Level para Resetar.]
-- newReset(cid)' [Verifica todas as Condições de Reset.]
-- addValue(value)' [Adiciona numero de resets.]

--=[Comandos de Jogadores]=--
-- "!resetar" -- Para Resetar.

--[ Condições de Reset ] --
local coNdConf = {
	
	needPz = true, -- Precisa estar em Pz pra resetar? [true, false]
	needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false]
	withe = false, -- Players com Pk Withe podem resetar? [true, false]
	red = false, -- Players com Pk Red pode resetar? [true, false]
	battle = false, -- Players precisão estar sem battle pra resetar? [true, false]
	teleport = true, -- Teleportar Player para o templo após resetar? [true, false]
	look = true, -- Aparecer Resets no Look do Player? [true, false]
	
	
	--[ Configurações do Reset ] --
	resetConf = {
		
		Level = 350, -- Level Necessário para Resetar. [Valor]
		backLvl = 100, -- Level que voltará após o Reset. [Valor]
		time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor]
		
	},
}
--[[>> STAGES <<]]--
local stage = {
	Abilitar = true --<< Abilitar Stages?? >>-- [truen ou false]

	-- [RESETS] | [PREMMY] | [FREE]
	stage1 = {resets= 4, premmy= 45000, free= 45000},
	stage2 = {resets= 9, premmy= 75000, free= 75000},
	stage3 = {resets= 13, premmy= 130000, free= 130000},
	stage4 = {resets= 16, premmy= 190000, free= 190000},
	stage5 = {resets= 20, premmy= 230000, free= 230000},
	stage6 = {resets= 25, premmy= 280000, free= 280000},
	stage7 = {resets= 30, premmy= 350000, free= 350000},
	stage8 = {resets= 40, premmy= 420000, free= 420000},
	stage9 = {resets= 50, premmy= 420000, free= 420000},
	stage10 ={resets= 50, premmy= 420000, free= 420000}

}

--[[>> FIM STAGES <<]]--

--=[Pega Valor de Resets]=--
function getPlayerReset(cid)
	local query = db.getResult("SELECT `reset` FROM `players` WHERE `id`= " .. getPlayerGUID(cid) .. ";")
	if query:getID() ~= -1 then
		return tonumber(query:getDataString("reset"))
	end
	return 0
end

local success = " ~~ Sucesso! ~~ \nVocê tem agora ".. getPlayerReset(cid) + 1 .." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos."

--=[Reseta]=--
function addValue(cid)
	local resetValue = getPlayerReset(cid) + 1
	local lvl_query = "UPDATE `players` SET `level` = " .. coNdConf.resetConf.backLvl .. ", `experience` = 0 WHERE `id`= " .. getPlayerGUID(cid) .. ";"
	local reset_query = "UPDATE `players` SET `reset` = " .. resetValue .. " WHERE `id`= " .. getPlayerGUID(cid) .. ";"
	local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. getPlayerGUID(cid) .. ";"
	local look_query = "UPDATE `players` SET `description` = ' [Reset " .. resetValue .."]' WHERE `players`.`id`= " .. getPlayerGUID(cid) .. ";"
	if not coNdConf.look then
		doRemoveCreature(cid)
		db.executeQuery(lvl_query)
		db.executeQuery(reset_query)
		db.executeQuery(nolook_query)
	else
		doRemoveCreature(cid)
		db.executeQuery(lvl_query)
		db.executeQuery(reset_query)
		db.executeQuery(look_query)
	end
	return true
end

function nowReseting(cid)
	if getPlayerLevel(cid) < coNdConf.resetConf.Level then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
		return true
	end
	if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then
		doPlayerPopupFYI(cid, success)
		addValue(cid)
	else
		doPlayerPopupFYI(cid, success)
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))
		addValue(cid)
	end
	return true
end

--[STAGES Nao mexer em nada.]--
function checkLevelStageReset(cid)
	local stages = {
		{resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free},
		{resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free},
		{resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free},
		{resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free},
		{resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free},
		{resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free},
		{resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free},
		{resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free},
		{resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free},
		{resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}
	}

	local resets = getPlayerReset(cid)
	for i, tab in ipairs(stages) do
		if resets <= tab.resets then
			coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free
			break
		end
	end
	if getPlayerLevel(cid) < coNdConf.resetConf.Level then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
		return true
	end
	
	if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then
		doPlayerPopupFYI(cid, success)
		addValue(cid)
	else
		doPlayerPopupFYI(cid, success)
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))
		addValue(cid)
	end
	return true
end

function newReset(cid)
	if coNdConf.needPz and getTilePzInfo(getCreaturePosition(cid) == LUA_ERROR) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -")
		return true
	elseif coNdConf.needPa == true and not isPremium(cid) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -")
		return true
	elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -")
		return true
	elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -")
		return true
	elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -")
		return true
	end

	if stage.Abilitar then
		checkLevelStageReset(cid)
	else
		nowReseting(cid)
	end
	return true
end

function onSay(cid, words, param)
	if words =="!resetar" then
		newReset(cid)
	end
	return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado por responder, mas ainda não funcionou. Acusou outro erro agora:

 

[15:53:32.728] [Error - LuaInterface::loadFile] data/talkactions/scripts/advancedResetSystem.lua:54: '}' expected (to close '{' at line 50) near 'stage1'
[15:53:32.728] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua)
[15:53:32.728] data/talkactions/scripts/advancedResetSystem.lua:54: '}' expected (to close '{' at line 50) near 'stage1'

 

 

Você recomenda algum sistema de reset?

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado por responder, mas ainda não funcionou. Acusou outro erro agora:

 

[15:53:32.728] [Error - LuaInterface::loadFile] data/talkactions/scripts/advancedResetSystem.lua:54: '}' expected (to close '{' at line 50) near 'stage1'

[15:53:32.728] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua)

[15:53:32.728] data/talkactions/scripts/advancedResetSystem.lua:54: '}' expected (to close '{' at line 50) near 'stage1'

 

 

Você recomenda algum sistema de reset?

Foi só uma vírgula que estava faltando kkkkkk

Tenta agora:

 

--[[ <(Advanced Reset System 2.0)>

Autor: MarcelloMkez. Contato: ([email protected]<script cf-hash='f9e31' type="text/javascript"> /* */</script>)
Versão: 2.0
Testado em: 8.50 e 8.60
TFS: 0.3.6 and 0.4.0

-=[Características]=-
~( Versão 2.0 )~

- Resets agora Armazenados na DataBase; (Sem Valor de Storage)
- Instala o System e cria a Tabela de Resets com o comando "/installreset";
- Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.;
	- [STAGES] para "Premium Account" e "Free Account"; ]]

--=[Functions]=--

-- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.]
-- nowReseting()' [Verifica, retorna o erro ou reseta.]
-- getPlayerReset(cid)' [Pega numero de resets do player.]
-- checLevelStageReset(cid)' [Verifica o Level para Resetar.]
-- newReset(cid)' [Verifica todas as Condições de Reset.]
-- addValue(value)' [Adiciona numero de resets.]

--=[Comandos de Jogadores]=--
-- "!resetar" -- Para Resetar.

--[ Condições de Reset ] --
local coNdConf = {
	needPz = true, -- Precisa estar em Pz pra resetar? [true, false]
	needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false]
	withe = false, -- Players com Pk Withe podem resetar? [true, false]
	red = false, -- Players com Pk Red pode resetar? [true, false]
	battle = false, -- Players precisão estar sem battle pra resetar? [true, false]
	teleport = true, -- Teleportar Player para o templo após resetar? [true, false]
	look = true, -- Aparecer Resets no Look do Player? [true, false]	
	
	--[ Configurações do Reset ] --
	resetConf = {
		Level = 350, -- Level Necessário para Resetar. [Valor]
		backLvl = 100, -- Level que voltará após o Reset. [Valor]
		time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor]
	}
}
--[[>> STAGES <<]]--
local stage = {
	Abilitar = true, --<< Abilitar Stages?? >>-- [truen ou false]

	-- [RESETS] | [PREMMY] | [FREE]
	stage1 = {resets= 4, premmy= 45000, free= 45000},
	stage2 = {resets= 9, premmy= 75000, free= 75000},
	stage3 = {resets= 13, premmy= 130000, free= 130000},
	stage4 = {resets= 16, premmy= 190000, free= 190000},
	stage5 = {resets= 20, premmy= 230000, free= 230000},
	stage6 = {resets= 25, premmy= 280000, free= 280000},
	stage7 = {resets= 30, premmy= 350000, free= 350000},
	stage8 = {resets= 40, premmy= 420000, free= 420000},
	stage9 = {resets= 50, premmy= 420000, free= 420000},
	stage10 ={resets= 50, premmy= 420000, free= 420000}

}

--[[>> FIM STAGES <<]]--

--=[Pega Valor de Resets]=--
function getPlayerReset(cid)
	local query = db.getResult("SELECT `reset` FROM `players` WHERE `id`= " .. getPlayerGUID(cid) .. ";")
	if query:getID() ~= -1 then
		return tonumber(query:getDataString("reset"))
	end
	return 0
end

local success = " ~~ Sucesso! ~~ \nVocê tem agora ".. getPlayerReset(cid) + 1 .." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos."

--=[Reseta]=--
function addValue(cid)
	local resetValue = getPlayerReset(cid) + 1
	local lvl_query = "UPDATE `players` SET `level` = " .. coNdConf.resetConf.backLvl .. ", `experience` = 0 WHERE `id`= " .. getPlayerGUID(cid) .. ";"
	local reset_query = "UPDATE `players` SET `reset` = " .. resetValue .. " WHERE `id`= " .. getPlayerGUID(cid) .. ";"
	local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. getPlayerGUID(cid) .. ";"
	local look_query = "UPDATE `players` SET `description` = ' [Reset " .. resetValue .."]' WHERE `players`.`id`= " .. getPlayerGUID(cid) .. ";"
	if not coNdConf.look then
		doRemoveCreature(cid)
		db.executeQuery(lvl_query)
		db.executeQuery(reset_query)
		db.executeQuery(nolook_query)
	else
		doRemoveCreature(cid)
		db.executeQuery(lvl_query)
		db.executeQuery(reset_query)
		db.executeQuery(look_query)
	end
	return true
end

function nowReseting(cid)
	if getPlayerLevel(cid) < coNdConf.resetConf.Level then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
		return true
	end
	if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then
		doPlayerPopupFYI(cid, success)
		addValue(cid)
	else
		doPlayerPopupFYI(cid, success)
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))
		addValue(cid)
	end
	return true
end

--[STAGES Nao mexer em nada.]--
function checkLevelStageReset(cid)
	local stages = {
		{resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free},
		{resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free},
		{resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free},
		{resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free},
		{resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free},
		{resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free},
		{resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free},
		{resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free},
		{resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free},
		{resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}
	}

	local resets = getPlayerReset(cid)
	for i, tab in ipairs(stages) do
		if resets <= tab.resets then
			coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free
			break
		end
	end
	if getPlayerLevel(cid) < coNdConf.resetConf.Level then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
		return true
	end
	
	if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then
		doPlayerPopupFYI(cid, success)
		addValue(cid)
	else
		doPlayerPopupFYI(cid, success)
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))
		addValue(cid)
	end
	return true
end

function newReset(cid)
	if coNdConf.needPz and getTilePzInfo(getCreaturePosition(cid) == LUA_ERROR) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -")
		return true
	elseif coNdConf.needPa == true and not isPremium(cid) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -")
		return true
	elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -")
		return true
	elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -")
		return true
	elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -")
		return true
	end

	if stage.Abilitar then
		checkLevelStageReset(cid)
	else
		nowReseting(cid)
	end
	return true
end

function onSay(cid, words, param)
	if words =="!resetar" then
		newReset(cid)
	end
	return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Deu erro nesta parte:

 

else
doPlayerPopupFYI(cid, success)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))
addValue(cid)
end
return true
end

 

 

Sou leigo em script, mas não está faltando um ')' depois do cid??

Obrigado por responder!

 

**OBS: Depois de colocar ')' da este erro:

 

[17:15:29.033] [Error - TalkAction Interface]
[17:15:29.033] data/talkactions/scripts/advancedResetSystem.lua
[17:15:29.033] Description:
[17:15:29.033] data/talkactions/scripts/advancedResetSystem.lua:67: attempt to concatenate a boolean value
[17:15:29.033] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua)

 

Link para o comentário
Compartilhar em outros sites

  • 0

Deu erro nesta parte:

 

else

doPlayerPopupFYI(cid, success)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))

addValue(cid)

end

return true

end

 

 

Sou leigo em script, mas não está faltando um ')' depois do cid??

Obrigado por responder!

 

**OBS: Depois de colocar ')' da este erro:

 

[17:15:29.033] [Error - TalkAction Interface]

[17:15:29.033] data/talkactions/scripts/advancedResetSystem.lua

[17:15:29.033] Description:

[17:15:29.033] data/talkactions/scripts/advancedResetSystem.lua:67: attempt to concatenate a boolean value

[17:15:29.033] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua)

 

Você está certo :)

Fiz algumas alterações, espero que agora vá!

 

--[[ <(Advanced Reset System 2.0)>

Autor: MarcelloMkez. Contato: ([email protected]<script cf-hash='f9e31' type="text/javascript"> /* */</script>)
Versão: 2.0
Testado em: 8.50 e 8.60
TFS: 0.3.6 and 0.4.0

-=[Características]=-
~( Versão 2.0 )~

- Resets agora Armazenados na DataBase; (Sem Valor de Storage)
- Instala o System e cria a Tabela de Resets com o comando "/installreset";
- Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.;
	- [STAGES] para "Premium Account" e "Free Account"; ]]

--=[Functions]=--

-- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.]
-- nowReseting()' [Verifica, retorna o erro ou reseta.]
-- getPlayerReset(cid)' [Pega numero de resets do player.]
-- checLevelStageReset(cid)' [Verifica o Level para Resetar.]
-- newReset(cid)' [Verifica todas as Condições de Reset.]
-- addValue(value)' [Adiciona numero de resets.]

--=[Comandos de Jogadores]=--
-- "!resetar" -- Para Resetar.

--[ Condições de Reset ] --
local coNdConf = {
	needPz = true, -- Precisa estar em Pz pra resetar? [true, false]
	needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false]
	withe = false, -- Players com Pk Withe podem resetar? [true, false]
	red = false, -- Players com Pk Red pode resetar? [true, false]
	battle = false, -- Players precisão estar sem battle pra resetar? [true, false]
	teleport = true, -- Teleportar Player para o templo após resetar? [true, false]
	look = true, -- Aparecer Resets no Look do Player? [true, false]	
	
	--[ Configurações do Reset ] --
	resetConf = {
		Level = 350, -- Level Necessário para Resetar. [Valor]
		backLvl = 100, -- Level que voltará após o Reset. [Valor]
		time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor]
	}
}
--[[>> STAGES <<]]--
local stage = {
	Abilitar = true, --<< Abilitar Stages?? >>-- [truen ou false]

	-- [RESETS] | [PREMMY] | [FREE]
	stage1 = {resets= 4, premmy= 45000, free= 45000},
	stage2 = {resets= 9, premmy= 75000, free= 75000},
	stage3 = {resets= 13, premmy= 130000, free= 130000},
	stage4 = {resets= 16, premmy= 190000, free= 190000},
	stage5 = {resets= 20, premmy= 230000, free= 230000},
	stage6 = {resets= 25, premmy= 280000, free= 280000},
	stage7 = {resets= 30, premmy= 350000, free= 350000},
	stage8 = {resets= 40, premmy= 420000, free= 420000},
	stage9 = {resets= 50, premmy= 420000, free= 420000},
	stage10 ={resets= 50, premmy= 420000, free= 420000}

}

--[[>> FIM STAGES <<]]--

--=[Pega Valor de Resets]=--
function getPlayerReset(cid)
	local query = db.getResult("SELECT `reset` FROM `players` WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";")
	if query:getID() ~= -1 then
		return tonumber(query:getDataString("reset"))
	end
	return 0
end

local success = " ~~ Sucesso! ~~ \nVocê tem agora ".. getPlayerReset(cid) + 1 .." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos."

--=[Reseta]=--
function addValue(cid)
	local resetValue = getPlayerReset(cid) + 1
	local lvl_query = "UPDATE `players` SET `level` = " .. coNdConf.resetConf.backLvl .. ", `experience` = 0 WHERE `name` = " .. db.escapeString(getPlayerName(cid))) .. ";"
	local reset_query = "UPDATE `players` SET `reset` = " .. resetValue .. " WHERE `name` = " .. db.escapeString(getPlayerName(cid))..";"
	local nolook_query = "UPDATE `players` SET `description` = '' WHERE `name` = " .. db.escapeString(getPlayerName(cid))) .. ";"
	local look_query = "UPDATE `players` SET `description` = ' [Reset " .. resetValue .."]' WHERE `name` = " .. db.escapeString(getPlayerName(cid))) .. ";"
	if not coNdConf.look then
		doRemoveCreature(cid)
		db.executeQuery(lvl_query)
		db.executeQuery(reset_query)
		db.executeQuery(nolook_query)
	else
		doRemoveCreature(cid)
		db.executeQuery(lvl_query)
		db.executeQuery(reset_query)
		db.executeQuery(look_query)
	end
	return true
end

function nowReseting(cid)
	if getPlayerLevel(cid) < coNdConf.resetConf.Level then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
		return true
	end
	if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then
		doPlayerPopupFYI(cid, success)
		addValue(cid)
	else
		doPlayerPopupFYI(cid, success)
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
		addValue(cid)
	end
	return true
end

--[STAGES Nao mexer em nada.]--
function checkLevelStageReset(cid)
	local stages = {
		{resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free},
		{resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free},
		{resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free},
		{resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free},
		{resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free},
		{resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free},
		{resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free},
		{resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free},
		{resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free},
		{resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}
	}

	local resets = getPlayerReset(cid)
	for i, tab in ipairs(stages) do
		if resets <= tab.resets then
			coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free
			break
		end
	end
	if getPlayerLevel(cid) < coNdConf.resetConf.Level then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
		return true
	end
	
	if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then
		doPlayerPopupFYI(cid, success)
		addValue(cid)
	else
		doPlayerPopupFYI(cid, success)
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
		addValue(cid)
	end
	return true
end

function newReset(cid)
	if coNdConf.needPz and getTilePzInfo(getCreaturePosition(cid) == LUA_ERROR) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -")
		return true
	elseif coNdConf.needPa == true and not isPremium(cid) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -")
		return true
	elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -")
		return true
	elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -")
		return true
	elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -")
		return true
	end

	if stage.Abilitar then
		checkLevelStageReset(cid)
	else
		nowReseting(cid)
	end
	return true
end

function onSay(cid, words, param)
	if words =="!resetar" then
		newReset(cid)
	end
	return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo, acusou outro erro:

 

[17:54:33.177] (luaSetCombatCondition) Condition not found
[17:54:33.222] [Error - LuaInterface::loadFile] data/talkactions/scripts/advancedResetSystem.lua:79: unexpected symbol near ')'
[17:54:33.222] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua)
[17:54:33.222] data/talkactions/scripts/advancedResetSystem.lua:79: unexpected symbol near ')'

 

 

Tirei o terceiro ')' das linhas que acusaram erro e rodou na distro. Mas mesmo assim, quando falo !resetar ainda não funciona...

 

Só para perguntar, consigo fazer uma spell para "x" quantidades de resets a partir de um sistema que não use a table reset da database e sim storage?

 

Outra coisa que eu notei que está estanho é que mesmo eu usando o final .lua aparece dessa maneira o arquivo do script:

Sem_T%C3%ADtulo.png

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

  • 0

Amigo, acusou outro erro:

 

[17:54:33.177] (luaSetCombatCondition) Condition not found

[17:54:33.222] [Error - LuaInterface::loadFile] data/talkactions/scripts/advancedResetSystem.lua:79: unexpected symbol near ')'

[17:54:33.222] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/advancedResetSystem.lua)

[17:54:33.222] data/talkactions/scripts/advancedResetSystem.lua:79: unexpected symbol near ')'

 

 

Tirei o terceiro ')' das linhas que acusaram erro e rodou na distro. Mas mesmo assim, quando falo !resetar ainda não funciona...

Testa uma última vez, agora deixei as stages desabilitadas, para fazer um teste.

Caso funfar tente com ela habilitada...

 

 

--[[ <(Advanced Reset System 2.0)>

Autor: MarcelloMkez. Contato: ([email protected]<script cf-hash='f9e31' type="text/javascript"> /* */</script>)
Versão: 2.0
Testado em: 8.50 e 8.60
TFS: 0.3.6 and 0.4.0

-=[Características]=-
~( Versão 2.0 )~

- Resets agora Armazenados na DataBase; (Sem Valor de Storage)
- Instala o System e cria a Tabela de Resets com o comando "/installreset";
- Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.;
	- [STAGES] para "Premium Account" e "Free Account"; ]]

--=[Functions]=--

-- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.]
-- nowReseting()' [Verifica, retorna o erro ou reseta.]
-- getPlayerReset(cid)' [Pega numero de resets do player.]
-- checLevelStageReset(cid)' [Verifica o Level para Resetar.]
-- newReset(cid)' [Verifica todas as Condições de Reset.]
-- addValue(value)' [Adiciona numero de resets.]

--=[Comandos de Jogadores]=--
-- "!resetar" -- Para Resetar.

--[ Condições de Reset ] --
local coNdConf = {
	needPz = true, -- Precisa estar em Pz pra resetar? [true, false]
	needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false]
	withe = false, -- Players com Pk Withe podem resetar? [true, false]
	red = false, -- Players com Pk Red pode resetar? [true, false]
	battle = false, -- Players precisão estar sem battle pra resetar? [true, false]
	teleport = true, -- Teleportar Player para o templo após resetar? [true, false]
	look = true, -- Aparecer Resets no Look do Player? [true, false]	
	
	--[ Configurações do Reset ] --
	resetConf = {
		Level = 350, -- Level Necessário para Resetar. [Valor]
		backLvl = 100, -- Level que voltará após o Reset. [Valor]
		time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor]
	}
}
--[[>> STAGES <<]]--
local stage = {
	Abilitar = false, --<< Abilitar Stages?? >>-- [truen ou false]

	-- [RESETS] | [PREMMY] | [FREE]
	stage1 = {resets= 4, premmy= 45000, free= 45000},
	stage2 = {resets= 9, premmy= 75000, free= 75000},
	stage3 = {resets= 13, premmy= 130000, free= 130000},
	stage4 = {resets= 16, premmy= 190000, free= 190000},
	stage5 = {resets= 20, premmy= 230000, free= 230000},
	stage6 = {resets= 25, premmy= 280000, free= 280000},
	stage7 = {resets= 30, premmy= 350000, free= 350000},
	stage8 = {resets= 40, premmy= 420000, free= 420000},
	stage9 = {resets= 50, premmy= 420000, free= 420000},
	stage10 ={resets= 50, premmy= 420000, free= 420000}

}

--[[>> FIM STAGES <<]]--

--=[Pega Valor de Resets]=--
function getPlayerReset(cid)
	local query = db.getResult("SELECT `reset` FROM `players` WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";")
	if query:getID() ~= -1 then
		return tonumber(query:getDataString("reset"))
	end
	return 0
end

local success = " ~~ Sucesso! ~~ \nVocê tem agora ".. getPlayerReset(cid) + 1 .." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos."

--=[Reseta]=--
function addValue(cid)
	local resetValue = getPlayerReset(cid) + 1
	local lvl_query = "UPDATE `players` SET `level` = " .. coNdConf.resetConf.backLvl .. ", `experience` = 0 WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";"
	local reset_query = "UPDATE `players` SET `reset` = " .. resetValue .. " WHERE `name` = " .. db.escapeString(getPlayerName(cid))..";"
	local nolook_query = "UPDATE `players` SET `description` = '' WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";"
	local look_query = "UPDATE `players` SET `description` = ' [Resets: " .. resetValue .."]' WHERE `name` = " .. db.escapeString(getPlayerName(cid)) .. ";"
	if not coNdConf.look then
		doRemoveCreature(cid)
		db.executeQuery(lvl_query)
		db.executeQuery(reset_query)
		db.executeQuery(nolook_query)
	else
		doRemoveCreature(cid)
		db.executeQuery(lvl_query)
		db.executeQuery(reset_query)
		db.executeQuery(look_query)
	end
	return true
end

function nowReseting(cid)
	if getPlayerLevel(cid) < coNdConf.resetConf.Level then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
		return true
	end
	if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then
		doPlayerPopupFYI(cid, success)
		addValue(cid)
	else
		doPlayerPopupFYI(cid, success)
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
		addValue(cid)
	end
	return true
end

--[STAGES Nao mexer em nada.]--
function checkLevelStageReset(cid)
	local stages = {
		{resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free},
		{resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free},
		{resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free},
		{resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free},
		{resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free},
		{resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free},
		{resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free},
		{resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free},
		{resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free},
		{resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}
	}

	local resets = getPlayerReset(cid)
	for i, tab in ipairs(stages) do
		if resets <= tab.resets then
			coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free
			break
		end
	end
	if getPlayerLevel(cid) < coNdConf.resetConf.Level then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
		return true
	end
	
	if getPlayerLevel(cid) >= coNdConf.resetConf.Level and not coNdConf.teleport then
		doPlayerPopupFYI(cid, success)
		addValue(cid)
	else
		doPlayerPopupFYI(cid, success)
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
		addValue(cid)
	end
	return true
end

function newReset(cid)
	if coNdConf.needPz and getTilePzInfo(getCreaturePosition(cid) == LUA_ERROR) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -")
		return true
	elseif coNdConf.needPa == true and not isPremium(cid) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -")
		return true
	elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -")
		return true
	elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -")
		return true
	elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -")
		return true
	end

	if stage.Abilitar then
		checkLevelStageReset(cid)
	else
		nowReseting(cid)
	end
	return true
end

function onSay(cid, words, param)
	if words =="!resetar" then
		newReset(cid)
	end
	return true
end

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Mesma coisa, roda limpo mas ao falar !resetar não acontece nada

Testa esse, e se der certo eu refaço os stages:

 

--[ Condições de Reset ] --
local coNdConf = {
	needPz = true, -- Precisa estar em Pz pra resetar? [true, false]
	needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false]
	withe = false, -- Players com Pk Withe podem resetar? [true, false]
	red = false, -- Players com Pk Red pode resetar? [true, false]
	battle = false, -- Players precisão estar sem battle pra resetar? [true, false]
	teleport = true, -- Teleportar Player para o templo após resetar? [true, false]
	look = true, -- Aparecer Resets no Look do Player? [true, false]	
	
	--[ Configurações do Reset ] --
	resetConf = {
		Level = 350, -- Level Necessário para Resetar. [Valor]
		backLvl = 100, -- Level que voltará após o Reset. [Valor]
		time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor]
	}
}

function getPlayerReset(cid)
	local query = db.getResult("SELECT `reset` FROM `players` WHERE `name` = " .. db.escapeString(getPlayerName(cid)))

	if query:getID() ~= -1 then
		return tonumber(query:getDataString("reset"))
	end
	return 0
end

function onSay(cid, words, param)
	local resetValue = getPlayerReset(cid) + 1
	local desc = coNdConf.look and ' [Resets: " .. resetValue .."]' or ''
	local query = "UPDATE `players` SET `level` = " .. coNdConf.resetConf.backLvl .. ", `experience` = 0, `reset` = " .. resetValue .. ", `description` = '" .. desc .. "' WHERE `name` = '" .. db.escapeString(getPlayerName(cid)) .. "';"
	local success = " ~~ Sucesso! ~~ \n\nVocê tem agora " .. resetValue .. " resets."

	if coNdConf.needPz and getTilePzInfo(getCreaturePosition(cid) == LUA_ERROR) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -")
		return true
	elseif coNdConf.needPa == true and not isPremium(cid) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -")
		return true
	elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -")
		return true
	elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -")
		return true
	elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -")
		return true
	end
	doPlayerPopupFYI(cid, success)
	doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
	doRemoveCreature(cid)
	db.query(query)
	return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Erro:

 

[20:57:27.942] [Error - TalkAction Interface]
[20:57:27.942] data/talkactions/scripts/advancedResetSystem.lua:onSay
[20:57:27.942] Description:
[20:57:27.942] data/lib/050-function.lua:262: attempt to index a boolean value
[20:57:27.942] stack traceback:
[20:57:27.942] data/lib/050-function.lua:262: in function 'getTilePzInfo'
[20:57:27.942] data/talkactions/scripts/advancedResetSystem.lua:34: in function

 

 

 

OBS: Fiz o seguinte, desativei o getpzinfo; Agora o comando funciona, mas o player fica no mesmo level depois de resetar.

Ele chega a voltar para o templo..

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

  • 0

Erro:

 

[20:57:27.942] [Error - TalkAction Interface]

[20:57:27.942] data/talkactions/scripts/advancedResetSystem.lua:onSay

[20:57:27.942] Description:

[20:57:27.942] data/lib/050-function.lua:262: attempt to index a boolean value

[20:57:27.942] stack traceback:

[20:57:27.942] data/lib/050-function.lua:262: in function 'getTilePzInfo'

[20:57:27.942] data/talkactions/scripts/advancedResetSystem.lua:34: in function

 

 

 

OBS: Fiz o seguinte, desativei o getpzinfo; Agora o comando funciona, mas o player fica no mesmo level depois de resetar.

Ele chega a voltar para o templo..

Agora vai:

 

--[ Condições de Reset ] --
local coNdConf = {
	needPz = true, -- Precisa estar em Pz pra resetar? [true, false]
	needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false]
	withe = false, -- Players com Pk Withe podem resetar? [true, false]
	red = false, -- Players com Pk Red pode resetar? [true, false]
	battle = false, -- Players precisão estar sem battle pra resetar? [true, false]
	teleport = true, -- Teleportar Player para o templo após resetar? [true, false]
	look = true, -- Aparecer Resets no Look do Player? [true, false]	
	
	--[ Configurações do Reset ] --
	resetConf = {
		Level = 350, -- Level Necessário para Resetar. [Valor]
		backLvl = 100, -- Level que voltará após o Reset. [Valor]
		time = 5 -- Tempo para o Player deslogar ao resetar, em segundos. [Valor]
	}
}

function getPlayerReset(cid)
	local query = db.getResult("SELECT `reset` FROM `players` WHERE `id` = " .. getPlayerIdByName(getPlayerName(cid)) .. ";"

	if query:getID() ~= -1 then
		return tonumber(query:getDataString("reset"))
	end
	return 0
end

function onSay(cid, words, param)
	local resetValue = getPlayerReset(cid) + 1
	local desc = coNdConf.look and ' [Resets: " .. resetValue .."]' or ''
	local query = "UPDATE `players` SET `reset` = " .. resetValue .. ", `description` = '" .. desc .. "' WHERE `id` = " .. getPlayerIdByName(getPlayerName(cid)) .. ";"
	local success = " ~~ Sucesso! ~~ \n\nVocê tem agora " .. resetValue .. " resets."
	
	if getPlayerLevel(cid) < coNdConf.resetConf.Level then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
		return true
	elseif coNdConf.needPz and not getTilePzInfo(getCreaturePosition(cid)) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -")
		return true
	elseif coNdConf.needPa == true and not isPremium(cid) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -")
		return true
	elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -")
		return true
	elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -")
		return true
	elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -")
		return true
	end
	doPlayerPopupFYI(cid, success)
	doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
	doPlayerAddLevel(cid, - (getPlayerLevel(cid) - coNdConf.resetConf.Level))
	doRemoveCreature(cid)
	db.query(query)
	return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

 

[21:54:30.994] [Error - TalkAction Interface]
[21:54:30.995] data/talkactions/scripts/reset.lua:onSay
[21:54:30.995] Description:
[21:54:30.995] data/talkactions/scripts/reset.lua:20: attempt to call global 'getPlayerIdByName' (a nil value)
[21:54:30.995] stack traceback:
[21:54:30.995] data/talkactions/scripts/reset.lua:20: in function 'getPlayerReset'
[21:54:30.995] data/talkactions/scripts/reset.lua:29: in function

 

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado por ajudar, mas não funcionou. Acho que vou desistir desse script. Fique à vontade se quiser fechar o tópico, já deu muito trabalho...

 

[23:7:08.947] [Error - TalkAction Interface]
[23:7:08.947] data/talkactions/scripts/reset.lua:onSay
[23:7:08.947] Description:
[23:7:08.947] data/talkactions/scripts/reset.lua:20: attempt to concatenate a table value
[23:7:08.947] stack traceback:
[23:7:08.947] data/talkactions/scripts/reset.lua:20: in function 'getPlayerReset'
[23:7:08.947] data/talkactions/scripts/reset.lua:29: in function
[23:7:09.505] mysql_real_query(): SELECT `reset` FROM `players` WHERE `name` = ''[Vip] Mosnter' - MYSQL ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[Vip] Mosnter'' at line 1 (1064)

 

Link para o comentário
Compartilhar em outros sites

  • 0

pq ta fazendo pelo nome? acessa pelo id do player que não tem erro

 

 

 

local coNdConf = {
needPz = true, -- Precisa estar em Pz pra resetar? [true, false]
needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false]
withe = false, -- Players com Pk Withe podem resetar? [true, false]
red = false, -- Players com Pk Red pode resetar? [true, false]
battle = false, -- Players precisão estar sem battle pra resetar? [true, false]
teleport = true, -- Teleportar Player para o templo após resetar? [true, false]
look = true, -- Aparecer Resets no Look do Player? [true, false] 
resetConf = {
Level = 350, -- Level Necessário para Resetar. [Valor]
backLvl = 100 -- Level que voltará após o Reset. [Valor]
}
}
function getPlayerReset(cid)
local check = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid))
return check:getDataInt("reset") <= 0 and 0 or check:getDataInt("reset") 
end
function onSay(cid, words, param)
local resetValue = getPlayerReset(cid) + 1
if getPlayerLevel(cid) < coNdConf.resetConf.Level then
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true
elseif coNdConf.needPz and not getTilePzInfo(getCreaturePosition(cid)) then
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return true
elseif coNdConf.needPa == true and not isPremium(cid) then
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return true
elseif not coNdConf.withe and getCreatureSkullType(cid) == 3 then
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return true
elseif not coNdConf.red and getCreatureSkullType(cid) == 4 then
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return true
elseif coNdConf.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return true
end
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doRemoveCreature(cid)
db.query("UPDATE `players` SET `reset` = " .. resetValue .. ", `level` = "..coNdConf.resetConf.Level..", `experience` = "..getExperienceForLevel(coNdConf.resetConf.Level)..", `description` = "..(coNdConf.look and "[Resets: "..resetValue.."]" or "").." WHERE `id`= "..getPlayerGUID(cid))
return true
end
Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...