adicionando query no script

cleitonhip
em Scripts

cleitonhip

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/11/08Posts: 81

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

 

Caronte

Ex-Moderador de Scripting
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 25/09/10Posts: 1341Gênero: Masculino

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)..";) 

cleitonhip

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/11/08Posts: 81

Testando aqui

nociam

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 04/02/13Posts: 541Gênero: Masculino

qual programa se ta usando pra abrir assim?

cleitonhip

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/11/08Posts: 81

qual programa se ta usando pra abrir assim?

 

xampp

 

Caronte

Deu um erro aqui

1gllj9.png

 

Caronte

Ex-Moderador de Scripting
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 25/09/10Posts: 1341Gênero: Masculino


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

 

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

cleitonhip

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/11/08Posts: 81
resets = db.query("SELECT resets FROM players WHERE id = "..getPlayerGUID(cid))

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

161nm2g.png

Caronte

Ex-Moderador de Scripting
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 25/09/10Posts: 1341Gênero: Masculino
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

cleitonhip

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/11/08Posts: 81
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'

Caronte

Ex-Moderador de Scripting
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 25/09/10Posts: 1341Gênero: Masculino

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

É só isso?

cleitonhip

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/11/08Posts: 81

É só isso?

Sim

Antharaz

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 05/01/08Posts: 153Char no Tibia: nenhum

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))

Atenciosamente,

Antharaz

HwmBLEb.jpg

cleitonhip

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/11/08Posts: 81

 

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

 

Antharaz

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 05/01/08Posts: 153Char no Tibia: nenhum
	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.

Atenciosamente,

Antharaz

HwmBLEb.jpg

MatheusGlad

<~~> Scripter <~~>
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 09/09/09Posts: 528Char no Tibia: Emekalo Makalo
	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))

 

Yours Mkalo :)