Ir para conteúdo
  • Cadastre-se

(Resolvido)[Pedido 2 Scripts] Double ex por x player online e /anuncio.


Ir para solução Resolvido por zipter98,

Posts Recomendados

1° Gostaria de um Scripts que quando chegar a 100 player o servidor fica com Double exp e loot, e se cair pra 99 player sair do Double exp.
Seria possível?

 

2° e um que quando o player fala /anuncio  anuncia para todos do serve, e tira 5 2160 dele, e poder usar so depois de 10 minutos.

 

Obrigado dez de ja quem poder me ajudar.


Up

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

Criei o script de anuncio pra você:

Em "Data/talkactions/scripts" copie e cole um arquivo .lua e renomeie para anuncio.lua, apague tudo e cole isso:

function onSay(cid, words, param)

local b = string.lower(param)
local config = {
tmp = 10, -- Tempo em minutos para usar novamente.
storage = 45989,
lvl = 20, -- Level minimo.
cost = 50000 -- Custo para anunciar.
}

if param == "" then
  return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Digite sua mensagem.")
end

if getPlayerStorageValue(cid, config.storage) > os.time() then
  return doPlayerSendTextMessage(cid, 25, "Você precisa esperar " .. getPlayerStorageValue(cid, config.storage) - os.time() .. ' segundo' .. (getPlayerStorageValue(cid, config.storage) - os.time() == 1 and "" or "s") .. " para usar novamente.")
end

if getPlayerLevel(cid) < config.lvl then
return doPlayerSendCancel(cid, "Você precisa ser level "..config.lvl.." para usar esse comando!")
end

if doPlayerRemoveMoney(cid, config.cost) == TRUE then
doBroadcastMessage("[Player:] "..getPlayerName(cid)..": "..b.."")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você enviou sua mensagem, aguarde "..config.tmp.." minutos para enviar novamente!")
setPlayerStorageValue(cid, config.storage, os.time() + config.tmp*60)
else
return doPlayerSendCancel(cid, "Você precisa de "..config.cost.." gp's para usar este comando!")
end
return true
end

Depois em talkactions.xml, adicione a seguinte tag:

<talkaction words="!anunciar" script="anuncio.lua" />

Quanto ao outro script, creio que seja possível sim, vamos ver se algum superior consegue fazer :)

Link para o post
Compartilhar em outros sites

Vlw vou  testar aqui+rep


Funcionou perfeitamente Vlw
Agora so falta o Double exp =)

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

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

Double loot você pode fazer em lua por gambiarra ou com algumas modificações nas sources (C++). Talvez mais tarde eu atualize o código com isso.

data/creaturescripts/scripts:

local config = {
    count = 100,          --Número mínimo de jogadores online para ter double experience.
    rate = 2.0,           --Rate de EXP. 
    storage = 4091,
}
function onLogin(cid)
    if getGlobalStorageValue(config.storage) < 1 then
        if #getPlayersOnline() >= config.count then
            broadcastMessage(config.count.." jogadores online! Double experience ativada!")
            setGlobalStorageValue(config.storage, 1)
            for _, pid in pairs(getPlayersOnline()) do
                doPlayerSetExperienceRate(pid, config.rate)
            end
        end
    else
        doPlayerSetExperienceRate(cid, config.rate)
    end
    return true
end
function onLogout(cid)
    if getGlobalStorageValue(config.storage) > -1 then
        if #getPlayersOnline() - 1 < config.count then
            broadcastMessage("A double experience foi desativada. :/")
            setGlobalStorageValue(config.storage, -1)
            for _, pid in pairs(getPlayersOnline()) do
                doPlayerSetExperienceRate(pid, 1.0)
            end
        end
    end
    return true
end
Tags:
<event type="login" name="ExpLogin" event="script" value="nome_do_arquivo.lua"/>
<event type="logout" name="ExpLogout" event="script" value="nome_do_arquivo.lua"/>        
Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Vlw +rep =)

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites
  • 1 month later...

 

Double loot você pode fazer em lua por gambiarra ou com algumas modificações nas sources (C++). Talvez mais tarde eu atualize o código com isso.

data/creaturescripts/scripts:

local config = {
    count = 100,          --Número mínimo de jogadores online para ter double experience.
    rate = 2.0,           --Rate de EXP. 
    storage = 4091,
}
function onLogin(cid)
    if getGlobalStorageValue(config.storage) < 1 then
        if #getPlayersOnline() >= config.count then
            broadcastMessage(config.count.." jogadores online! Double experience ativada!")
            setGlobalStorageValue(config.storage, 1)
            for _, pid in pairs(getPlayersOnline()) do
                doPlayerSetExperienceRate(pid, config.rate)
            end
        end
    else
        doPlayerSetExperienceRate(cid, config.rate)
    end
    return true
end
function onLogout(cid)
    if getGlobalStorageValue(config.storage) > -1 then
        if #getPlayersOnline() - 1 < config.count then
            broadcastMessage("A double experience foi desativada. :/")
            setGlobalStorageValue(config.storage, -1)
            for _, pid in pairs(getPlayersOnline()) do
                doPlayerSetExperienceRate(pid, 1.0)
            end
        end
    end
    return true
end
Tags:
<event type="login" name="ExpLogin" event="script" value="nome_do_arquivo.lua"/>
<event type="logout" name="ExpLogout" event="script" value="nome_do_arquivo.lua"/>        

 

Nao esta funcionando, aparece a mensagem e tudo, mas nao fica double exp

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

vou testar em tfs 0.4 se funcionar edito.

Se Ajudei Clique no rep_up.png ao Lado, Não Custa nada :D!!

Link para o post
Compartilhar em outros sites

Ok

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

Up

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

exp bonus?

 

expbonus.lua
var = 100
function onKill(cid, target)
if #getPlayersOnline() >= var and isPlayer(cid) and isMonter(target) then
local exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier)
local count = ((getMonsterInfo(string.lower(getCreatureName(target))).experience*1.5*exp)/2)
doPlayerAddExperience(cid, count)
addEvent(doSendAnimatedText, 500, getCreaturePosition(cid), '+'..count, math.random(50,60))
end
return true
end
function onLogin(cid)
registerCreatureEvent(cid, "ExpBonus")    
if getCreatureName(cid):lower() ~= "account manager" and #getPlayersOnline() >= var then
broadcastMessage(var.." jogadores online! Double experience ativada!")
end
return true
end
 
 
TAG
<event type="kill" name="ExpBonus" event="script" value="expbonus.lua"/>
<event type="login" name="ExpBonusLogin" event="script" value="expbonus.lua"/>
Editado por Vodkart (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

local var = 100 

Seria a quantia de player online para ficar Double?
Teria como colocar uma mensagem para avisar para todos os player que esta Double exp?

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

pronto editei o script, usa aquele lá

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

 

exp bonus?

 

expbonus.lua
var = 100
function onKill(cid, target)
if #getPlayersOnline() >= var and isPlayer(cid) and isMonter(target) then
local exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier)
local count = ((getMonsterInfo(string.lower(getCreatureName(target))).experience*1.5*exp)/2)
doPlayerAddExperience(cid, count)
addEvent(doSendAnimatedText, 500, getCreaturePosition(cid), '+'..count, math.random(50,60))
end
return true
end
function onLogin(cid)
registerCreatureEvent(cid, "ExpBonus")    
if getCreatureName(cid):lower() ~= "account manager" and #getPlayersOnline() >= var then
broadcastMessage(var.." jogadores online! Double experience ativada!")
end
return true
end
 
 
TAG
<event type="kill" name="ExpBonus" event="script" value="expbonus.lua"/>
<event type="login" name="ExpBonusLogin" event="script" value="expbonus.lua"/>

 

Mano coloquei aqui tudo certinho, coloquei pra  2 player loguei os 2 player e nao aconteceu nada, nem mensagem nem nada.

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

Por acaso você está usando o código em um servidor de Tibia ou algum derivado? Se possível, especifique a base.

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

De Poketibia.

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

Saberia dizer qual base você está utilizando? Porque, por exemplo, o sistema de experiência do PDA é um pouco diferente. Assim, o código de double experience deveria ser escrito de outra forma.

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

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Saberia dizer qual base você está utilizando? Porque, por exemplo, o sistema de experiência do PDA é um pouco diferente. Assim, o código de double experience deveria ser escrito de outra forma.

SIm Base Pyros

Eae?

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

Link para o post
Compartilhar em outros sites

Estou querendo um porem pra PDA.

​Obstaculo Impossível?

Impossível é existir algo Impossível ;) 

 

 

 

 

Confira os Meus Conteúdos ! 

Te ajudei ? REP + E Ficamos KIT ;)

Link para o post
Compartilhar em outros sites

Código para PDA (que suponho ser a base do servidor Pyros):

local config = {
    count = 100,          --Número mínimo de jogadores online para ter double experience.
    rate = 2,             --Rate de EXP. 
    storage = 4091,
}
function onLogin(cid)
    if getGlobalStorageValue(config.storage) < 1 and getCreatureName(cid) ~= "Account Manager" then
        if #getPlayersOnline() >= config.count then
            broadcastMessage(config.count.." jogadores online! Double experience ativada!")
            setGlobalStorageValue(config.storage, config.rate)
        end
    end
    return true
end
function onLogout(cid)
    if getGlobalStorageValue(config.storage) > -1 and getCreatureName(cid) ~= "Account Manager" then
        if #getPlayersOnline() - 1 < config.count then
            broadcastMessage("A double experience foi desativada. :/")
            setGlobalStorageValue(config.storage, -1)
        end
    end
    return true
end
Em data/creaturescripts/scripts, no arquivo pokeexp.lua:
Abaixo de:
local expTotal = math.floor(playerExperienceRate * givenexp * getDamageMapPercent(pk, cid))
adicione:
if getGlobalStorageValue(4091) > -1 then
    expTotal = math.floor(expTotal * getGlobalStorageValue(4091))
end
Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Deu esse erro
[03/05/2015 21:24:27] [Warning - Event::loadScript] Event onKill not found (data/creaturescripts/scripts/doubleexp.lua)

Ajudei? da um Rep+, não custa nada. ;D:P

 

Servidor de PokeTibia ja online.

Pagina: https://www.facebook.com/PokemonxStore?ref=bookmarks

Grupo: https://www.facebook.com/groups/257989224406246/

Site: http://pokexstore.wix.com/pokexstore

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