Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Eae galera do TibiaKing !

Boa tarde ! estou com um problema muito complicado.

Eu e Meu Socio, criamos um mapa Infinity-Sky.. e estamos terminando ;]

 

O Error do Vip System é isso aqui..

 

*Não dá Vocation VIP para todas as contas criadas que usou a VIP, aí só 1 player fica com a Vocation VIP, mais as outras não, mais pode entrar na area vip.. e quando ela acaba perde o acesso, mais fica com a vocation VIP e com Tutor..., E Não dá 50% de hp e 50% a mais pra quem usou a vip Irei postar o script..

 

function onUse(cid, item, frompos, item2, topos)


function nome()
novo = getPlayerName(cid)
id = getPlayerGUID(cid)
doRemoveCreature(cid)
db.executeQuery("UPDATE players SET name='[VIP] "..novo.."' WHERE id='"..id.."'")
end
function free()
if getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8 then
level = getPlayerLevel(cid)
hp = math.floor(level*30)
mana = math.floor(level*15)
setCreatureMaxHealth(cid, hp)
setCreatureMaxMana(cid, mana)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
doCreatureAddMana(cid, getCreatureMaxMana(cid))
end
if getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7 then
level = getPlayerLevel(cid)
hp = math.floor(level*20)
mana = math.floor(level*25)
setCreatureMaxHealth(cid, hp)
setCreatureMaxMana(cid, mana)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
doCreatureAddMana(cid, getCreatureMaxMana(cid))
end
if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 then
level = getPlayerLevel(cid)
hp = math.floor(level*15)
mana = math.floor(level*30)
setCreatureMaxHealth(cid, hp)
setCreatureMaxMana(cid, mana)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
doCreatureAddMana(cid, getCreatureMaxMana(cid))
end
end
if item.itemid == 12328 and vip.hasVip(cid) == TRUE then
id = tonumber(2) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSendTextMessage(cid,21,"Seu nome já esta como [VIP].")
elseif item.itemid == 12328 and vip.hasVip(cid) == FALSE then
id = tonumber(2) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSetPromotionLevel(cid, 1)
doPlayerSetGroupId(cid, 2)
addEvent(free, 300)
addEvent(vocation, 500)
addEvent(nome, 1000)
end
if item.itemid == 10314 and vip.hasVip(cid) == TRUE then
id = tonumber(15) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSendTextMessage(cid,21,"Seu nome já esta como [VIP].")
elseif item.itemid == 10314 and vip.hasVip(cid) == FALSE then
id = tonumber(15) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSetPromotionLevel(cid, 1)
doPlayerSetGroupId(cid, 2)
addEvent(free, 300)
addEvent(vocation, 500)
addEvent(nome, 1000)
end
if item.itemid == 10312 and vip.hasVip(cid) == TRUE then
id = tonumber(30) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSendTextMessage(cid,21,"Seu nome já esta como [VIP].")
elseif item.itemid == 10312 and vip.hasVip(cid) == FALSE then
id = tonumber(30) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSetPromotionLevel(cid, 1)
doPlayerSetGroupId(cid, 2)
addEvent(free, 300)
addEvent(vocation, 500)
addEvent(nome, 1000)
end
if item.itemid == 10311 and vip.hasVip(cid) == TRUE then          
id = tonumber(60) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSendTextMessage(cid,21,"Seu nome já esta como [VIP].")
elseif item.itemid == 10311 and vip.hasVip(cid) == FALSE then
id = tonumber(60) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSetPromotionLevel(cid, 1)
doPlayerSetGroupId(cid, 2)
addEvent(free, 300)
addEvent(vocation, 500)
addEvent(nome, 1000)
end
if item.itemid == 10310 and vip.hasVip(cid) == TRUE then          
id = tonumber(90) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSendTextMessage(cid,21,"Seu nome já esta como [VIP].")
elseif item.itemid == 10310 and vip.hasVip(cid) == FALSE then
id = tonumber(90) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSetPromotionLevel(cid, 1)
doPlayerSetGroupId(cid, 2)
addEvent(free, 300)
addEvent(vocation, 500)
addEvent(nome, 1000)
end
if item.itemid == 10309 and vip.hasVip(cid) == TRUE then          
id = tonumber(760) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSendTextMessage(cid,21,"Seu nome já esta como [VIP].")
elseif item.itemid == 10309 and vip.hasVip(cid) == FALSE then
id = tonumber(760) or 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(id))
doPlayerSendTextMessage(cid,25,"Você recebeu "..tonumber(id).." dias de vip.")
doRemoveItem(item.uid, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos,'VIP!',180)
doPlayerSetPromotionLevel(cid, 1)
doPlayerSetGroupId(cid, 2)
addEvent(free, 300)
addEvent(vocation, 500)
addEvent(nome, 1000)
end
end

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

|  github.png TFS 0.4 DEV   |

Link para o post
Compartilhar em outros sites

em caso de perder se tem que ir no creatureScript   achar o arquivo VipEnd  ou oq estiver para tirar a vip e mandar ele tb.. ai da para ver oq fazer.

Link para o post
Compartilhar em outros sites

em caso de perder se tem que ir no creatureScript   achar o arquivo VipEnd  ou oq estiver para tirar a vip e mandar ele tb.. ai da para ver oq fazer.

 

a VIP acaba certinho, e perde o name [VIP] o problema que o jogador fica com a vocation VIP, e fica com tutor..

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

|  github.png TFS 0.4 DEV   |

Link para o post
Compartilhar em outros sites

 

a VIP acaba certinho, o problema que o jogador fica com a vocation VIP, e fica com tutor..

 

 

entao o problema e na vip xD.. tem esse arquivo EndVip ou algum nome que remove os status da vip quando o player fica sem ta faltando por para remover oq ta faltando (tutor,vocation,name etc.)

 

tipo olha esse e 1 script para remover a vip ao terminar

o seu tem que adicionar mais coisas.

function onLogin(cid) 
  
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 not isPremium(cid) and getPlayerStorageValue(cid, 9898) == 1 then 
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doPlayerPopupFYI(cid, "Sua vip Account acabou.") 
setPlayerStorageValue(cid, 9898, -1) 
setPlayerStorageValue(cid, 13500, -1) 
if string.find(tostring(getCreatureName(cid)),"[[VIP]]") then    
addEvent(Vodka, 3*1000, cid) 
end 
end 
return TRUE 
end
Editado por kbpaulo (veja o histórico de edições)
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 luanluciano93
      Olá pessoal, estou desenvolvendo esse sistema vip para TFS 1.x, se precisarem de alguma função nova é só comentar, criei para usar em um servidor meu e resolvi postar, bom proveito a todos.
       
      É só ir no arquivo data/lib/core/player.lua e adicionar esse código no começo do script:
      -- ALTER TABLE `accounts` ADD `vip_time` BIGINT(20) NOT NULL DEFAULT 0; -- player:getVipTime() function Player.getVipTime(self) local resultId = db.storeQuery("SELECT `vip_time` FROM `accounts` WHERE `id` = '".. self:getAccountId() .."';") local time = resultId ~= false and result.getNumber(resultId, "vip_time") or 0 result.free(resultId) return time end -- player:isVip() function Player.isVip(self) return self:getVipTime() > os.time() and true or false end -- player:addVipDays(days) function Player.addVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVipDays(days) function Player.removeVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:setVipDays(days) function Player.setVipDays(self, days) return db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVip() function Player.removeVip(self) db.query("UPDATE `accounts` SET `vip_time` = '0' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:sendVipDaysMessage() function Player.sendVipDaysMessage(self) if self:isVip() then local vipTime = self:getVipTime() - os.time() local vipDays = 1 + (math.floor(vipTime / 86400)) return self:getVipTime() ~= false and self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You have '.. vipDays .. ' vip day(s) in your account.') end end -- player:checkVipLogin() function Player.checkVipLogin(self) if self:getVipTime() > 0 and not self:isVip() then return self:removeVip() and self:teleportTo(self:getTown():getTemplePosition()) end end  
       
      As funções são:
      • player:getVipTime() - Retorna o valor da tabela vip_time (igual esta na database).
      • player:isVip() - Retorna se o player é vip ou não.
      • player:addVipDays(days) - Usa-se em algum script para para adicionar dias de vip ao player (parâmetro de entrada "days").
      • player:removeVipDays(days) - Usa-se em algum script para para remover dias de vip do player (parâmetro de entrada "days").
      • player:setVipDays(days) - Usa-se em algum script para para mudar os dias de vip do player (parâmetro de entrada "days").
      • player:removeVip() - Usa-se em algum script para para remover todo tempo de vip do player.
      • player:sendVipDaysMessage() - Retorna uma mensagem no player mostrando os dias de vip que ainda restam ao player.
      • player:checkVipLogin() - Checa se a vip do player acabou, se sim teleporta ele para o templo.
       

      Qualquer dúvida ou erro/bug poste aqui.
    • Por DeCarvalho
      Bem procurei aqui na comunidade um VIP System mais informativo e nada, além de ter tido problema com os que estão aqui e acabei achando em outro lugar um que funcionou perfeitamente para mim.
       
      Usando tfs disponibilizado neste tópico http://www.tibiaking.com/forum/topic/53099-1078-tfs-12-cast-system-novos-outfits-mounts/
       
      Só estou trazendo o conteúdo e por não conhecer bem não posso dar suporte mas do jeito que está é só 'instalar' e vai funcionar.
       
      Creditos.: Summ
       
      Sistema Vip
       



       
      Talkaction !checkvip para todos os players
       



       
      Talkaction /vip para membros da staff
      - /vip adddays, NomedoPlayer, 5 --> Adiciona 5 dias vip para o Player. - /vip removedays, NomedoPlayer, 5 --> Remove 5 dias vip do Player. - /vip remove, PlayerName --> Remove todos os dias vip do Player. - /vip check, NomedoPlayer --> Checa quantos dias vip o Player tem. - /vip addinfinite, NomedoPlayer --> Adiciona tempo vip infinito para o Player.


       
      Tiles VIP



       
      Portas VIP / Actions



       
      Items que adicionam dias VIP
      ItemId 10135 adiciona 10 dias vip. ItemId 10134 adiciona 30 dias vip. ItemId 10133 adiciona 90 dias vip.


       
      Imagens
       
      Comando !checkvip mas sem ter vip



       
      Comando /vip adddays, dracoknight, 5



       
      Comando !checkvip após adicionar 5 dias



       
      Comando /vip addinfinite, dracoknight



       
      Comando !checkvip após usar infinite 



       
      Comando /vip remove, dracoknight



    • Por EddyHavoc
      Perfect Vip system 2.2
      Versão Testada:TFS 0.3.6 - 8.54 - 8.60
      Creditos pelas modificações: Kydrai,Nicekid e Marcryzius e EddyHavoc
      Creditos pelas publicações: EddyHavoc e Vodkart
      Oque Contém no Sistema vip 2.2?
      Quote
      - Compra Vip pela talkaction ( Comando !buyvip ) -- ou sem o comando.
      - Tile para somente Players Vip passarem ( conta também com funçâo os.time )
      - verifica quantos dias de Vip o character ainda possui.
      - Administradores(GOD) podem adicionar e remover dias de Vip para characters.
      -- Administradores(GOD) podem checkar dias de Vip dos Players.
      -- É adicionado [VIP] ao nome e retirado quando a vip Acabar.
      GOD Adicionando e Removendo dias de Vip
       
      Comprando VIP e Checkando dia da sua VIP
      Quote
      Comando:
       
      comprar vip:
      !buyvip
      checkar dias de vip:
      !vipdays
      God checkar dias de vip do character:
      /checkvip Nick
      exemplo: /checkvip Nicekid
       
       
      God adionar dias ao character:
      /addvip Nick,dias
      exemplo: /addvip Nicekid,5
      aqui adicionei 5 dias de vip.
      God Retirar dias de Vip do character:
      /delvip Nick,dias
      exemplo: /delvip Nicekid,5
      aqui retirei 5 dias de vip.
      Primeiro passo
       
      vá até talkactions/scripts Crie um arquivo.lua e renomeie para systemvip.lua
      dentro coloque:
        -- Script System Vip 2.2 -- 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,getPlayerStorageValue(C.uid,13540)-C.time) end doSendMagicEffect(C.pos, math.random(28,30)) end end return TRUE end price = é o quanto a vip vai custar em gps days = quantos dias de vip serão adicionados ao player em talkactions.xml adicione a tag:
        <talkaction words="!vipdays;!buyvip;/checkvip;/addvip;/delvip" script="systemvip.lua"/> Pronto primeiro passo terminado. Sistema vip sem o !buyvip abra a spoiler Spoiler ---------------------------------------------------------------------------------------------------------------------------- Tile VIP Segundo passo. vá até movements/scripts crie um arquivo.lua e renomeie para vipe.lua dentro coloque:
        -- Script Vip Sytem 1.0 -- function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "Você não e vip ,fale com Administrador do Server.", msgWelcome = "Seja Bem Vindo a Area vip." } if getPlayerStorageValue(cid, 13540) - 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 Em movements.xml adicione a tag: <movevent type="StepIn" uniqueid="13700" event="script" value="vipe.lua"/> FIM DA VIP creaturescript/script crie um arquivo.lua e renomeie para endvip.lua e cole isso dentro dele:
        --[[ by EddyHavoc Tibiaking.com ]]-- 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 EddyHavoc(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.") setPlayerStorageValue(cid, 9898, -1) if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end em creaturescript.xml adicione a tag:
        <event type="login" name="CheckVip" script="endvip.lua"/>[i] Pronto Seu sistema Vip está terminado.
    • Por tiroleivi
      Bom eu preciso de 1 item que de vip por account, eu uso sistema de vip by Mock e já tenho 1 script que da vip por character, mais queria que desse por account.
       
      SCRIPT :
      function onUse(cid, item, fromPosition, itemEx, toPosition) local config={ removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 15 -- coloque os dias que serão a VIP! local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13500) local timenow = os.time() if getPlayerStorageValue(cid, 13500) - 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, 13500, time) local quantity = math.floor((getPlayerStorageValue(cid, 13500) - 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) end return TRUE end Agradeço dês de Já...
    • Por ricardomsn
      Opa, então galera.
      Estou com um pequeno problema no meu mapa global,
      eu uso o sistema de free premium para os players viajarem para onde quiserem mais criei
      um tile vip com action 13500, ele funciona tudo certinho, até ai ok!
      O problema é que quando acaba a vip do player, ele continua na area vip.
      Então oque eu preciso é de um script que faça o player vip, que quando acabe a vip
      desse player, teleporte ele automaticamente para o templo de Thais de preferencia.
      Estou esperando uma resposta v
       
      Valeu galera, vou dar mtoooooooooo
      Rep+ xD
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo