Ir para conteúdo

Featured Replies

Postado

@gangul321

Para colocar em spoiler siga esses passos.

 

Ok Brigadao..

 

Luan Me ajuda ?

Quando uso a funcao player:doVipDays()

Aparece Assim 16:13 Your have 16633 vip days.

Sendo que coloquei para adicionar 30 dias.

 

-------Outra Questao---------

E Gostaria Muito que me ajuda-se a criar o VipTitle.

Nao tem como ao inves de usar Storage , usar a funcao:

player:isVip() , ai caso for vip ele passa se nao ele volta para traz.

  • Respostas 77
  • Visualizações 11.7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • luanluciano93
    luanluciano93

    @andreoam, poste o que você tem em spoiler. 

  • @gangul321 Para colocar em spoiler siga esses passos.

  • luanluciano93
    luanluciano93

    tileVip.lua  function onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if player == nil then return false end return player:isVip() and true or false e

Posted Images

Postado

o scrip adicionar segundos e nao dias.

então tende tente fazer uma conta no scrip.

 

tipo

 

player:doVipDays((days / 86400))

 

ou essa função

function Player.doVipDays(self)local vipDays = math.floor(self:doVipTime() / 86400)
return self:doVipTime() ~= false and self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'Your have '.. vipDays .. ' vip days.') or error('error.')
end

gangul321

Faça o seguinte.

 

no scrip addvip.lua adicione um storage

-- <talkaction words="/addvip" separator=" " script="addvip.lua" />
-- exemple: /addvip, Luan, 30


function onSay(player, words, param)
if not player:getGroup():getAccess() then
return true
end


if player:getAccountType() < ACCOUNT_TYPE_GOD then
return false
end


local split = param:split(",")


local jogador = Player(split[1])
if not jogador:isPlayer() then
player:sendCancelMessage("Player not found.")
return false
end


local dias = tonumber(split[2])
if dias == nil then
player:sendCancelMessage("Invalid param specified.")
return false
end


jogador:addVipDays(dias)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Foram adicionados ".. dias .." dias de VIP no character ".. split[1] ..".")
setPlayerStorageValue(player, 13540) -- Storage a ser adicionado

return false
end

em movements/scripts crie um viptile.lua e adicione

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 moviments.xml adicione

<movevent type="StepIn" actionid="13700" event="script" value="vipetile.lua"/>

e no seu RME coloque a actions 13700 no piso desejado .

 

So que agora vc tera que criar um check para remover o strage quando o vip acabar

 

 

Em creaturescript/script
 
Crie um arquivo.lua e renomeie para endvip.lua
 
--[[ 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
Em creaturescript.xml adicione
 
 
<event type="login" name="CheckVip" script="endvip.lua"/>

Nao esqueça de mudar a posição do templo

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

Postado
  • Autor

tileVip.lua 

function onStepIn(creature, item, position, fromPosition)	
	
	local player = creature:getPlayer()
	if player == nil then
		return false
	end
	
	return player:isVip() and true or false
end
Aparece Assim 16:13 Your have 16633 vip days.

 

Certeza que tem 30 dias só? :O

@andreoam, cara, o script que você postou de tile vip e add/check não tem a ver com meu script ele é uma forma diferente e não funciona com o meu. Se não sabe o que ta postando não fica spamando meu tópico ¬¬ 

player:doVipDays((days / 86400))

não precisa de nenhum parametro essa função, basta usar player:doVipDays que ele te retornar em dias. 
Postado

 

tileVip.lua 

function onStepIn(creature, item, position, fromPosition)	
	
	local player = creature:getPlayer()
	if player == nil then
		return false
	end
	
	return player:isVip() and true or false
end

Certeza que tem 30 dias só? :O

@andreoam, cara, o script que você postou de tile vip e add/check não tem a ver com meu script ele é uma forma diferente e não funciona com o meu. Se não sabe o que ta postando não fica spamando meu tópico ¬¬ 

 

 

não precisa de nenhum parametro essa função, basta usar player:doVipDays que ele te retornar em dias. 

 

 

Luan, botei  o script que me passou: e quando passo pelo SQM aparece isto:

Lua Script Error: [MoveEvents Interface]

data/movements/scripts/viptitle.lua:onStepIn

data/movements/scripts/viptitle.lua:4: attempt to index global 'player' (a nil value)

stack traceback:

[C]: in function '__index'

data/movements/scripts/viptitle.lua:4: in function

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo