Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Ola pessoal do Tibiaking, tudo bem ? sou tony e estou postando mais um tutorial de action,

muitos me pedirão no privado como colocar a tag [VIP] Quando se Torna vip, achei 2 Métodos vou estar Ensinando para vocês 

 

esse é quando clica no Bau!

  • vá em actions/scripts e crie um arquivo VIPNAME.LUA
function onUse(cid, item, fromPosition, itemEx, toPosition)
if item.uid == 35400 then
queststatus = getPlayerStorageValue(cid,35400)
if queststatus == -1 or queststatus == 0 then
		doCreatureSay(cid, "VOcê recebeu seu beneficio por ser vip! -by.Tonyhalk", TALKTYPE_ORANGE_1)
         db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")              
         doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos para mudança de nome.")   
doPlayerAddAddons(cid, 1)         
         addEvent(doRemoveCreature, 5*1000, cid, true)  
		setPlayerStorageValue(cid, 35400, 1)
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE)
	else
		doPlayerSendTextMessage(cid,22,"você ja tem o [vip] no nome. - Tony Halk")
	end
	return true
end
end
  • e cole está tag em actions.xml
<action actionid="35400" event="script" value="vipname.lua"/>

Agora vá em seu MAP Editor e crie uma chest com as action 35400 e Unique 35400

 

Esse é pelo !buyvip

Quando acaba o VIP O  [VIP] Sai.

function onSay(cid, words, param) 
if(words == "!buyvip") then 
local price = 5000000 
if doPlayerRemoveMoney(cid, price) == TRUE then 
local days = 30 
local daysvalue = days * 24 * 60 * 60 
local storageplayer = getPlayerStorageValue(cid, 13540) 
local timenow = os.time() 
 
if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then 
time = timenow + daysvalue 
else 
time = storageplayer + daysvalue 
end 
 
if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") 
setPlayerStorageValue(cid, 13540, time) 
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") 
else 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") 
setPlayerStorageValue(cid, 13540, time) 
local name = getCreatureName(cid) 
db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") 
doRemoveCreature(cid) 
end 
else 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.") 
end 
 
elseif(words == "!vipdays") then 
local timenow = os.time() 
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.") 
 
elseif(words == "/checkvip") then 
if getPlayerAccess(cid) == 5 then 
if not param then 
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") 
end 
 
local player = getPlayerByName(param) 
if not isPlayer(player) then 
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.") 
end 
 
local timenow = os.time() 
 
local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60)) 
doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.") 
return TRUE 
end 
 
elseif(words == "/addvip") then 
if getPlayerAccess(cid) == 5 then 
local t = string.explode(param, ",") 
if not t[2] then 
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") 
end 
 
local player = getPlayerByName(t[1]) 
local name = getCreatureName(player) 
local days = t[2] 
local pid = getPlayerByNameWildcard(t[1]) 
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then 
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") 
return TRUE 
end 
 
local daysvalue = days*3600*24 
local storageplayer = getPlayerStorageValue(player, 13540) 
local timenow = os.time() 
local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue) 
 
if string.find(tostring(getCreatureName(pid)),"[[Vip]]") then 
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") 
setPlayerStorageValue(player, 13540, time) 
local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24)) 
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.") 
else 
setPlayerStorageValue(player, 13540, time) 
db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(player)..";") 
doRemoveCreature(player) 
end 
end 
 
elseif(words == "/delvip") then 
if getPlayerAccess(cid) == 5 then 
local dec = MESSAGE_INFO_DESCR 
if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end 
local C,t = {},string.explode(param, ",") 
C.pos = getPlayerPosition(cid) 
C.uid = getCreatureByName(t[1]) 
C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia. 
C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip. 
 
if(getPlayerStorageValue(C.uid,13540) < C.time)then 
doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.') 
else 
doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.') 
setPlayerStorageValue(C.uid,13540,getPlayerStorage  Value(C.uid,13540)-C.time) 
end 
doSendMagicEffect(C.pos, math.random(28,30)) 
end 
end 
 
return TRUE 
end

creaturescript

function onLogin(cid) 
 
if getPlayerStorageValue(cid, 13540) - os.time() > 0 then 
setPlayerStorageValue(cid, 9898, 1) 
end 
 
local pos = {x = 157, y = 50, z = 7} -- posiçao do templo.  
 
function Vodka(cid) 
if isPlayer(cid) then    
db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") 
doRemoveCreature(cid) 
end 
end 
 
if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, 13540) - os.time() < 1 or getPlayerStorageValue(cid, 13540) - os.time() == 0 then 
doTeleportThing(cid, pos)  
doPlayerPopupFYI(cid, "Sua vip Account acabou.- Tonyhalk") 
setPlayerStorageValue(cid, 9898, -1) 
if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then    
addEvent(Vodka, 3*1000, cid) 
end 
end 
return TRUE 
end
Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • 2 months later...

Pocha caro, eu uso um script de actions que clicka no item e adiciona vip.. (SCROLL) gostaria de fazer esse [VIP] seria legal.. porém não está dando muito certo.. uso outro systema em creaturescripts para adicionar % de exp para o tal player vip.. poderia dar uma ajuda nisso ?

Link para o post
Compartilhar em outros sites
  • 4 weeks later...

Tô usando um script idêntico a esse. Ele add o nome VIP, mas alguns segundos depois ele desloga e diz que a vip acabou, mas o char continua com os benefícios vips, podendo passar até por portais vips. Tem como ajudar?

Link para o post
Compartilhar em outros sites
  • 5 months later...
  • 3 weeks later...

Muito bom champs, poderia me informar também como posso fazer isto por item? pretendo fazer compra de vip pelo shop system do gesior...

Obrigado! :)

Draferia Online:

http://draferia.com.br

draferia-468x60.jpg

Link para o post
Compartilhar em outros sites
  • 7 months later...
  • 1 month later...

Eu tenho dois acesso vip quando a pesso compra o 1 aparece [VIP] no nome dela como fasso para que quando ela comprar a VIP2 apareça [VIP2] e apague o [VIP] do nome dele ?

 

Dou Rep+

Link para o post
Compartilhar em outros sites
  • 1 month later...

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo