Ir para conteúdo

Featured Replies

Postado

data/lib

 

rst.lua

rank_storages = {[1] = 789421,[2] = 789422,[3] = 789423,[4] = 789424,[5] = 789425}
grank_stor = 10082
function deletePlayerStorage(name, id, storage)
	local target_online = getPlayerByNameWildcard(name)
	if not isPlayer(target_online) then
		local Query = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = ".. id .." AND `key` = ".. storage)
		if (Query:getID() ~= -1) then
			db.executeQuery("DELETE FROM `player_storage` WHERE `player_id` = ".. id .." AND `key` = "..storage)
			db.executeQuery("UPDATE `players` SET `looktype` = "..(getPlayerdbSex(id) == 0 and 136 or 128).." WHERE `id` = "..id)
		end
	else
		setPlayerStorageValue(target_online, storage, -1)
		doCreatureChangeOutfit(target_online,{lookType = getPlayerSex(cid)== 0 and 136 or 128})
	end
end
function doPlayerAddRankStorage(name, id, storage)
	local target_online = getPlayerByNameWildcard(name)
	if not isPlayer(target_online) then
		local Query = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = ".. id .." AND `key` = ".. storage)
		if (Query:getID() ~= -1) then
			db.executeQuery("UPDATE `player_storage` SET `value` = 1 WHERE `player_id` = ".. id .." AND `key` = "..storage)
		else
			db.executeQuery("INSERT INTO `player_storage` (`player_id`, `key`, `value`) VALUES (" .. id .. ", " .. storage .. ", 1);")
		end
	else
		setPlayerStorageValue(target_online, storage, 1)
	end
end
function getPlayerdbSex(id)
	return db.getResult("SELECT `sex` FROM `players` WHERE `id` = "..id):getDataInt("sex")
end

 

--

 

data/globalevents/scripts

 

rts.lua

 

function onTimer()
	local max, query = 5, db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..grank_stor.." ORDER BY cast(value as INTEGER) DESC;")
	local str = "TOP "..max.." Rank Task ATUALIZADA:\n\n"
	if (query:getID() ~= -1) then 
		k = 1 
		repeat
			local old = 0
			if query:getDataInt("value") > 0 then
				if getGlobalStorageValue(rank_storages[k]) ~= -1 then
					old = getGlobalStorageValue(rank_storages[k])
				end
				local new = query:getDataInt("player_id")
				setGlobalStorageValue(rank_storages[k], new)
				doPlayerAddRankStorage(getPlayerNameByGUID(new), new, rank_storages[k])
				if old > 0 and old ~= new then
					deletePlayerStorage(getPlayerNameByGUID(old), old, rank_storages[k])
				end 
				str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(new).." - [" .. query:getDataInt("value") .. "]"
				k = k + 1 
		end
		until k > max or not query:next() 
	end
	doBroadcastMessage(str, 22)                                           
    return true
end

 

TAG

 

<globalevent name="rank storage" time="20:00" event="script" value="rts.lua"/>

obs: todo dia as 20:00 horas vai ser mudado o rank, aconselho a colocar para atualizar o rank depois do serve save que é quando é atualizado os valores dentro da data base.

 

--------------------------------------

 

COMO DAR OUTFITS DE ACORDO COM A STORAGE?

 

na lib tem esses valores:

 

rank_storages = {[1] = 789421,[2] = 789422,[3] = 789423,[4] = 789424,[5] = 789425}

 

então o rank 1 tem a storage 789421, o rank 2 tem a storage 789422, etc...

 

ai vc vai no outfits.xml e coloca assim mais ou menos:

 


	<outfit id="20" quest="789421">
		<list gender="0" lookType="288" name="Demonhunter"/>
		<list gender="1" lookType="289" name="Demonhunter"/>
	</outfit>

	<outfit id="21" quest="789422">
		<list gender="0" lookType="324" name="Yalaharian"/>
		<list gender="1" lookType="325" name="Yalaharian"/>
	</outfit>

	<outfit id="22" quest="789423">
		<list gender="0" lookType="336" name="Warmaster"/>
		<list gender="1" lookType="335" name="Warmaster"/>
	</outfit>

	<outfit id="23" quest="789424">
		<list gender="0" lookType="329" name="Wife"/>
		<list gender="1" lookType="328" name="Husband"/>
	</outfit>

	<outfit id="24" quest="789425">
		<list gender="0" lookType="366" name="Wayfarer"/>
		<list gender="1" lookType="367" name="Wayfarer"/>
	</outfit>

 

 

 

está vendo que eu coloquei essa parte:

 

quest="789424">

o que estives dentro das "" é o valor das storages

 

no meu caso o top rank 1 vai liberar a Demonhunter outfit.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

  • Respostas 9
  • Visualizações 1.8k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • data/lib   rst.lua rank_storages = {[1] = 789421,[2] = 789422,[3] = 789423,[4] = 789424,[5] = 789425} grank_stor = 10082 function deletePlayerStorage(name, id, storage) local target_onl

  • Legal, mas poderia ser diário né? digamos que poderia atualizar o rank por exemplo, todo dia as 20:00 horas... o que acha?

  • @BangxD Acho que finds eu entrego, vou estar com tempo livre.

Postado

@BangxD @BangxD Só trocar essa linha:

 

	local max, query = 5, db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..grank_stor.." ORDER BY cast(value as INTEGER) DESC;")

 

por essa:

 

	local max, query = 5, db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..grank_stor.." ORDER BY cast(value as SIGNED) DESC;")

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

  • 1 year later...
Postado
  • Autor
Em 16/12/2018 em 11:51, Vodkart disse:

@BangxD @BangxD Só trocar essa linha:

 


	local max, query = 5, db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..grank_stor.." ORDER BY cast(value as INTEGER) DESC;")

 

por essa:

 


	local max, query = 5, db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..grank_stor.." ORDER BY cast(value as SIGNED) DESC;")

 

 

Não está dando as storage pra as posiçao . 2, 3, 4, 5. elas são msm storage. só numero 1 que fica diferente.

Editado por BangxD (veja o histórico de edições)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo