Ir para conteúdo

Pergunta

Boa noite galerinha do XTibia, tenho um script no meu otserver em Moveevents que da acesso area donate, vou colocar ele logo abaixo.
Queria Disponibilizar o item no shopping do meu site, quando o player da um Click no Item ele ganha 30 dias de area donate e quando ele ganhar area donate o nome fique [VIP] Player.

 

esse é o script que uso em meu ot, quando o player pisa no sqm selecionado ele é teleportado para a area donate.

TFS 0.4


data/moveevents/script:

<movevent type="StepIn" actionid="13930" event="script" value="donate/donatetile.lua"/>


function onStepIn(cid, item, position, fromPosition)

local tileConfig = {
kickPos = fromPosition, kickEffect = CONST_ME_POFF,
kickMsg = "Voce precisa ser Donate para acessar essa area.",
enterMsg = "Seja bem-vindo!",
enterEffect = CONST_ME_MAGIC_RED,
}

if isPlayer(cid) == true then
if vip.hasVip(cid) == FALSE then
doTeleportThing(cid, tileConfig.kickPos)
doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
doPlayerSendCancel(cid, tileConfig.kickMsg)
return
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg)
doSendMagicEffect(position, tileConfig.enterEffect)
return true
end
end



<movevent type="StepIn" actionid="13931" event="script" value="donate/donateacess.lua"/>


function onStepIn(cid, item, position, fromPosition)

local tileConfig = {
kickPos = fromPosition, kickEffect = CONST_ME_POFF,
kickMsg = "Voce precisa ser Donate para acessar essa area.",
enterEffect = CONST_ME_MAGIC_RED,
}

if isPlayer(cid) == true then
if vip.hasVip(cid) == FALSE then
doTeleportThing(cid, tileConfig.kickPos)
doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
doPlayerSendCancel(cid, tileConfig.kickMsg)
return
end
doTeleportThing(cid, {x = 1448, y = 659, z = 7})
doSendMagicEffect({x = 1448, y = 659, z = 7}, CONST_ME_TELEPORT)
return true
end
end

 


@up

Editado por Leonardo Macedo
Link para o comentário
https://xtibia.com/forum/topic/234599-ganhar-donate-por-item-moveevents/
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

@@leonardo macedo,

 

Vá em data/actions/actions.xml e adicione a seguinte linha:

<action itemid="id do item" event="script" value="vipDays.lua"/>
Agora em data/actions/scripts crie o arquivo vipDays.lua com o seguinte conteúdo:

local dias = 30 -- dias de VIP que o player irá ganhar ao usar o item

--[[ Não mexa em nada mais ]]
function onUse(cid, item, fromPosition, itemEx, toPosition)
	if string.find(tostring(getCreatureName(cid)),"[[VIP]]") then
		vip.addVipByAccount(getPlayerAccount(cid) , vip.getDays(dias))
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados " .. dias .. " dias de VIP em sua account.")
		doSendMagicEffect(fromPosition, 28)
		doRemoveItem(item.uid)
		return true
	else
		vip.addVipByAccount(getPlayerAccount(cid) , vip.getDays(dias))
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados " .. dias .. " dias de VIP em sua account.")
		doSendMagicEffect(fromPosition, 28)
		doRemoveItem(item.uid)
		local nome = getCreatureName(cid)
		db.executeQuery("UPDATE `players` SET `name` = '[VIP] " .. nome .."' WHERE `id` = " .. getPlayerGUID(cid) .. ";")
		doRemoveCreature(cid)
		return true
	end
end
Editado por Bruno Minervino
Link para o comentário
https://xtibia.com/forum/topic/234599-ganhar-donate-por-item-moveevents/#findComment-1655146
Compartilhar em outros sites

×
×
  • Criar Novo...