Ir para conteúdo
  • Cadastre-se

(Resolvido)[VIP]


Ir para solução Resolvido por di12345di,

Posts Recomendados

olha eu tenho o seguinte sistema vip no meu servidor 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local days,removeOnUse = 30,true

local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 23510)
local timenow = os.time()
local time = getPlayerStorageValue(cid, 23510) - os.time() <= 0 and timenow + daysvalue or storageplayer + daysvalue

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(cid, 23510, time)
local quantity = math.floor((getPlayerStorageValue(cid, 23510) - timenow)/(24 * 60 * 60))
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
if removeOnUse == true then doRemoveItem(item.uid, 1) end
return true
end

 

 

mais gostaria de que assim que usasse o item vip pra dar vip o jogador fosse kikado em 5 segundos e retorna-se com o nome [VIP]+nome dele

 

 

já tentei varios scripts e não fucionou esse ai que postei é uma action

Editado por di12345di (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

MMHUCMQ.png  Esta é uma mensagem automática, este tópico foi movido para a área correta.
  Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680

Este tópico foi movido:
De: Scripting OTServ > OTServ > Geral
Para: Suporte OTServ > OTServ > Suporte de Scripts

Link para o post
Compartilhar em outros sites

up

Azhaurn

 

não consegue dar esse suporte pra mim não?

 

porfavor me ajudem to desesperado.

 

Gaant 

Absolute

Wakon 

Sekk

dominus 

vankk 

 

sei lá alguem pliz

 

Editado por di12345di (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Talvez?

local config = {
	storageValue = 5849, -- storage para checar se tem o nome ou não
	days = 30,
	daysvalue = days * 24 * 60 * 60,
	storageplayer = getPlayerStorageValue(cid, 23510),
	timenow = os.time(),
	time = getPlayerStorageValue(cid, 23510) - os.time() <= 0 and timenow + daysvalue or storageplayer + daysvalue
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. config.days .." dias de VIP no seu character.")
	setPlayerStorageValue(cid, 23510, config.time)
	if getPlayerStorageValue(cid, config.storageValue) < 1 then
		setPlayerStorageValue(cid, config.storageValue, 1)
		db.executeQuery("UPDATE `players` SET `name` = '[VIP]" .. getCreatureName(cid) .. "' WHERE `id` = " .. getPlayerGUID(cid))
	end
	local quantity = math.floor((getPlayerStorageValue(cid, 23510) - config.timenow)/(24 * 60 * 60))
	doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. config.quantity .." dias de VIP restantes.")
	doRemoveItem(item.uid, 1) 
	return true
end 

 

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
Em 26/12/2015 14:32:16, vankk disse:

Talvez?


local config = {
	storageValue = 5849, -- storage para checar se tem o nome ou não
	days = 30,
	daysvalue = days * 24 * 60 * 60,
	storageplayer = getPlayerStorageValue(cid, 23510),
	timenow = os.time(),
	time = getPlayerStorageValue(cid, 23510) - os.time() <= 0 and timenow + daysvalue or storageplayer + daysvalue
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. config.days .." dias de VIP no seu character.")
	setPlayerStorageValue(cid, 23510, config.time)
	if getPlayerStorageValue(cid, config.storageValue) < 1 then
		setPlayerStorageValue(cid, config.storageValue, 1)
		db.executeQuery("UPDATE `players` SET `name` = '[VIP]" .. getCreatureName(cid) .. "' WHERE `id` = " .. getPlayerGUID(cid))
	end
	local quantity = math.floor((getPlayerStorageValue(cid, 23510) - config.timenow)/(24 * 60 * 60))
	doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. config.quantity .." dias de VIP restantes.")
	doRemoveItem(item.uid, 1) 
	return true
end 

 

 

Deu esse erro ake 

 

data/actions/scripts/vip/epicvip3.lua:4: attempt to perform arithmetic on global 'days' (a nil value)
[28/12/2015 1:51:49] [Error - Event::checkScript] Cannot load script (data/actions/scripts/vip/epicvip3.lua)

Link para o post
Compartilhar em outros sites

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

creatureevents.xml add

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

fimvip.lua creatureevents/script

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

 

Creditos: alissonxzff2

Link para o post
Compartilhar em outros sites

brendoonh

 

cara fucionou obrigado ganhou meu rep+++

 

MAIS TEM 1 DETALHE: você não poderia colocar pra checar se o playvip já for vip pra quando usar VIP não ficar com VIPVIP ????

 

outro rep+

Editado por di12345di (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  UPPPPP  

Link para o post
Compartilhar em outros sites
  • Solução

consegui resolver , podem fechar o topico , resolvi fuçando já que meu conhecimento de .lua é basico eu desenrrolei.

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo