KE
pedido

Pedido query ou talkaction que substitua o item 2641 de todos os players pelo item 18406

Por KennyConrad, 16 de set. de 2013 em Scripts

resolvido
5
1.2k
KennyConradK
16 de setembro de 2013 às 11:18

Pedido query ou talkaction que remova o item 2641 de todos os jogadores e adicione no lugar o item 18406

 

@Edit

 

meu servidor é 9.60 e é mysql

Editado Setembro 16 por KennyxD

OmegaO
16 de setembro de 2013 às 11:52

Bom, não sei se vai funcionar em MySQL, porque testei só em SQLite, mas aí vai:

UPDATE player_items SET itemtype = 18406 WHERE itemtype = 2641

Se não funcionar, cria uma talkaction e coloca isso nela:

function onSay(cid, words, param)
      if db.executeQuery("UPDATE `player_items` SET `itemtype` = 18406 WHERE `itemtype` = 2641") then
            doPlayerSendTextMessage(cid, 27, "SUCESS!")
      end
      return true
end

Como sempre, faça um backup do banco de dados antes, né?

 

Outra opção é fazer um global event que fique rodando e substituindo de quem está online:

function onThink()
	for _, pid in pairs(getPlayersOnline()) do
		while doPlayerRemoveItem(pid, 2641, 1) do
			doPlayerAddItem(pid, 18406, 1)
		end
	end
end

TAG:

<globalevent name="subitems" interval="5000" event="script" value="subsitems.lua"/>

Editado Setembro 16 por omega blueheaven

KennyConradK
16 de setembro de 2013 às 12:37

Vlw REP + resolvido reportado para moverem o topico.

BeekiB
16 de setembro de 2013 às 12:41

Eu usaria o globalevent, que assim só mudaria o item do player que ainda estivesse ativo, assim não sobrecarregando o servidor quando for executar a query/talk.


Tópico movido para a seção de dúvidas e pedidos resolvidos.
16 de setembro de 2013 às 16:19

DÚVIDA SANADA