Ir para conteúdo
  • 0

adicionando query no script


cleitonhip

Pergunta

boa noite galera do xtibia tenho um script aq de reset e queria que quando resetar daria 1 reset a mais na opçao resets em players

tfs 1.0

local config = {

backToLevel = 100,
exp = 4200,
redskull = false,
battle = false,
pz = false,
stages = {
{resets = 4, level = 350, vip = 330},
{resets = 9, level = 355, vip = 335},
{resets = 14, level = 360, vip = 340},
{resets = 19, level = 365, vip = 345},
{resets = 24, level = 380, vip = 350},
{resets = 29, level = 390, vip = 355},
{resets = 34, level = 410, vip = 360},
{resets = 39, level = 430, vip = 365},
{resets = 44, level = 450, vip = 370}
}
}
function onSay(cid, words, param)
local function getResets(cid)
local resets = getPlayerStorageValue(cid, 500)
return resets < 0 and 0 or resets
end
local function setResets(cid, count)
setPlayerStorageValue(cid, 500, getResets(cid) + count)
end
if config.redskull and getCreatureSkullType(cid) == 4 then
return doPlayerSendCancel(cid, "Voce precisa estar sem red skull para resetar.")
elseif config.pz and not getTilePzInfo(getCreaturePosition(cid)) then
return doPlayerSendCancel(cid, "Voce precisa estar em protection zone para resetar.")
elseif config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
return doPlayerSendCancel(cid, "Voce precisa estar sem battle para resetar.")
end
local resetLevel = 0
for x, y in ipairs(config.stages) do
if getResets(cid) <= y.resets then
resetLevel = isPremium(cid) and y.vip or y.level
break
end
end
if getPlayerLevel(cid) < resetLevel then
return doPlayerSendCancel(cid, "Voce precisa do level " .. resetLevel .. " ou mais para resetar.")
end
setResets(cid, 1)
local guid = getPlayerGUID(cid)
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `level` = " .. config.backToLevel .. ", `experience` = " .. config.exp .. " WHERE `id` = " .. guid)
return true
end

t8vi1h.png

 

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

15 respostass a esta questão

Posts Recomendados

  • 0

Tente isto:

resets = db.query("SELECT resets FROM players WHERE id = "..getPlayerGUID(cid))

db.query("UPDATE players SET resets = ".. resets + 1.." WHERE id = "..getPlayerGUID(cid)..";) 
Link para o comentário
Compartilhar em outros sites

  • 0


resets = db.query("SELECT resets FROM players WHERE id = "..getPlayerGUID(cid))

 

db.query("UPDATE players SET resets = ".. (resets + 1) .." WHERE id = "..getPlayerGUID(cid)..";)

Link para o comentário
Compartilhar em outros sites

  • 0
resets = db.query("SELECT resets FROM players WHERE id = "..getPlayerGUID(cid))

db.query("UPDATE players SET resets = ".. (resets + 1) .." WHERE id = "..getPlayerGUID(cid)) 

Eu copiei e colei, e esqueci de editar...boos.gif

Link para o comentário
Compartilhar em outros sites

  • 0
resets = db.query("SELECT resets FROM players WHERE id = "..getPlayerGUID(cid))

db.query("UPDATE players SET resets = ".. (resets + 1) .." WHERE id = "..getPlayerGUID(cid)) 

Eu copiei e colei, e esqueci de editar...boos.gif

 

Caronte ta dando erro assim [C]: in function '_add'

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta com isso:

	local result = db.getResult("SELECT `resets` FROM `players` WHERE `id` = "..getPlayerGUID(cid))

	if result:getID() == -1 then
		resets = 0
	else
		resets = result:getDataInt("resets")
	end
	db.query("UPDATE `players` SET `resets` = "..(resets + 1).." WHERE `id` = "..getPlayerGUID(cid))
Link para o comentário
Compartilhar em outros sites

  • 0

 

Tenta com isso:

	local result = db.getResult("SELECT `resets` FROM `players` WHERE `id` = "..getPlayerGUID(cid))

	if result:getID() == -1 then
		resets = 0
	else
		resets = result:getDataInt("resets")
	end
	db.query("UPDATE `players` SET `resets` = "..(resets + 1).." WHERE `id` = "..getPlayerGUID(cid))

Antharaz deu esse erro amigo

fvdagp.png

 

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

  • 0
	local resulta = db.storeQuery("SELECT `resets` FROM `players` WHERE `id` = "..getPlayerGUID(cid))

	if resulta == false then
		resets = 0
	else
		resets = resulta.getDataInt("resets")
	end
	result.free(resulta)
	db.query("UPDATE `players` SET `resets` = "..(resets + 1).." WHERE `id` = "..getPlayerGUID(cid))

Eu não vi que seu TFS era 1.0, tente com este código por favor.

Link para o comentário
Compartilhar em outros sites

  • 0
	local resulta = db.storeQuery("SELECT `resets` FROM `players` WHERE `id` = "..getPlayerGUID(cid))

	if resulta == false then
		resets = 0
	else
		resets = resulta.getDataInt("resets")
	end
	result.free(resulta)
	db.query("UPDATE `players` SET `resets` = "..(resets + 1).." WHERE `id` = "..getPlayerGUID(cid))

Eu não vi que seu TFS era 1.0, tente com este código por favor.

 

 

O correto seria:

	local resulta = db.storeQuery("SELECT `resets` FROM `players` WHERE `id` = "..getPlayerGUID(cid))

	if resulta == false then
		resets = 0
	else
		resets = result.getDataInt(resulta, "resets")
	end
	result.free(resulta)
	db.query("UPDATE `players` SET `resets` = "..(resets + 1).." WHERE `id` = "..getPlayerGUID(cid))

 

Link para o comentário
Compartilhar em outros sites

  • 0

 

O correto seria:

	local resulta = db.storeQuery("SELECT `resets` FROM `players` WHERE `id` = "..getPlayerGUID(cid))

	if resulta == false then
		resets = 0
	else
		resets = result.getDataInt(resulta, "resets")
	end
	result.free(resulta)
	db.query("UPDATE `players` SET `resets` = "..(resets + 1).." WHERE `id` = "..getPlayerGUID(cid))

Vlw por corrigir, não estou acostumado a mecher com tfs 1.0... você bem que podia aparecer mais vezes .-.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...