BA
poketibia

Duvida De Scripting Na Vip Do Meu Serve De Poketibia !

Por BackOfTheHell, 04 de mar. de 2014 em Scripts

duvida
resolvido
otserv
tibia
script
10
1.5k
BackOfTheHellB
04 de março de 2014 às 17:16

Olá Galerinha Do Xtibia Estou Com Uma Duvida No Meu Serve De Poketibia !!

 

EU Queria Muda Do Que Precisa Para Entrar Na VIP Esta precisando Que o Player Seja 1 Player De Honra Mas Não Sei Como Se Faz Para Ser Isso Eu Queria Mudar Para Usar Os Diamond Que Coloquei No Client Como Item De VIP Tipo Tenho 50 Diamond Ai Vo La Falo Com Npc Ou Uso 1 Comando e Compro A VIP Ai O Player Pode Passar !!

 

 

O Script Do Meu Serve !!

 

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

local config= {
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}
local days = 31 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 33339)
local timenow = os.time()
if getPlayerStorageValue(cid, 33339) - 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.")
doPlayerAddPremiumDays(cid, 31)
setPlayerStorageValue(cid, 33339, time)
local quantity = math.floor((getPlayerStorageValue(cid, 33339) - timenow)/(24 * 60 * 60))
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce tem ".. quantity .." dias de VIP restantes.")
if (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
end
return TRUE
end

 

04 de março de 2014 às 17:20

cara cria um novo systen bem mais fassio e moderno aqui no forum tem varios desses topicos

 

duvida sanada? rep+

felippepsaF
04 de março de 2014 às 17:23

man serve um por npc ? tipo:npc vip:ola você quer trocar quantidade de diamonds por 31 dias vip?


player:yes




+ n sei se funciona e de nto rsrsrs so diz ai que te passo

BackOfTheHellB
04 de março de 2014 às 17:31

rsrsrs Pode Ser Sim Se Funcionar Do Rep +

felippepsaF
04 de março de 2014 às 17:32

passa ai os ids primeiro vamo tentar o seu


SlytonS
04 de março de 2014 às 17:36

Bom meu caro tenho um npc que você troca Diamonds por premy acho que presta. Obs :mais para mostrar os dias de vip na sua account você terá que mexer no arquivo config.lua é procure por freePremium deixe assim assim os 2, se estiver assim desconsidere a observação

 

freePremium = false

premiumForPromotion = true

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

 

<npc name="Dalk" script="dalk.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1">

<health now="150" max="150"/>

<look type="610" head="114" body="119" legs="114" feet="114" corpse="2212"/>

 

<parameters>

<parameter key="message_greet" value="Welcome |PLAYERNAME|, I can sell to you: {Diamond Account}, {Sex Change} and {Town Change}, what you want?"/>

</parameters>

</npc>

 

 

 

 

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end

function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end

function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end

function onThink() npcHandler:onThink() end

function creatureSayCallback(cid, type, msg)

if(not npcHandler:isFocused(cid)) then

return false

end

 

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

msg = string.lower(msg)

---------

local configs = {

diamondsID = 12237, --id do diamond no items.xml/otb... (achu q vais ter q criar, ou pegar algum item q ja tenha ae...)

VIP = {days = 30, cost = 10}, --days = qnts dias de VIP o player compra por vez.... cost = custo para virar VIP...

SEX = {cost = 5}, --cost = custo para trocar de sexo...

TOWN = {cost = 5}, --cost = custo para trocar de city...

}

 

local places = {

["saffron"] = 1, --tens q por o id do RME das tuas citys aki...

["cerulean"] = 2,

["lavender"] = 3,

["fuchsia"] = 4,

["celadon"] = 5,

["viridian"] = 6,

["vermilion"] = 7,

["pewter"] = 8,

["cinnabar"] = 10,

}

 

 

if (msgcontains(msg, 'diamond account') or msgcontains(msg, 'diamond')) then

selfSay("You want to buy a diamond account and be VIP for "..configs.VIP.days.." days? It will cost "..configs.VIP.cost.." diamonds!", cid)

talkState[talkUser] = 2

return true

 

elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then

if getPlayerItemCount(cid, configs.diamondsID) >= configs.VIP.cost then

selfSay("Ok then, now you have "..configs.VIP.days.." days of VIP! Enjoy!", cid)

doPlayerAddPremiumDays(cid, configs.VIP.days)

doPlayerRemoveItem(cid, configs.diamondsID, configs.VIP.cost)

talkState[talkUser] = 0

return true

else

selfSay("You need atleast "..configs.VIP.cost.." diamonds to do that!", cid)

talkState[talkUser] = 0

return true

end

 

elseif (msgcontains(msg, 'sex change') or msgcontains(msg, 'sex')) then

selfSay("So you want to change of sex? It will cost "..configs.SEX.cost.." diamonds", cid)

talkState[talkUser] = 3

return true

 

elseif msgcontains(msg, 'yes') and talkState[talkUser] == 3 then

if getPlayerItemCount(cid, configs.diamondsID) >= configs.SEX.cost then

local sex = getPlayerSex(cid)

selfSay("Ok then, now you are of the sex "..(sex == 0 and "female" or "male")..". Enjoy!", cid)

doPlayerSetSex(cid, (sex == 0 and 1 or 0))

doPlayerRemoveItem(cid, configs.diamondsID, configs.SEX.cost)

talkState[talkUser] = 0

return true

else

selfSay("You need atleast "..configs.SEX.cost.." diamonds to do that!", cid)

talkState[talkUser] = 0

return true

end

 

elseif (msgcontains(msg, 'town change') or msgcontains(msg, 'town')) then

selfSay("So you want to change your beginner town? It will cost "..configs.TOWN.cost.." diamonds", cid)

talkState[talkUser] = 4

return true

 

elseif msgcontains(msg, 'yes') and talkState[talkUser] == 4 then

selfSay("Ok then, tell me what city do you want?", cid)

talkState[talkUser] = 5

return true

 

elseif places[msg] and talkState[talkUser] == 5 then

if getPlayerItemCount(cid, configs.diamondsID) >= configs.TOWN.cost then

selfSay("Done, enjoy your new city!", cid)

doPlayerSetTown(cid, places[msg])

doPlayerRemoveItem(cid, configs.diamondsID, configs.TOWN.cost)

talkState[talkUser] = 0

return true

else

selfSay("You need atleast "..configs.TOWN.cost.." diamonds to do that!", cid)

talkState[talkUser] = 0

return true

end

 

elseif msgcontains(msg, 'no') then

selfSay("Ok then, tell me again what you want...", cid)

talkState[talkUser] = 0

return true

end

 

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

 

Editado Março 4 por Slyton

BackOfTheHellB
04 de março de 2014 às 17:42

JaJa Test Se Funfar REP +

04 de março de 2014 às 17:43
Melhor resposta

testa ...

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

local config= {
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}

local diamond = id do diamante    -- id do diamante
local quant = 1        -- quantos diamantes vai remover !


local days = 31 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 33339)
local timenow = os.time()

if doPlayerRemoveItem(cid, diamond, quant) == TRUE then
if getPlayerStorageValue(cid, 33339) - os.time() <= 0 then
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end
end


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

return true
end
BackOfTheHellB
06 de março de 2014 às 22:17

Depois Eu Testo E Do Rep + Agora To Um Pouco Sem Tempo :(


Duvida Sanada !! Dei Rep + aos 2 Ja mas To Com Uma Outra Duvida Por Que Quando Coloco a Sprite Dos Diamonds No Meu Client Pelo Dar Editor Buga Tudo E So Figa Os Monds No Client Rep + Pra Quem Ajudar !!

KilluaK
09 de março de 2014 às 11:52

Tópico movido para a seção de dúvidas e pedidos resolvidos.