[Action] [Vip] No Nome.

Subwat
Por Subwat
em Actions e Talkactions
  • 1
  • 2

Subwat

GAUCHO MACHO
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/07/09Posts: 1516Char no Tibia: Gean Riot

Bom eae pessoal! criei Uma QUEST que ao clicar no baú seu nome é modificado para [VIP] Atual Nome.

vá em actions/scripts e crie um arquivo VIPNAME.LUA

e cole isto dentro:

 

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!", 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.")
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.

att

 

xD

 

:)

Entrem Server online desde o dia 22/02/2013 Monster 24HORAS dedicado!

IP: monster24h.com

PROTOCOL:8.60

PORT:7171

 

RATES:

Exp: 9999x~10x

Skills:800x

Magic:200x

Loot:2x

Pvp-e Advanced: 1.1x Ao matar players de level semelhante.

 

Accounts Pelo Account Manager!

Iosvaldo

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/01/08Posts: 3

ótimo (:

mas poderia ser quando você falasse !buyvip e quando reloga-se ja estive-se o " [vip] sacas? (:

Subwat

GAUCHO MACHO
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/07/09Posts: 1516Char no Tibia: Gean Riot
-- Script System vip 1.0 --

function onSay(cid, words, param)
if(words == "!buyvip") then
local price = 1000000
if doPlayerRemoveMoney(cid, 1000000) == TRUE then
local days = 15
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

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")   
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, "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 == "/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 days = t[2]
if not isPlayer(player) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.")
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)

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.")
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

Entrem Server online desde o dia 22/02/2013 Monster 24HORAS dedicado!

IP: monster24h.com

PROTOCOL:8.60

PORT:7171

 

RATES:

Exp: 9999x~10x

Skills:800x

Magic:200x

Loot:2x

Pvp-e Advanced: 1.1x Ao matar players de level semelhante.

 

Accounts Pelo Account Manager!

bonazza20

"Open Source, we can do whatever we want with it."
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/12/10Posts: 53

já tem esse sistema do !buyvip que adc e retira o [VIP] do nome no outro o.O

nervousp1.gif

;*** BEIJINHOS, DA GAROTA DO BLOG.

Subwat

GAUCHO MACHO
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/07/09Posts: 1516Char no Tibia: Gean Riot

não é permitida divulgação de outros forums do mesmo gênero que o XTIBIA aqui... manda só o script ae.

Entrem Server online desde o dia 22/02/2013 Monster 24HORAS dedicado!

IP: monster24h.com

PROTOCOL:8.60

PORT:7171

 

RATES:

Exp: 9999x~10x

Skills:800x

Magic:200x

Loot:2x

Pvp-e Advanced: 1.1x Ao matar players de level semelhante.

 

Accounts Pelo Account Manager!

bonazza20

"Open Source, we can do whatever we want with it."
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/12/10Posts: 53

ok...:

 

talkactions:

 

-- Script SYtem vip 1.0 -- 
-- By Vodkart -- 

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:

--[[ by vodkart ]]-- 
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.") 
setPlayerStorageValue(cid, 9898, -1) 
if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then    
addEvent(Vodka, 3*1000, cid) 
end 
end 
return TRUE 
end

nervousp1.gif

;*** BEIJINHOS, DA GAROTA DO BLOG.

fsg

Felipe Sartori
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 16/05/10Posts: 1510Char no Tibia: Alia Dori

Muito bom SubWat, este sistema é muito bom! Pois tem servidores que o cara tem que ir lá, editar na mão o nome... É muito demorado o processo, aqui já é rapidinho.

Rep+

Abraços.

Guarani da minha vida, a razão do meu viver, se ele jogasse lá no céu eu morreria só pra te ver! 1911 - 2015 ♥ 

Subwat

GAUCHO MACHO
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/07/09Posts: 1516Char no Tibia: Gean Riot

Esse script provavelmente deve estár aqui pelo forum também pois foi o Vodkart que fez né e ele é daqui :)

 

@FezZinN

Thanks Dude :)

Entrem Server online desde o dia 22/02/2013 Monster 24HORAS dedicado!

IP: monster24h.com

PROTOCOL:8.60

PORT:7171

 

RATES:

Exp: 9999x~10x

Skills:800x

Magic:200x

Loot:2x

Pvp-e Advanced: 1.1x Ao matar players de level semelhante.

 

Accounts Pelo Account Manager!

Joao Kleber

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/10/06Posts: 22

Nao teria como colocar para quando o player comprasse premium em um npc ele ganha o [Vip] no nome?e quando acabase o premium dele o [Vip] é retirado do nome?

 

Desde ja obrigado!

 

FlwS

Atenciosamente ~§|J_K|§~

cf171123c3234bf19de93f89f917d75f.0.gif

 

t0w.gif

bonazza20

"Open Source, we can do whatever we want with it."
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/12/10Posts: 53

@UP

deve ter sim,ze fizeram com o sistema vip do vodkart acho que tem como fazer com a premium account...

nervousp1.gif

;*** BEIJINHOS, DA GAROTA DO BLOG.

Subwat

GAUCHO MACHO
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/07/09Posts: 1516Char no Tibia: Gean Riot

creaturescripts.....

 

function onLogin(cid)

 

local premmydays = getPlayerPremiumDays(cid)

if premmydays > 1 then
db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")  
setPlayerStorageValue(cid, 35400, 1)
end
return TRUE
end

Entrem Server online desde o dia 22/02/2013 Monster 24HORAS dedicado!

IP: monster24h.com

PROTOCOL:8.60

PORT:7171

 

RATES:

Exp: 9999x~10x

Skills:800x

Magic:200x

Loot:2x

Pvp-e Advanced: 1.1x Ao matar players de level semelhante.

 

Accounts Pelo Account Manager!

lomarrone

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 05/05/08Posts: 14

vc podedria postar uma action q retire esse [VIP] do nome ?

é q eu vou modificar esse script e queria uma action q retirasse o [vip] , eu olhei na talk action como q retira o [vip]do nome , mas n entendi , faz esse favor pra mim ?

obrigado

 

EDIT:

num precisa mais , acabei de ver aquela função onlogin , eu vo tranforma ela em action

ótimo script

Subwat

GAUCHO MACHO
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/07/09Posts: 1516Char no Tibia: Gean Riot

Qualquer dúvida só postar aqui no tópico que eu resolvo :)

Entrem Server online desde o dia 22/02/2013 Monster 24HORAS dedicado!

IP: monster24h.com

PROTOCOL:8.60

PORT:7171

 

RATES:

Exp: 9999x~10x

Skills:800x

Magic:200x

Loot:2x

Pvp-e Advanced: 1.1x Ao matar players de level semelhante.

 

Accounts Pelo Account Manager!

eduardolpp

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/11/10Posts: 14Char no Tibia: Fast Lack

Caara esse sistema é demais, nao sei quem fez ele, mais ainda nao tinha axando nada aki no forum, olha que procurei, adorei o sistema de ganha o [VIP] por baú, prefiro mais assim que qnd ganha já por falar !buyvip

Meus Parabéns.

REP+

 

15102bd081b844c881141212a95feb53.0.gif

Subwat

GAUCHO MACHO
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/07/09Posts: 1516Char no Tibia: Gean Riot

FOI EU QUE FIZ,e muito obrigado :)

Entrem Server online desde o dia 22/02/2013 Monster 24HORAS dedicado!

IP: monster24h.com

PROTOCOL:8.60

PORT:7171

 

RATES:

Exp: 9999x~10x

Skills:800x

Magic:200x

Loot:2x

Pvp-e Advanced: 1.1x Ao matar players de level semelhante.

 

Accounts Pelo Account Manager!

  • 1
  • 2