Ir para conteúdo
  • 0

Duvida De Scripting Na Vip Do Meu Serve De Poketibia !


BackOfTheHell

Pergunta

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

 

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

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
Link para o comentário
Compartilhar em outros sites

  • 0

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 por Slyton
Link para o comentário
Compartilhar em outros sites

  • 0

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 !!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...