Ir para conteúdo
  • Cadastre-se

Normal [AJUDA] Melhorar "meu vip system (action)"


Posts Recomendados

VERSÃO 8.60 TFS 0.3.6

Bom dia galerinha, gostaria de uma ajuda para melhorar esse script que fui modificando, mas provavelmente não tá 100% certo... 

O objetivo é, o player clica no item, recebe os dias de vip, acrescente o [SPECIAL] no nome, porém meu servidor ja tem um VIP System que acrescenta [Vip] no nome.

Gostaria que quando o player usasse esse item e caso ele já fosse [Vip], esse "[Vip]" Saísse e ficasse somente o [SPECIAL] no nome.

O script que quero modificar é esse: 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local config={
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}

local days = 60 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 19876)
local timenow = os.time()

if getPlayerStorageValue(cid,  19876 ) - os.time() <= 0 then
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end
if string.find(tostring(getCreatureName(cid)),"[[SPECIAL]]") then 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP SPECIAL (DONATE) no seu character.")
setPlayerStorageValue(cid, 19876, time)

local quantity = math.floor((getPlayerStorageValue(cid, 19876) - timenow)/(24 * 60 * 60))
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP SPECIAL (DONATE) restantes.")

-- Adicionando prefixo ao nome --
local name = getCreatureName(cid)  
db.executeQuery("UPDATE `players` SET `name` = '[SPECIAL] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")  
doRemoveCreature(cid)  
end  

if (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
end

return TRUE
end

Editado por leandropqd159
Esqueci de por a versão! (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Não entendi o problema.

Ele tá com [SPECIAL] e [VIP] no nome?

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites

Eu quero que quando clique no item coloque o [SPECIAL] no nome além de dar os dias de vip.. Sendo que meu VIP System, já adiciona o [VIP] no nome e nesse sistema de action queria removesse o [Vip] que já existe e trocasse pelo [SPECIAL].

Link para o post
Compartilhar em outros sites

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local config={
	removeOnUse = "yes" -- remover quando usar ("yes" or "no")
	}
	local days = 60 -- dias que serão adicionados
	local daysvalue = days * 24 * 60 * 60
	local storageplayer = getPlayerStorageValue(cid, 19876)
	local timenow = os.time()
	local quantity = math.floor((getPlayerStorageValue(cid, 19876) - timenow)/(24 * 60 * 60))
	local name = string.explode(getCreatureName(cid), " ")
	local atable = {}
	local atabletwo = {}
		
	if getPlayerStorageValue(cid,  19876 ) - os.time() <= 0 then
		time = timenow + daysvalue
	else
		time = storageplayer + daysvalue
	end

	local function justASecond ()
		for k, v in pairs (name) do
			table.insert (atable, name[k+1])
			table.insert (atabletwo, name[k])
		end
			
		for k, v in pairs (name) do
			updateVIP = table.concat (atable, " ")
			updateSPECIAL = table.concat (atabletwo, " ")
		
			if name[1] == "[Vip]" then
				db.executeQuery("UPDATE `players` SET `name` = '[SPECIAL] "..updateVIP.."' WHERE `id` = "..getPlayerGUID(cid)..";") 
				doRemoveCreature(cid)
			elseif name[1] == "[SPECIAL]" then
				doPlayerSendCancel(cid, "--Mensagem para caso já tenha a tag [SPECIAL]--.")
			elseif name[1] ~= "[SPECIAL]" then
				db.executeQuery("UPDATE `players` SET `name` = '[SPECIAL] "..updateSPECIAL.."' WHERE `id` = "..getPlayerGUID(cid)..";")  
				doRemoveCreature(cid)
			end
		end
	return true
	end
			
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP SPECIAL (DONATE) no seu character.")
	setPlayerStorageValue(cid, 19876, time)
	doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP SPECIAL (DONATE) restantes.")
	addEvent(justASecond, 1000)
		
	if (config.removeOnUse == "yes") then
		doRemoveItem(item.uid, 1)
	end	  
return true
end

 

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

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites

Ainda não testei, mas sei que você é um bom programador e que com certeza está funcionando, e como faço pra caso o player não tenha nenhuma vip e esteja com o nome limpo usar também sem bugar? Ou seja, checar as 2 opções, se tiver com o nome limpo e dar use vai ficar [SPECIAL] Test, e se já tiver VIP ficar a mesma coisa? 

E outra pergunta, não sei se interfere no seu código, meu vip system coloca [Vip] não é tudo maiúsculo não. Da maneira que você programou não sei se tá específico tudo maiúsculo.

Link para o post
Compartilhar em outros sites

Editei o meu comentário com as alterações que você pediu.

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo