Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Dois Scripts Que Podem Ser Simples.


Ir para solução Resolvido por Jobs,

Posts Recomendados

Então pessoal, estou aqui para pedir um script que poderá ser simples para alguns, eu estou criando um servidor Baiak, e queria criar 1 magia para cada vocação, porém eu queria que qualquer uma vocação soltasse a magia, mais tinha que ser "Donate" no caso "VIP", a storage da "VIP" que eu uso é (13500).

 

O outro script é assim, o player que for "VIP" ganha 10% a mais de exp que os player "FREE" ganham, o storage da "VIP" é a mesma da de cima (13500), Caso precisem de alguma coisa, só pedir!

 

Quem puder me ajudar agradeço muito e dou REP+++ !

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

Double exp para vips:

 

Vá em creaturescript/script,copie um arquivo.lua existente e renomeie para:

 

vipexp.lua

function onLogin(cid)

local rate = 1.5 -- 50%
local config = {
welvip = "você tem "..((rate - 1)*100).."% de exp a mais agora!",
not_vip = "Tornesse vip e ganhe "..((rate - 1)*100).."% a mais de experiencia!",
s = 13500, -- storage vip
}

if getPlayerStorageValue(cid, config.s) - os.time() >= 1 then
doPlayerSetExperienceRate(cid, rate)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.welvip)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.not_vip)
end
return TRUE
end

 

Agora em creaturescript/scripts/login.lua adicione a tag:

registerCreatureEvent(cid, "ExpVip")

 

Agora vá para creaturescript.xml e adicione:

<event type="login" name="ExpVip" script="vipexp.lua"/>

 

Para mudar a porcentagem de exp:

 

Edite essa parte para alterar a porcentargem de exp a mais para os vip:

local rate = 1.25 -- 25%

 

No caso está 25% a mais de exp.

 

Por exemplo,se quiser colocar 50% ficaria assim:

local rate = 1.50 -- 50% 

vé se te ajuda  ;D

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

Que Ajuda? Me Contate.

Sou:

Programador

Script

Mapper

WebMaster

WebDesigner

E Muito Mais ;D 

 

Você tem o direito de falar o que pensa
Mas não tem o direito de julgar quem não conhece
Liberdade de expressão é um direito de todos
Mas em vez de falar, então faça algo que preste

 

~Charlie Brown Jr

Link para o post
Compartilhar em outros sites

Amigo, quando o player loga até aparece a mensagem, porém quando o player mata o monster ele ganha a mesma exp. mato o demon ganho 180 mil, usei o item para poder acessar a área donate, que no caso tem o storage 13500. eu desloguei e loguei, até sai da conta e tudo, mais quando loguei a exp era a mesma, não está mudando, sabe oque pode ser? e não apareceu erro nenhum.

 

O script na action que uso para o player virar donate é esse aqui.

 

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local config={
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}
 
local days = 15 -- coloque os dias que serão a VIP!
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 13500)
local timenow = os.time()
 
if getPlayerStorageValue(cid, 13500) - 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, 13500, time)
local quantity = math.floor((getPlayerStorageValue(cid, 13500) - 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)
end
 
return TRUE
end
Editado por lucasmuniz67 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

-em Creaturescript/script Crie um arquivo.lua e renomeie para : vipexp.lua

function onLogin(cid)

local rate = 1.5 -- 50%
local config = {
welvip = "você tem "..((rate - 1)*100).."% de exp a mais agora!",
not_vip = "Tornesse vip e ganhe "..((rate - 1)*100).."% a mais de experiencia!",
s = 13540, -- storage vip
}

if getPlayerStorageValue(cid, config.s) - os.time() >= 1 then
doPlayerSetExperienceRate(cid, rate)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.welvip)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.not_vip)
end
return TRUE
end

-em Creaturescript/script/login.lua adicione:

registerCreatureEvent(cid, "ExpVip")~

-em Creaturescript.xml adicione a tag:

<event type="login" name="ExpVip" script="vipexp.lua"/>

É só procurar no forum que existe varios Script já feitos... 
http://www.tibiaking.com/forum/topic/20477-script-exp-a-mais-para-vips/

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

-em Creaturescript/script Crie um arquivo.lua e renomeie para : vipexp.lua

function onLogin(cid)

local rate = 1.5 -- 50%
local config = {
welvip = "você tem "..((rate - 1)*100).."% de exp a mais agora!",
not_vip = "Tornesse vip e ganhe "..((rate - 1)*100).."% a mais de experiencia!",
s = 13540, -- storage vip
}

if getPlayerStorageValue(cid, config.s) - os.time() >= 1 then
doPlayerSetExperienceRate(cid, rate)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.welvip)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.not_vip)
end
return TRUE
end

-em Creaturescript/script/login.lua adicione:

registerCreatureEvent(cid, "ExpVip")~

-em Creaturescript.xml adicione a tag:

<event type="login" name="ExpVip" script="vipexp.lua"/>

É só procurar no forum que existe varios Script já feitos... 

http://www.tibiaking.com/forum/topic/20477-script-exp-a-mais-para-vips/

mesma coisa que eu postei amigo. isso e  :spam:

Que Ajuda? Me Contate.

Sou:

Programador

Script

Mapper

WebMaster

WebDesigner

E Muito Mais ;D 

 

Você tem o direito de falar o que pensa
Mas não tem o direito de julgar quem não conhece
Liberdade de expressão é um direito de todos
Mas em vez de falar, então faça algo que preste

 

~Charlie Brown Jr

Link para o post
Compartilhar em outros sites

Como eu disse, o erro continua, fala que ser VIP ganha % de exp a mais, eu uso o item, viro vip e mesmo assim não ta ganhando a % de exp a mais, e não da nenhum erro. :s

Link para o post
Compartilhar em outros sites

Como eu disse, o erro continua, fala que ser VIP ganha % de exp a mais, eu uso o item, viro vip e mesmo assim não ta ganhando a % de exp a mais, e não da nenhum erro. :s

cara aki sempre funcionou, ta fora da minha ossada :/

Que Ajuda? Me Contate.

Sou:

Programador

Script

Mapper

WebMaster

WebDesigner

E Muito Mais ;D 

 

Você tem o direito de falar o que pensa
Mas não tem o direito de julgar quem não conhece
Liberdade de expressão é um direito de todos
Mas em vez de falar, então faça algo que preste

 

~Charlie Brown Jr

Link para o post
Compartilhar em outros sites

Ai parceiro, irei te dar REP+ por ter tentando me ajudar, Muito obrigado ! para funcionar eu tive que por o Sistema VIP By Mock no meu servidor, ele ficou PERFEITO ! só que tipo, antigamente o item 10309 dava 15 Dias de VIP, agora com esse do MOCK, o item não funciona, oque devo fazer? para os player adiquirir vip? sabe me dizer?

Link para o post
Compartilhar em outros sites

normalmente e atraves de um comando que o god.

Em data/talkactions/scripts acrescente dentro da pasta scripts uma outra pasta com o nome VIP vamos precisar de arquivos.lua que teram os nomes e códigos a seguir:

add.lua
 

function onSay(cid, words, param, channel)
doPlayerSendCancel(cid, "Added "..param.." Vip Days.")
return doPlayerAddVipDays(cid, param)
end

 

addvipp.lua
 

function onSay(cid, words, param)
         if param == "" then
            return doPlayerPopupFYI(cid,"Está com problemas?\nAprenda os comandos!\n---------------\nAdicionar vip:\n/vip add days player\n/vip add 30 Real\n---------------\nDeletar vip:\n/vip del player\n/vip del Real\n---------------\nVer a vip:\n/vip see player\n/vip see Real\n---------------\n")
         end
         if param:lower():find('add') == 1 and 3 then
            local _,_,id,name = param:lower():find('add (%d+) (.+)')
            name = name or ""
            id = tonumber(id or 1) or 1
            if tonumber(id) == nil or getPlayerByName(name) == false then
             return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Adicionar vip:\n/vip add days player\n/vip add 30 Real\n [Player: "..name..]")
            end
            if isPlayer(getPlayerByName(name)) == TRUE then
            vip.addVipByAccount(getPlayerAccount(getPlayerByName(name)) ,vip.getDays(id))

            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Foram adicionados "..tonumber(id).." dias de vip a "..name..".")
            doPlayerSendTextMessage(getPlayerByName(name),MESSAGE_INFO_DESCR,"Você recebeu "..tonumber(id).." dias de vip.")
         else
         doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,name.." não esta online ou não existe.")
         end
         elseif param:lower():find('del') == 1 and 3 then
            local _,_,name = param:lower():find('del (.+)')
            if getPlayerByName(name) == false then
             return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Deletar vip:\n/vip del player\n/vip del Real\n")
            end

            vip.setVipByAccount(getPlayerAccount(getPlayerByName(name)),-os.time())
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"A vip de "..name.." foi apagada.")                                                                                                                                            
         elseif param
:lower():find('see') == 1 and 3 then
            local _,_,name = param:lower():find('see (.+)')
            name = name or ""
            if getPlayerByName(name) == false then
             return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Ver a vip:\n/vip see player\n/vip see Real\n")
            end
            local ret_ = vip.getVip(getPlayerByName(name))
            if ret_ == 0 then
             return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,name.." Não tem vip, e nunca teve.")
            else
             return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "A vip de "..name.." Acaba/terminou em "..os.date("%d %B %Y %X ",ret_))
            end
         end
         return TRUE
end

 

get.lua
 

function onSay(cid, words, param, channel)
    doPlayerSendCancel(cid, ""..getPlayerVipDays(cid).." days VIP left.")
end

 

is.lua
 

function onSay(cid, words, param, channel)
    if isPlayerVip(cid) == TRUE then
        doPlayerSendCancel(cid, "You are a VIP player.")
    else
        doPlayerSendCancel(cid, "You are not a VIP player.")
    end    
end

 

removevip.lua
 

function onSay(cid, words, param, channel)
    doPlayerSendCancel(cid, "Vip removed.")
    return doPlayerRemoveVip(cid)
end

 

set.lua
 

function onSay(cid, words, param, channel)
    doPlayerSendCancel(cid, "VIP Days: "..param..".")
    return setPlayerVipDays(cid, param)
end

 

vipdays.lua
 

function onSay(cid, words, param)
         if vip.hasVip(cid) == TRUE then
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your vip end in "..os.date("%d %B %Y %X ",vip.getVip(cid)))
         else
             if vip.getVip(cid) ~= 0 then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You're not a vip player. Your vip has finished in "..os.date("%d %B %Y %X ", vip.getVip(cid)).." and now is "..os.date("%d %B %Y %X ", os.time()))
             else
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You're not a vip player. You naver has a vip.")
             end
         end
         return TRUE
end

 

Em data/talkactions/talkactions.xml adicione está tag:
 

<!-- VIP System -->
<talkaction log="yes" words="/vip" access="5" event="script" value="VIP/addvipp.lua" />
<talkaction words="!vipdays" event="script" value="VIP/vipdays.lua" />

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

Que Ajuda? Me Contate.

Sou:

Programador

Script

Mapper

WebMaster

WebDesigner

E Muito Mais ;D 

 

Você tem o direito de falar o que pensa
Mas não tem o direito de julgar quem não conhece
Liberdade de expressão é um direito de todos
Mas em vez de falar, então faça algo que preste

 

~Charlie Brown Jr

Link para o post
Compartilhar em outros sites

Amigo, obrigado mais conseguir por pra vender direto do site. MUITO OBRIGADO MESMO pela sua ajuda!

No meu servidor tem o comando também ! haha

 

VALEU MESMO !

Link para o post
Compartilhar em outros sites

Amigo, obrigado mais conseguir por pra vender direto do site. MUITO OBRIGADO MESMO pela sua ajuda!

No meu servidor tem o comando também ! haha

 

VALEU MESMO !

agora uma coisa se poder manda o ip para eu joga ;)

Que Ajuda? Me Contate.

Sou:

Programador

Script

Mapper

WebMaster

WebDesigner

E Muito Mais ;D 

 

Você tem o direito de falar o que pensa
Mas não tem o direito de julgar quem não conhece
Liberdade de expressão é um direito de todos
Mas em vez de falar, então faça algo que preste

 

~Charlie Brown Jr

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.

  • Estatísticas dos Fóruns

    96835
    Tópicos
    519577
    Posts
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo