Ir para conteúdo
  • Cadastre-se

(Resolvido)[AJUDA] Exp Scroll com tempo infinito


Ir para solução Resolvido por Hugoo222222,

Posts Recomendados

vc só tem que setar esses dois storages 

storage = 1000,
expstorage = 1100

pra valor 0.. isso pode ser feito tanto por db por query, manualmente pela db no players_storages ou por um script.. vc tb pode simplesmente mudar os storages que são utilizados, oque eu acredito ser a solução mais fácil de se fazer.

storage = 1001,
expstorage = 1101

 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

 

vc só tem que setar esses dois storages 

storage = 1000,
expstorage = 1100

pra valor 0.. isso pode ser feito tanto por db por query, manualmente pela db no players_storages ou por um script.. vc tb pode simplesmente mudar os storages que são utilizados, oque eu acredito ser a solução mais fácil de se fazer.

storage = 1001,
expstorage = 1101

Ainda não deu certo... Eu fiz manualmente e tambem mudei o storage do scroll

Antes eu, sem querer, usei o scroll com o script setado num tempo absurdo, depois disso cometi o erro de deletar o script. Depois, adicionei novamente o scrip pra tentar reverter, nao lembro ao certo. Sei que não está voltando.

Link para o post
Compartilhar em outros sites

troca isso

storage = 1000,
expstorage = 1100,
register = 1200,

por 
 

storage = 1001,
expstorage = 1101,
register = 1201,

vai funcionar sim

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

troca isso

storage = 1000,
expstorage = 1100,
register = 1200,

por 

 

storage = 1001,
expstorage = 1101,
register = 1201,

vai funcionar sim

Então continua um player com 2x. Se eu der !expinfo em um player normal aparecer 5x (exp do server), mas no outro que fiz besteira !expinfo aparece 10x.

Mudei as storages do script e continuou 10x no bugado, e parece que nesse o script antigo não executou a função de voltar a exp, talvez pq eu tenha deletado o script.

Se tiver um jeito de nerfar a exp de um unico char nao me importo de fazer essa gambiarra

 

@edit

Posso recriar os chars tb..

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

Então continua um player com 2x. Se eu der !expinfo em um player normal aparecer 5x (exp do server), mas no outro que fiz besteira !expinfo aparece 10x.

Mudei as storages do script e continuou 10x no bugado, e parece que nesse o script antigo não executou a função de voltar a exp, talvez pq eu tenha deletado o script.

Se tiver um jeito de nerfar a exp de um unico char nao me importo de fazer essa gambiarra

 

@edit

Posso recriar os chars tb..

Poe os storage como o wolf falou, e vai em creaturescript/scripts/login.lua

Antes do return true end coloca isso:

 

if getPlayerStorageValue(cid, 1000) => 0 or getPlayerStorageValue(cid, 1100) >= 0 or getPlayerStorageValue(cid, 1200) >= 0 then
doPlayerSetExperienceRate(cid, exp antiga)
setPlayerStorageValue(cid, 1000, -1)
setPlayerStorageValue(cid, 1100, -1)
setPlayerStorageValue(cid, 2100, -1)
end

Em exp antiga poe a exp normal do servidor.

Editado por Snowsz (veja o histórico de edições)
                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

então mantem tudo como tava antes e seta pela db essa storage = 1000 com o valor como sendo 0. Quando os players logarem a exp vai voltar ao normal

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

então mantem tudo como tava antes e seta pela db essa storage = 1000 com o valor como sendo 0. Quando os players logarem a exp vai voltar ao normal

Po white, eu fiz isso. Fui no SQLite e setei pra 0 as storages 1000. Continuou o player com 2x..

Continua me ajudando pls

Link para o post
Compartilhar em outros sites

eu tava tentando forçar isso daqui:

function onThink(cid, interval)
if getPlayerStorageValue(cid, config.register) == 1 then
     if getPlayerStorageValue(cid, config.storage) <= os.time() then
         doCreatureSay(cid, "Your extra experience rate has finished! It is now normaly experience rate.", TALKTYPE_ORANGE_1, true, cid)
         setPlayerStorageValue(cid, config.storage, 0)
         setPlayerStorageValue(cid, config.register, 0)
         local oldexp = getPlayerStorageValue(cid, config.expstorage)
         doPlayerSetExperienceRate(cid, oldexp)
         unregisterCreatureEvent(cid, "ExpStage")
     end
end
return true
end

o config.register tem que estar com valor 1 e o config.storage tem que estar menor que o tempo atual (por isso o 0) e aí ele vai voltar a exp pra antiga que tava salva no storage config.expstorage:

local oldexp = getPlayerStorageValue(cid, config.expstorage)
doPlayerSetExperienceRate(cid, oldexp)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

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

 

eu tava tentando forçar isso daqui:

function onThink(cid, interval)
if getPlayerStorageValue(cid, config.register) == 1 then
     if getPlayerStorageValue(cid, config.storage) <= os.time() then
         doCreatureSay(cid, "Your extra experience rate has finished! It is now normaly experience rate.", TALKTYPE_ORANGE_1, true, cid)
         setPlayerStorageValue(cid, config.storage, 0)
         setPlayerStorageValue(cid, config.register, 0)
         local oldexp = getPlayerStorageValue(cid, config.expstorage)
         doPlayerSetExperienceRate(cid, oldexp)
         unregisterCreatureEvent(cid, "ExpStage")
     end
end
return true
end

o config.register tem que estar com valor 1 e o config.storage tem que estar menor que o tempo atual (por isso o 0) e aí ele vai voltar a exp pra antiga que tava salva no storage config.expstorage:

local oldexp = getPlayerStorageValue(cid, config.expstorage)
doPlayerSetExperienceRate(cid, oldexp)

Esse foi show, realmente apareceu a msg que nao queria aparecer "Your extra experience rate has finished! It is now normaly experience rate."

Porém, a exp continuou dobrada! Parece que ele mudou, mas mudou pra 2x ainda

Wolf e Snow, muito obrigado pela ajuda! Nao consegui resolver! Vou refazer todos os chars. Realmente nao da pra saber o que está acontecendo! Eu tenho certeza que não fiz nada errado, o problema deve ser outro.

+REP

Link para o post
Compartilhar em outros sites

então vc vai ter que pegar o valor normal da exp pela db usando esse storage config.expstorage, procura os valores e pega o menor que tiver que seja maior que 0 e executa um doPlayerSetExperienceRate(cid, VALOR AQUI) pra todos os players online.. isso dá pra fazer pelo creaturescripts\scripts\login.luga só adicionando essa linha doPlayerSetExperienceRate(cid, VALOR AQUI) antes do ultimo return true. Depois que todos os players logarem e estiverem com a exp normalizada vc fecha o servidor, remove a linha do login.lua e adiciona o sistema novamente.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

então vc vai ter que pegar o valor normal da exp pela db usando esse storage config.expstorage, procura os valores e pega o menor que tiver que seja maior que 0 e executa um doPlayerSetExperienceRate(cid, VALOR AQUI) pra todos os players online.. isso dá pra fazer pelo creaturescripts\scripts\login.luga só adicionando essa linha doPlayerSetExperienceRate(cid, VALOR AQUI) antes do ultimo return true. Depois que todos os players logarem e estiverem com a exp normalizada vc fecha o servidor, remove a linha do login.lua e adiciona o sistema novamente.

A parte do Login.lua entendi, a parte do config.exptorage me perdi. Eu conheço muito pouco de Prog, pode me ajudar mais detalhadamente?

Escuta white, o problema não é esse. Acabei de achar um player sem esses storages e que ta com o BUG de XP. Quanto eu subistituo o arquivo .s3db o problema acaba, só que as contas resetam. :/

Editado por Hugoo222222 (veja o histórico de edições)
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.

  • Conteúdo Similar

    • Por Zemo
      Provavelmente, você criando o seu Website para o seu jogo você já se deparou com isso:
                       
        
       
      Esse é um erro que ocorre muito. Então eu resolvi disponibilizar essas duas tabelas abaixo que mostram os acentos e caracteres especiais:
       

      Tabela de Acentos e Caracteres Especiais em HTML usando entities
       
      Também é possível usar a acentuação utilizando o código ASCII precedido de &#. Veja abaixo:
       
       
      Tabela ASCII em HTML
       
      Ajudei? 
      REP+

       
      Link de onde as imagens foram retiradas
    • Por HuntedZ
      Bom, direto ao assum, estou prescisando de ajuda para resolver um bug de meu OT server de pokemon, o bug é o segunte, quando um player da catch em um pokemon, quando ja se tem 6 na bag ele diz que vai para o DP, mas quando o player vai checar não esta lá, mas quando se guarda um pokemon, fica la normalmente, se alguem puder me ajudar o OT foi parado apenas por esse bug, estavamos com bastante players online e presciso resolver isso o mais rapido possivel, quem conseguir me ajudar deixarei todos os creditos em meu OT!
       
      Grupo no facebook de meu OT: https://www.facebook.com/groups/PZecker/?ref=bookmarks
      Meu facebook: https://www.facebook.com/Hunted.PokeVicio?ref=bookmarks
      whatsapp: (22) 981130694
    • Por Filipe Fagundes
      Pessoal, estou com um pequeno problema em meu servidor, eu abro o depot, ele funciona normal, mais dentro dele era pra estar o depot-chest, mas n fica, fica um item preto que não é utilizável, já tentei de tudo, já mexi no item.xml e não adiantou. 

      Se alguém sabe, e pode me ajudar, ficarei muito grato. 
       
       
      Obs: Não repare no mapa, é só o mapa de teste do servidor.
      PRINT DO BUG:



    • Por TDK
      Fishing bugado, ele não sai do 28 alguém poderia ajudar?
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo