• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Reset system or Reborn system tfs 0.2.11.pl2 client 9.1

marcelao777

New Member
Joined
Sep 9, 2011
Messages
81
Reaction score
0
i need help in my script of reset

error in my console
Capturar.jpg


my .lua
Code:
minlevel = 100 -- level para resetar
price = 50000
newlevel = 99 -- level após reset
newexp = 4200 -- nova experiencia após reset
-- end config

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


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

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

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if msgcontains(msg, 'resetar') then
selfSay('Voce aceita o reset? se voce confirmar tera que deslogar para que o reset tenha efeito. voce tera que pagar a quantia de '..price..' GP para o reset.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerMoney(cid) < price then
selfSay('You must pay '..price..' gold coins to reset.', cid)
elseif getPlayerLevel(cid) < minlevel then
selfSay('Voce precisa ter no minimo level '.. minlevel ..' para o reset.', cid)
else
doPlayerRemoveMoney(cid,price)
addReset(cid)
playerid = getPlayerGUID(cid) 
doRemoveCreature(cid)
db.Query("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `id`= '..playerid..'")

 
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
talkState[talkUser] = 0
selfSay('Yes', cid)
elseif msgcontains(msg, 'resets') then
selfSay('Voce tem '..getResets(cid)..' reset(s).', cid)
end

return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Lua:
minlevel = 100 -- level para resetar
price = 50000
newlevel = 99 -- level após reset
newexp = 4200 -- nova experiencia após reset
-- end config

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


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

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

function creatureSayCallback(cid, type, msg)
	dofile("./config.lua")
	if sqlType == "mysql" then
		env = assert(luasql.mysql())
		con = assert(env:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort))
	elseif sqlType == "sqlite" then
		env = assert(luasql.sqlite3())
		con = assert(env:connect(sqliteDatabase))
	end

	if(not npcHandler:isFocused(cid)) then
		return false
	end
	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
	
	if msgcontains(msg, 'resetar') then
		selfSay('Voce aceita o reset? se voce confirmar tera que deslogar para que o reset tenha efeito. voce tera que pagar a quantia de '..price..' GP para o reset.', cid)
		talkState[talkUser] = 1
	elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
		if getPlayerMoney(cid) < price then
			selfSay('You must pay '..price..' gold coins to reset.', cid)
		elseif getPlayerLevel(cid) < minlevel then
			selfSay('Voce precisa ter no minimo level '.. minlevel ..' para o reset.', cid)
		else
			doPlayerRemoveMoney(cid,price)
			addReset(cid)
			playerid = getPlayerGUID(cid) 
			doRemoveCreature(cid)
			assert(con:execute("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `id`= '..playerid..'"))

		end
		talkState[talkUser] = 0
	elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
		talkState[talkUser] = 0
		selfSay('Yes', cid)
	elseif msgcontains(msg, 'resets') then
		selfSay('Voce tem '..getResets(cid)..' reset(s).', cid)
	end
	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
now work ..thankssss, i need put in script stages example:

stage1= {resets= 0, premmy= 380, free= 400},
stage2= {resets= 5, premmy= 390, free= 410},
stage3= {resets= 10, premmy= 410, free= 430}, -- resets = Número de resets para o Stage;
stage4= {resets= 15, premmy= 430, free= 455}, -- premmy = Level necessário para Premium Accounts;
stage5= {resets= 20, premmy= 450, free= 470}, -- free = Level necessário para Free Accounts;
stage6= {resets= 25, premmy= 470, free= 490},
stage7= {resets= 30, premmy= 490, free= 510},
stage8= {resets= 35, premmy= 530, free= 550},
stage9= {resets= 40, premmy= 560, free= 580},
stage10={resets= 45, premmy= 580, free= 600}
stage11={resets= 50, premmy= 600, free= 620}
stage12={resets= 55, premmy= 630, free= 650}
stage13={resets= 60, premmy= 660, free= 680}
stage14={resets= 65, premmy= 690, free= 700}
stage15={resets= 70, premmy= 710, free= 720}
stage16={resets= 75, premmy= 730, free= 740}
,
 
Last edited:

Similar threads

Back
Top Bottom