VO
sistema

Perfect Vip System 3.0

Por Vodkart, 25 de mai. de 2010 em Mods, funções e outros

script
5.0 (1)
160
60.5k
stalkerlS
20 de setembro de 2010 às 22:28

Teria como vc me explicar como faz para ele pergar algum item ao inves de gp's?

 

eu tentei mas nao deu?

coloquei o price 10

remove item (cid, id do item, 10) e nao deu =/

VodkartV
21 de setembro de 2010 às 10:53

troca:

 

local price = 1000000
if doPlayerRemoveMoney(cid, price) == TRUE then

-- a mensagem caso não tiver gps

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.")

 

por:

 

local quantidade = 100 -- quantidade
local item_id = 11367 -- id do seu item
if doPlayerRemoveItem(cid, item_id, quantidade) == TRUE then


--  e depois a mensagem caso não tiver os itens

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de " .. quantidade .. " " .. getItemNameById(item_id) .. " para colocar vip.")

Editado Setembro 21 por Vodkart

stalkerlS
21 de setembro de 2010 às 12:55

-- Script SYtem vip 1.0 --

 

function onSay(cid, words, param)

if(words == "!buyvip") then ------> nessa parte aki como faço pra colocar outra açao de palavra?

local price = 1000000

 

tentei deixar ela em () e adicionar outra e com , e sem , e nao de =/

VodkartV
21 de setembro de 2010 às 13:55

com espaço você ta falando?

com espaço não dá...

 

para alterar o ação seria assim:

 

 

if(words == "/nomedaação") then

 

e dps na tag do talkactions.xml vc coloca o nome da ação tbm

 

de vez de ser

 

<talkaction words="!buyvip ...

 

iria ficar

 

<talkaction words="/nomedaação ...

2 semanas depois...
GodTeckG
29 de setembro de 2010 às 23:04

Amigo Vodkart criei esta conta so para tirar uma duvida com você. primeiro de tudo pesso que você acesse esse tutorial que foi você mesmo que criou e ficou uma maravilha: http://www.xtibia.com/forum/topic/133661-moveevent-action-perfect-vip-system-16/

 

Agora clique no Spolier, você verá que não está abrindo, e eu queria saber muito como ter aquele sistema vip PERFEITO sem os players comprarem com dinheiro virtual, preciso que seja comprado com dinheiro real para que possa mantelo 24horas. se poder me ajudar eu agradesço, se você arrumar por favor me mande uma MP ou envie um email simples para yaan.matheeus@hotmail.com Para que eu possa terminar o meu sistema vip perfeito!

 

Gosto muito de seus trabalhos, pesso que me ajude. Grato, Att [ADM]Teck

VodkartV
30 de setembro de 2010 às 10:41

velho aqui abriu o spoiler,acho que se você remover seus cookies e caches o spoiler vai abrir.

 

mais vou postar aqui para você:

 

 

 

-- Script SYtem vip 1.0 --

function onSay(cid, words, param)

if(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]
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)

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 == "/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)
local pid = getPlayerByNameWildcard(param)
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 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 == "/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.
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

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

 

 

em talkactions.xml adicione a tag:

 

 

<talkaction words="!vipdays;/addvip;/delvip;/checkvip" script="systemvip.lua"/>

 

 

Editado Março 14 por Vodkart

GodTeckG
03 de outubro de 2010 às 12:59

Além do topico acima queria saber se tem como eu por para o player ficar com o nick [VIP] Nick com esse vip system :thumbsupsmiley:

Editado Outubro 3 por Teck

VodkartV
03 de outubro de 2010 às 13:28

@UP

 

fala cara,dá para até para fazer oque vc pede,

mais depois que a vip acaba,ele ainda vai continuar com o[VIP] no nome dele,não tem como retirar depois...

e se tem eu não sei fazer...

 

ai vc quem sabe...

GodTeckG
03 de outubro de 2010 às 14:04

Você sabe algum sistema vip que funcione o scrip do nick [VIP]? pois ja vi varios OTS com isso, e vamos dizer né , os players gostam de coisas novas ^^

Se souber algum mesmo que não seja de sua autoria poderia me passar?

3 meses depois...
15 de janeiro de 2011 às 15:19

Mando bem cara, funciono perfect aqui =D

Th14goT
19 de janeiro de 2011 às 10:53

Funciono certinho mano, virei fã =) so n do otro rep+ pq encerro aki por hj =(

superdrakoS
19 de janeiro de 2011 às 11:52

Vlw ae cara me ajudou muito :thumbsupsmiley2:

 

Rep+

1 mês depois...
Legendios2L
06 de fevereiro de 2011 às 16:58

[06/02/2011 16:49:37] Error: [MoveEvent::configureMoveEvent] No valid event name script

[06/02/2011 16:49:37] Warning: [baseEvents::loadFromXml] Can not configure event

 

 

Não pega em TFS 8.70 =/

 

Ai fika a pergunta... ja existe um novo vip system 8.70?

Rep + :XTibia_smile:

VodkartV
06 de fevereiro de 2011 às 17:24

funciona sim eu acho,mais o seu erro ta no nome que você colocou no script(euacho)

Legendios2L
06 de fevereiro de 2011 às 18:37

funciona sim eu acho,mais o seu erro ta no nome que você colocou no script(euacho)

 

 

Creio que não, pois revisei 3x está certo.

Outra coisa... o comando tbm não funcionou coloquei group 3 que é GOD do 8.70 não deu.

 

Esse comandos não deveria ser dentro da pasta \Data\XML\commads? :winksmiley02: