Ir para conteúdo
  • 0

VIP no nome, ao usar item que da Vip Time.


EddyHavaiano

Pergunta

Eu uso no meu OTserv um item que da dias de vip donate (1, 5 , 15 e 30 Dias)...Eu queria que esse item adicionasse o nome VIP antes do nome do personagem Ex:. ('VIP Sephroth') e quando acabasse o VIP Time o player era teletransportado para o templo Ex:. (X= 160,Y= 54,Z= 7) sem o "VIP" no nick.

 

Quem puder me ajuda ficarei grato e reputarei, Grato :)

 

IDs caso forem precisos:. 10311, 10309, 10310

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

actions:

<action itemid="xxxx" script="vipdonat.lua"/> 

vipdonat.lua: (13778) storage, mude-a para desejada

function onUse(cid, item, fromPosition, itemEx, toPosition)
local config={
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}
local days = 30 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 13778)
local timenow = os.time()
if getPlayerStorageValue(cid, 13778) - os.time() <= 0 then
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(cid, 13778, time)
local quantity = math.floor((getPlayerStorageValue(cid, 13778) - timenow)/(24 * 60 * 60))
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
if (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 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)
end
return TRUE
end

creaturescripts.xml: add

        <event type="login" name="FimVip" event="script" value="fimvip.lua"/>

fimvip.lua: \creaturescripts\scripts

function onLogin(cid)
local temple = { x =160, y = 54, z = 7}
if vip.hasVip(cid) == true then
if getPlayerStorageValue(cid,13778) ~= 1 then
setPlayerStorageValue(cid,13778,1)
end
else
if getPlayerStorageValue(cid,13778) == 1 then
doTeleportThing(cid, temple)
doPlayerSendTextMessage(cid, 22, "Sua vip acabou!")
db.executeQuery("UPDATE `accounts` SET `vip_time` = 0 WHERE `id` = ".. getAccountIdByName(getPlayerName(cid)) ..";")
setPlayerPromotionLevel(cid, 1)
setPlayerStorageValue(cid, 13778, 0)
end
end
return true
end


function onLogin(cid)
local name = string.gsub(""..getCreatureName(cid).."", ".VIP. ", "")
if getPlayerStorageValue(cid, 13778) <= 0 then
if getCreatureName(cid) ~= name then
db.executeQuery("UPDATE `players` SET `name` = '"..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")
addEvent(doRemoveCreature, 2*1000, cid, true)
end
end
return true
end

movements.xml: 29859 (action id do piso que expulsará intrusos)

        <movevent type="StepIn" actionid="29859" event="script" value="viptile.lua"/>

viptile.lua:

function onStepIn(cid, item, position, fromPosition)
local config = {
msgDenied = "Este lugar é só para vips donate, adquira sua vip no site..",
msgWelcome = "Bem vindo a area vip, você tem 20% a mais de xp, bom up.."
}
if getPlayerStorageValue(cid, 13778) - os.time() <= 0 then
doTeleportThing(cid, fromPosition, true)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return TRUE
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome)
return TRUE
end

Qualquer coisa manda um salve ^^

 

Editado por alissonxzff2
Link para o comentário
Compartilhar em outros sites

  • 0
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...