Ir para conteúdo

koete

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    koete recebeu reputação de paulo thush em AJUDA "disconnected for exceeding packet per second limit."   
    Percebi que ninguém respondeu, e sei que já fazem 30 dias. Mas encontrei pelo google esse post e não vou deixar de responder pois há vários players que não sabem como resolver. Vai no config.lua e modifica "maxPacketsPerSecond = 25" para mais pacotes por segundos.
  2. Curtir
    koete recebeu reputação de Frenesy em AJUDA "disconnected for exceeding packet per second limit."   
    Percebi que ninguém respondeu, e sei que já fazem 30 dias. Mas encontrei pelo google esse post e não vou deixar de responder pois há vários players que não sabem como resolver. Vai no config.lua e modifica "maxPacketsPerSecond = 25" para mais pacotes por segundos.
  3. Curtir
    koete recebeu reputação de darkramonzyn em AJUDA "disconnected for exceeding packet per second limit."   
    Percebi que ninguém respondeu, e sei que já fazem 30 dias. Mas encontrei pelo google esse post e não vou deixar de responder pois há vários players que não sabem como resolver. Vai no config.lua e modifica "maxPacketsPerSecond = 25" para mais pacotes por segundos.
  4. Curtir
    koete recebeu reputação de maicomuleks em AJUDA "disconnected for exceeding packet per second limit."   
    Percebi que ninguém respondeu, e sei que já fazem 30 dias. Mas encontrei pelo google esse post e não vou deixar de responder pois há vários players que não sabem como resolver. Vai no config.lua e modifica "maxPacketsPerSecond = 25" para mais pacotes por segundos.
  5. Gostei
    koete recebeu reputação de Sleet em AJUDA "disconnected for exceeding packet per second limit."   
    Percebi que ninguém respondeu, e sei que já fazem 30 dias. Mas encontrei pelo google esse post e não vou deixar de responder pois há vários players que não sabem como resolver. Vai no config.lua e modifica "maxPacketsPerSecond = 25" para mais pacotes por segundos.
  6. Curtir
    koete deu reputação a Thayguroficial em Data Effect   
    Seu client é 8.60 ou 8.54?
     
    Veja o tutorial do nosso amigo KotZletY, eu segui os passos pra aumentar o limite do 8.60 e funcionou perfeitamente.
     
    tutorial alteração nas source (8.60):
     
    tutorial alteração no client (8.60):
     
    versão do client 8.54 (não testei mas acredito que esteja 100%)
     
  7. Obrigado
    koete deu reputação a Rusherzin em (Resolvido)Como reduzir o Script?   
    local bonus = {{0, 1, 2}, {1, 2, 1.75}, {2, 3, 1.5}, {3, 4, 1.25} } function onUse(cid, item, frompos, item2, topos) for k, v in pairs(bonus) do if getPlayerSkillLevel(cid,3) >= v[1] and getPlayerSkillLevel(cid,3) <= v[2] then return doCreatureAddMana(cid, mana / v[3]) end end end  
  8. Obrigado
    koete deu reputação a psychonaut em (Resolvido)Como reduzir o Script?   
    Não tem como fazer menos se você precisa fazer algo, a menor distancia entre dois pontos é uma linha reta, então a melhor organização é usar a função mais adequada o possível, pra por exemplo, em vez de fazer duas ou três funções para um resultado, fazer uma só com a função certa(falando em funções do TFS). Nessa parte do código você já poderia ter usado elseif:
    Elseif pois lua não tem switch tipo o do C, algumas pessoas criam ela com caseof ou vararg, se tivessem varios elseif no código, seria melhor um
     
    function onUse(cid, item, frompos, item2, topos) if getPlayerSkillLevel(cid,3) <= 1 then doCreatureAddMana(cid, mana/2) elseif getPlayerSkillLevel(cid,3) == 1 or getPlayerSkillLevel(cid,3) == 2 then doCreatureAddMana(cid, mana/1.75) elseif getPlayerSkillLevel(cid,3) == 2 or getPlayerSkillLevel(cid,3) == 3 then doCreatureAddMana(cid, mana/1.50) elseif getPlayerSkillLevel(cid,3) == 3 or getPlayerSkillLevel(cid,3) == 4 then doCreatureAddMana(cid, mana/1.25) end end  
     
    Caso tenha mais coisas no script. uma coisa que ajuda a limpar o código é criar funções, quando você vai repetir algo muitas vezes, é só usar a função em vez de escrever tudo de novo.
    Lua tem uma performance incrível, por isso que é bastante usada. Como não tem uma estrutura de repetição aí, não vejo notável diferença pra colocar a função getPlayerSkillLevel em uma variável local(local playerskilllevel = getPlayerSkillLevel(cid,3)), o que pode ser feito mas são poucos valores ali, mas se tivesse uma estrutura de repetição, você colocaria a função antes em uma variável.
     
    Os 3 R da reciclagem se aplicam em lua, reduza, reuse e recicle.
     
    Porém no seu caso, acho que a criação de uma formula seria melhor, mas você não poderia escolher um valor especifico para cada level. A sua formula teria que usar o getPlayerSkillLevel junto com outros valores para adicionar a mana.
    doCreatureAddMana(cid, (getPlayerMaxMana(cid) / 10) + (mana * ((getPlayerSkillLevel(cid,3) / alguma coisa)))) Esse é só um exemplo, não sei direito se você está usando um padrão, se quiser reduzir mesmo o script, vale a pena usar um, dá pra criar qualquer padrão, até usar alguns ifs pra isso.
    Essa aí do exemplo adiciona 10% da mana máxima do jogador + a mana que você colocou lá(100) * uma porcentagem do skill level ou alguma outra coisa, esse é só um exemplo.

    A solução pra mim então é, ou usar uma formula(aí não vai controlar os valores) ou reduzir usando uma alternativa pro switch pois a cadeia de comparação não é eficiente.
     
    Essa daí permite passar parâmetros no mudarmana[ ](parâmetro) por causa da função(é exemplo, tem que editar), você poderia remover pois não vai usar, mas pode usar se precisar colocar mais coisas.
    local valor local mudarmana = { [1] = 2, [2] = 1.75, [3] = 1.50, [4] = 1.25 } mudarmana[getPlayerSkillLevel(cid,3)] doCreatureAddMana(cid, mana/valor)  
    Você pode repetir o mesmo valor pra 2 aí, ou então
    local mudarmana = { [0] = 2, [2] = 1.75, [4] = 1.50, [6] = x, } local i if (getPlayerSkillLevel(cid,3) % 2 == 0) then i = getPlayerSkillLevel(cid,3) else i = getPlayerSkillLevel(cid,3) + 1 end doCreatureAddMana(cid, mana/mudarmana[i]) Isso é pra somar um caso seja ímpar, pois não entendi muito bem, sua verificação tá meio bugada, maior ou igual a 0 ou menor ou igual a 1, seria 0 ou 1, o mesmo em seguida, 1 ou 2, então pra não repetir poderia verificar se é ímpar e somar 1, aí você só teria números pares, entãa só coloca números pares na tabela mudarmana com o valor, bom não sei se tá funcionando o script, foi só um exemplo.
     
    Tem varias outras maneiras só dar uma pesquisada, ah e a tabela ali fica fora da função onUse.
  9. Gostei
    koete recebeu reputação de joisman em AJUDA "disconnected for exceeding packet per second limit."   
    Percebi que ninguém respondeu, e sei que já fazem 30 dias. Mas encontrei pelo google esse post e não vou deixar de responder pois há vários players que não sabem como resolver. Vai no config.lua e modifica "maxPacketsPerSecond = 25" para mais pacotes por segundos.
  10. Gostei
    Muito bom,
    melhor post de ot global do forúm.
  11. Gostei
    Global 11/12x [v32]
     

     
     
    - New Falcons
    - New Asuras
    - Warzone 4,5,6
    - Exercise Training
    - Raids 100%
    - Monstros 100%
    - Trainer Offline 100%
    - Trainer Online 100%
    - Taming system funcionando 100%;
    - Database completa
    - War System 100%
    - Global MAP Full
    - Store 100%
    - Imbuement
    - Prey System
    - Entre outros sistemas.
     
    Projeto no: GITHUB

    Scan Vírus Total
     
    IMAGES
     
    Créditos:
     
     











  12. Gostei
    koete recebeu reputação de axebruno em [WEBSITE] ERROR!   
    Cara você disse que trocou mas estou vendo que ainda está 80
    #Listen 12.34.56.78:80
    Listen 80
     
    ServerName localhost:80
     
    mude os 80 para 8090
  13. Gostei
    koete recebeu reputação de axebruno em [WEBSITE] ERROR!   
    Passo 1,  cria o ip no duc  devastation.servegame.com.
    Passo 2, Desbloqueie as portas 7171, 7172, 433, 80, 8090, 8080, 4499. no roteador e no firewall.
    passo 3, mude o xampp para funcionar com 8090, 4499. 
    passo 4, abre o no-ip, verifica se esta la o ip devastation.servegame.com.
    Passo 5, com o no-ip aberto abra o xampp e da start no apache e no mysql.
    passo 6, acesse o site do jogo dessa forma, localhost:8090, para acessar sua database entre http://localhost:8090/phpmyadmin/
    passo 7, se o passo 6 funcionar acesse. devastation.servegame.com:8090
    OBS: faça isso tudo sem logar o server, se funcionar testa com o server online.
  14. Gostei
    koete recebeu reputação de xWhiteWolf em No - logout em treiners.   
    Tenho uma ideia melhor cara, porque ao invés de fazer um script. você não vai no map edito e edita isso? sabe aquela cor verde que você coloca área pz? então área de non-logout é amarela. só pintar la de amarelo onde você não quer que o player deslogue. 
  15. Gostei
    koete recebeu reputação de zPerseu em Script Transformar ERRO   
    Acho que die bobeira, mude a parte  if getPlayerStorageValue(cid, 89745) >= 0 then  para  if getPlayerStorageValue(cid, 89745) == -1 then
  16. Gostei
    koete recebeu reputação de zPerseu em Script Transformar ERRO   
    quando coloco formato php ele muda alguns símbolos desculpe copie e cole esse de baixo aqui.
     
     
     
    doPlayerSay(cid, "transformar")
    local voc = config[getPlayerVocation(cid)]
    if getPlayerStorageValue(cid, 89745) >= 0 then
    if voc then
    if getPlayerLevel(cid) >= voc[1] then
    doPlayerSetVocation(cid, voc[2])
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você Transformou!")
    local outfit = {lookType = voc[3]}
    doCreatureChangeOutfit(cid, outfit)
    doSendMagicEffect(getCreaturePosition(cid), voc[4])
    else
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você precisa estar no level " .. voc[1] .. " para transformar.")
    end
    else
    doPlayerSendCancel(cid, "Você não pode se Transformar!")
    end
    return false
    end
    return true
    end
  17. Gostei
    koete recebeu reputação de zPerseu em Script Transformar ERRO   
    então cara, como eu disse antes não tem a vocação akatsuki no seu ot. O que esta acontecendo é que os players da akatsuki ganham uma storage   setPlayerStorageValue(cid,89745,6) . quando você da look ele checa essa storage e se tiver ela ele retorna dizendo que o player é da akatsuki. justamente para o player continuar dando transform. Porém como você não quer que ele dê mais transform o jeito é você criar novas classes para akatsuki.
     
     
    ou você pode acrescentar isso nessa parte do script
    acrescentei para checar se o jogador é akatsuki com 
    if getPlayerStorageValue(cid, 89745) >= 0 then
    se for akatsuki ele vai dar return false e não vai transformar. Testa e me fala.
     
     
     
  18. Gostei
    koete deu reputação a KotZletY em Problemas com TalkAction   
    Ahm ? Sério ? Os Admin's geralmente são gruop id 6. Veja na TalkAtions os comandos e veja qual é o maior group id que tem, que com certeza vai ser maior que 3. 
    Ou então, vá em data/xml e abra o arquivo group.xml  e veja qual é o group id dos Admin's. 
  19. Gostei
    koete deu reputação a Bodak Reborn em so poder usar item em cima de X piso   
    local pos = {x = 1503, y = 1504, z = 7} if getTopCreature(pos).uid > 0 then  
  20. Gostei
    koete recebeu reputação de Careless em WEBSITE ONLINE COM IP DO OT   
    Na maioria das vezes os outros jogadores não conseguem entrar pela porta 80. tendo então que modificar a porta para 8090 no xampp. Foi esse o motivo de ter falado  para ja abrir a porta. mas obrigado por complementar a resposta.
  21. Gostei
    koete deu reputação a Bodak Reborn em GlobalStorageValue [Hunt um de cada vez]   
    A função em si não foi eu quem fez, não recordo o nome do criador, mas realmente é bem útil. (:
     
    Olha, tem uma função que eu usei em outro tópico (o nome do criador está no final do meu post) que remove os monstros na área X.
    Eu fiz um globalevents, ou seja, é por tempo. Você pode fazer para verificar se tem X monstro na área a partir dela.
    De novo, estou meio sem tempo, então só passarei o link do post.
     
     
    Boa sorte.
  22. Gostei
    koete deu reputação a Bodak Reborn em GlobalStorageValue [Hunt um de cada vez]   
    Eu estou um pouco sem tempo agora, eu faria exemplos e tal.
     
    Enfim, faça como eu fiz no movements:

     
    É só remover a verificação se o player tem X storage (que era para saber se ele tinha usado o item), pois seu sistema é por NPC.
    Acho que não terá muitas dificuldades, por ser scripter.
     
    A função verifica se tem algum jogador na área, caso não tiver, teleporta para a área. Se tiver, o jogador é teleportado para o tile anterior e não poderá entrar.
    Você poderia usar o os.time() para fazer seu script, mas caso alguém morresse lá dentro, ninguém ia poder entrar até acabar o tempo.
     
    Reforçando o que eu disse no tópico: o teleport é sem coordenadas, você dá coordenadas para o tile no qual ele fica em cima, pelo script.
     
    Boa sorte.
  23. Gostei
    koete deu reputação a Bodak Reborn em [Problemas com o "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 if (msgcontains(msg, 'sim')) or (msgcontains(msg, 'yes')) then selfSay('A primeira pergunta é: primeira pergunta?', cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'primeira')) and talkState[talkUser] == 1 then selfSay('Muito bem, essa foi facil. Vamos para a segunda pergunta: segunda pergunta?', cid) talkState[talkUser] = 2 elseif (msgcontains(msg, 'segunda')) and talkState[talkUser] == 2 then selfSay('Muito bem, essa foi relativamente facil. Vamos para a terceira pergunta: Terceira pergunta?', cid) talkState[talkUser] = 3 elseif (msgcontains(msg, 'terceira')) and talkState[talkUser] == 3 then selfSay('Muito bem, essa foi facil. Vamos para a segunda pergunta: fim', cid) talkState[talkUser] = 4 else selfSay('Resposta errada, você está bom o suficiente.', cid) doTeleportThing(cid, {x= 377, y= 183, z= 6}) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
  24. Gostei
    koete deu reputação a GabrielSapient em Launcher AutoUpdate C#   
    Galera sempre procurei um Launcher AutoUpdate para meu servidor, depois de muita pesquisa e pouco conhecimento consegui fazer um em C#, está ai:
     

     
    1. Download:
     
     
    • Download | • Scan

    2. Oque ele faz:
     
     
    • Verifica a existência da versão local na pasta do cliente;   • Se a versão do arquivo não existir, ele assume que a versão é "1.0" e cria um arquivo de versão;   • Verifica arquivo .xml no servidor de atualização;   • Baixar atualizações para todas as versões maiores do que a versão atual do cliente (atualiza tudo em apenas formato de arquivo .zip);   • Extrai os arquivos .zip;   • Exclui os arquivos .zip após a extração;   • Arquiva a versão atualizada na pasta do cliente;   • E, finalmente, desbloqueia o botão "Start Game".     3. Como editar:     • Abra o arquivo .sln na pasta "VS Project" com o Visual Studio:   Procure por: string Server = "http://127.0.0.1/Updates/"; • Altere o http://127.0.0.1/Updates/ para qualquer URL que você estará hospedando suas atualizações.
        • Agora vamos procurar por:   Process.Start("OTClient PkR DX9.exe", "\\Pokémon Rusty"); • Modifique o OTClient PkR DX9.exe pelo nome do .exe do seu Client.
     
    • \\Pokémon Rusty e a pasta que está seu .exe e vai ficar seu Launcher. (troque sem tirar os "\\")
     

      • No Visual Studio, selecione o controle WebBrowser(Neste caso, o nome "patchNotes") e alterar a url do "http://127.0.0.1/"para o caminho do arquivo index.html, na pasta do host:       OBS: Isto á opcional, é apenas um template em .html. Você pode remove-lo e editar da maneira deseja.       • Agora apenas jogue o .exe, .dll e o arquivo version da pasta "Launcher\VS Project\Launcher v2\bin\Debug ou Release" para a pasta de seu Client:       Pronto! Agora e com o Site.     • No host do site, apos colarmos a pasta Updates, editamos o arquivo Updates.xml, para cada atualização adicionamos um <update> fechamos com </update> como no exemplo do arquivo. Colocamos o arquivo atualização em .zip nessa mesma pasta, editando a versão e o nome no arquivo:   • No arquivo version.txt colocamos a versão da nova atualização:   • Uma dica para o .zip de atualização é colocar em pastas o caminho no client desejado a fazer update. Exemplo: data/things/854 nesta pasta colocaremos os arquivos que será substituído, no exemplo foi Tibia.spr e .dat. Depois compactamos e deixamos na pasta Updates, sem esquecer de colocar o nome no arquivo Updates.xml.   4. Dica   • Pronto! Agora e só criar um instalador com o launcher, com atalho na área de trabalho (o launcher é o .exe que você colocou no client). Você pode modificar o launcher do jeito que quiser, o arquivo index.html e etc. Quando abrir o arquivo ele irá atualizar, liberar o botão "Start Game", e quando você clicar vai fechar o Launcher e abrir o Client.     5. Créditos     Eu - Pelo launcher e pelo tutorial.
  25. Gostei
    koete deu reputação a Cellu em Gesior (8.50)   
    Aqui meu parceiro! https://github.com/gesior/Gesior2012/tree/TFS-0.2.13+

Informação Importante

Confirmação de Termo