Ir para conteúdo

eduardo190696

Visconde
  • Total de itens

    474
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Tudo que eduardo190696 postou

  1. sim eu sei, mais vai chegar um hora que vocês não poderão mais seguir em frente pois terão sistemas que usarão as soucer então não vejo muito futuro em tudo isso, SIM eu admiro tudo que fizeram no ot, só acho que ao invez de fica editando um ot sem soucer poderiam pensar na possibilidade de criar um ot com soucer do 0, vocês que ja são bem familiarizados com os códigos não teriam grandes dificuldades em criar algo parecido. @Edit, Sem contar que a grande maioria dos scripts são em lua, ou seja só copiar e colar em outro ot e tirar os sistemas que usam soucer e começar a pensar em como refaze-los.
  2. Vou estar reportando esse erro e ve se tenho respostas. E porque diabos vocês ainda se empenham tanto em usar esse server como base, sem soucer não tem como ir muito longe.
  3. Galera acabei de descobrir que esse erro de gm aconteçe porque o otclient esta com problemas de identificar o group id, ou seja, você loga no seu ot mais o otclient n sabe se você é um player ou não e por isso buga tudo, infelizmente ainda não achei solução mais deve ocorrer por algo mau programado. Então até que alguém re-programe o otclient e arrume esse erro não há nada que possamos fazer. A não ser que crie uma outra classe de player que seriam os God's e os talkactions só para aquelas vocações, seria uma solução temporária.
  4. zeref, pode me mandar o código disso que você fez pra eu dar uma melhorada ? '-' fico meio zuado.
  5. @Slice ja tento usar essa versão ? https://github.com/edubart/otclient/downloads
  6. bom, galera eu ja mexi um pouco com otclient e posso tentar ajudar em algumas coisas, e porque não fazer as bar para o proprio ot client ? esses erros de tela preta deve ser da nova versão porque quando usei n tinha isso. Dica : porque não fazer um sistema de pontos pros pokemons ? quando o pokemon upa level o player ganha 5 storage, ai a cada vez que ele fala "!Add Off" ou "!Add Def" consome 1 storage e adiciona uma quantidade de skill de defesa ou ataque pro pokemon.
  7. Desculpe n tinha visto, mais acho que você postou na área errada, e como n tinha nem um script igual a esse aqui nessa área...
  8. LEMBRANDO que esse sera o fly de todos os dragões depois de sair do fly eles volta as formas normais Acha que fica combinando ? Fly > Sem fly > @Edit Ou esse fly > Não repara na cor que fiz rapidinho e não pintei direito e nem adicionei o boneco
  9. te amor s2, e é um bom script, parabéns AO CRIADOR.
  10. concordo com peter2012, Baiak não rusha, n tem como fazer sucesso com um map desse.
  11. Esse Script foi completamente copiado de um membro da ot land O arco, ao ser usado (right click on it), paraliza seu alvo. não se preocupou nem em fazer uma boa tradução. Por favor adicione os créditos ou irei reporta-lo.
  12. to usando de summon que eu fiz e queria criar essas frutinhas da força para dar uma animada maior nos player e melhorar um pouco a jogabilidade com os summons entende ? e eu não consegui entender a sua ideia.
  13. sim, mais e se você precisa sair e não pode deixar o char com bot ?
  14. Treinamento offline, com barra no jogo - Mostra o tempo que tem na barra de skill [tibia 9.6] - Pode configurar as rates - Usa vocation.xml para configurar: - Calcula o ml [ o quanto o food aumenta da mana ] - Calcula club/axe/sword/distance velocidade ganha [ attackspeed da vocação ] Código testado em TFS 0,4, 9,6 (um dos mais recentes revisões). Scripts Lua deve ser usado nas versões TFSes (0.3.6 - 0,4), Mais apenas na versão 9.6 que mostra o quanto tempo tem de treino, e tem as estatuas que se da "use" para treinar off. Como se calcular skills / mlvl? - Sword, axe, club, distance: ele usa multiplicador de config.lua, ele verificação attackSpeed ??da vocação jogador e 'atacar' o mais rápido que puder - Shield: ele usa multiplicador de config.lua, ele adiciona um 'hit' por um segundo offline [como quando você treina com 2 Monks] - magic Level: ele usa multiplicador de config.lua, acrescenta tanto 'mana gasto' [nível mag] como jogador poderia regenerar se ele comer alguma comida No início do 'lib' você tem as configuração básica, aqui você pode reduzir / aumentar a habilidade / mlvl, 100 = 100% do normal [descrita acima]: Lua Code: -- config, in percent of normal training with 2 trainers and player vocation mana regeneration [by food] OfflineTraining_rates = { [sKILL_CLUB] = 100, [sKILL_SWORD] = 100, [sKILL_AXE] = 100, [sKILL_DISTANCE] = 100, [sKILL_SHIELD] = 100, [sKILL__MAGLEVEL] = 100 } (abaixo de config são as funções que podem ser modificadas para se você quiser fazê-lo iniciar com outra ação, em seguida, "clique na estátua", exemplo: só começar o treinamento off o player se o player logou em alguma área) Primeiro LUA scripts: ../data/lib/103-offline-training.lua -- config, in percent of normal training with 2 trainers and player vocation mana regeneration [by food] OfflineTraining_rates = { [sKILL_CLUB] = 100, [sKILL_SWORD] = 100, [sKILL_AXE] = 100, [sKILL_DISTANCE] = 100, [sKILL_SHIELD] = 100, [sKILL__MAGLEVEL] = 100 } -- function that you should edit to make it add other skill etc. function OfflineTraining_canStartTraining(cid) -- return bool return getCreatureStorage(cid, 62669) > 0 end function OfflineTraining_onStartTraining(cid) -- maybe someone will need -- to save your time, this: doPlayerPopupFYI(cid, "You started offline training.") -- NOT WORK end function OfflineTraining_onEndTraining(cid) doCreatureSetStorage(cid, 62669, 0) end function OfflineTraining_addTrainedSkills(cid, trainTime) -- time in minutes! local timeInSeconds = trainTime * 60 local vocInfo = getVocationInfo(getPlayerVocation(cid)) if(getCreatureStorage(cid, 62669) == SKILL_SWORD) then doPlayerAddSkillTry(cid, SKILL_SWORD, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[sKILL_SWORD] / 100, true) elseif(getCreatureStorage(cid, 62669) == SKILL_AXE) then doPlayerAddSkillTry(cid, SKILL_AXE, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[sKILL_AXE] / 100, true) elseif(getCreatureStorage(cid, 62669) == SKILL__MAGLEVEL) then doPlayerAddSpentMana(cid, ((timeInSeconds / vocInfo["manaGainTicks"]) * vocInfo["manaGain"]) * OfflineTraining_rates[sKILL__MAGLEVEL] / 100, true) elseif(getCreatureStorage(cid, 62669) == SKILL_CLUB) then doPlayerAddSkillTry(cid, SKILL_CLUB, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[sKILL_CLUB] / 100, true) elseif(getCreatureStorage(cid, 62669) == SKILL_DISTANCE) then doPlayerAddSkillTry(cid, SKILL_DISTANCE, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[sKILL_DISTANCE] / 100, true) end doPlayerAddSkillTry(cid, SKILL_SHIELD, timeInSeconds * OfflineTraining_rates[sKILL_SHIELD] / 100, true) end -- 4 functions to show right values on 'bar' in Tibia 9.6 function OfflineTraining_getTime(cid) return getCreatureStorage(cid, 62666) end function OfflineTraining_setTime(cid, newTime) -- set values only between 0 - 720 [12 hours] doCreatureSetStorage(cid, 62666, math.max(0, math.min(newTime, 720))) -- now code to force server to send 'PlayerStats' (including Offline Time) -- we must change any stat: hp,mana,stamina,cap,soul,exp,level doPlayerAddSoul(cid, 1) doPlayerAddSoul(cid, -1) end function OfflineTraining_addTime(cid, addTime) OfflineTraining_setTime(cid, OfflineTraining_getTime(cid) + addTime) end function OfflineTraining_removeTime(cid, removeTime) OfflineTraining_setTime(cid, OfflineTraining_getTime(cid) - removeTime) end -- functions for library to add skills/mlvl function OfflineTraining_initialize(cid) if(OfflineTraining_getTime(cid) == -1) then OfflineTraining_setTime(cid, 720) OfflineTraining_setLogoutTime(cid) -- block problem with first login 'add time' end end function OfflineTraining_isTraining(cid) return (getCreatureStorage(cid, 62667) > 0) end function OfflineTraining_turnOnTraining(cid) doCreatureSetStorage(cid, 62667, 1) end function OfflineTraining_turnOffTraining(cid) doCreatureSetStorage(cid, 62667, 0) end function OfflineTraining_getOfflineTime(cid) return math.floor((os.time() - getCreatureStorage(cid, 62668)) / 60) end function OfflineTraining_setLogoutTime(cid) return doCreatureSetStorage(cid, 62668, os.time()) end ../data/actions/actions.xml XML Code: <action itemid="18492" script="offtrain_statue.lua"/> <action itemid="18491" script="offtrain_statue.lua"/> <action itemid="18490" script="offtrain_statue.lua"/> <action itemid="18489" script="offtrain_statue.lua"/> <action itemid="18488" script="offtrain_statue.lua"/> ../data/actions/scripts/offtrain_statue.lua -- example 'action' when you click on statue: function onUse(cid, item, fromPosition, itemEx, toPosition) if(item.itemid == 18488) then -- sword doCreatureSetStorage(cid, 62669, SKILL_SWORD) elseif(item.itemid == 18489) then -- axe doCreatureSetStorage(cid, 62669, SKILL_AXE) elseif(item.itemid == 18492) then -- mlvl doCreatureSetStorage(cid, 62669, SKILL__MAGLEVEL) elseif(item.itemid == 18490) then -- club doCreatureSetStorage(cid, 62669, SKILL_CLUB) elseif(item.itemid == 18491) then -- distannce doCreatureSetStorage(cid, 62669, SKILL_DISTANCE) end -- we remove player, so it will execute onLogout(cid) function and save time of training start doRemoveCreature(cid) end ../data/creaturescripts/creaturescripts.xml XML Code: <event type="login" name="offtrain_PlayerLogin" event="script" value="offtrain_login.lua"/> <event type="logout" name="offtrain_PlayerLogout" event="script" value="offtrain_logout.lua"/> ../data/creaturescripts/scripts/offtrain_login.lua Lua Code: -- 0.4 - offline training - login.lua function onLogin(cid) OfflineTraining_initialize(cid) if(OfflineTraining_isTraining(cid)) then OfflineTraining_turnOffTraining(cid) -- we add skill/mlvl, we select lower value: time that player was offline OR offline training time [bar in game - 9.6] OfflineTraining_addTrainedSkills(cid, math.min(OfflineTraining_getTime(cid), OfflineTraining_getOfflineTime(cid))) -- we remove offline training time [bar in game - 9.6], -- if player was offline longer then his 'offline training time' it will add him time [like on RL tibia] -- got '3 hours offline training time', stay logged off for 8 hours, you get skills for 3 hours and on login you got '5 hours offline training time' OfflineTraining_setTime(cid, math.abs(OfflineTraining_getTime(cid) - OfflineTraining_getOfflineTime(cid))) OfflineTraining_onEndTraining(cid) else -- offline training time also regenerate when you are offline, but NOT train OfflineTraining_setTime(cid, OfflineTraining_getTime(cid) + OfflineTraining_getOfflineTime(cid)) end return true end ../data/creaturescripts/scripts/offtrain_logout.lua Lua Code: -- 0.4 - offline training - logout.lua function onLogout(cid) if(OfflineTraining_canStartTraining(cid)) then OfflineTraining_turnOnTraining(cid) OfflineTraining_onStartTraining(cid) end OfflineTraining_setLogoutTime(cid) return true end ../data/globalevents/globalevents.xml XML Code: <globalevent name="offtrain_add_minutes" interval="60000" event="script" value="offtrain_addMinutes.lua"/> Se você usa o TFS antigo troque os interval 60000 para 60 [60 seconds]. ../data/globalevents/scripts/offtrain_addMinutes.lua Lua Code: function onThink(interval) -- run it with interval 60 seconds for _, cid in pairs(getPlayersOnline()) do OfflineTraining_addTime(cid, 1) end return true end C++ code for TFS 0.4, 9.6 Versão para mostrar o time left 'bar' no client. Em protocolgame.cpp Procure por: msg->put<uint16_t>(720);[/code E Troque por isso [code] // offline training minutes std::string strValue; if(!player->getStorage("62666", strValue)) { // no storage msg->put<uint16_t>(0); } else { msg->put<uint16_t>((uint16_t) atoi(strValue.c_str())); } Ela vai mostrar o valor de armazenamento '62666 'no' bar '. 0 = 0:00, 12:00 720 = [12 horas, Full] - tempo em minutos. SCRIPT FEITO POR Gesior.pl E RETIRADO DO FÓRUM OTLAND. @Edit Tenho lido boatos que pega em ot 8.6 só que não pode adicionar a parte do bar, não testei
  15. Carai, o que ta havendo com o Xtibia ? Tantos usuários sendo banidos, vish é o fim será que vou ser banido tb D; ? Xtibia falindo e não param de banir gente que estava aqui para ajudar Nuss...
  16. Ui, é Realmente muita coisa, mais vai fazendo, um dia você termina ( Ou não ) mais espero que consigo termina
  17. Depois de algumas tentativas saio esse bichinho V2 Se alguém quiser pintar pra mim eu agradeço ainda não aprendi a pintar
  18. Caramba amigo ficou bem estranho você desenhou ?, porque não tenta re-crialas na perspectiva do tibia ? acho que ficaria melhor para um ot server.
  19. Sim, eu sou o SuggestName. (Meu nome in game) OBS: Sou iniciante em Sprites, e eu só sei fazer o bicho parado. OBS²: Não estou atras de vagas na equipe e nem nada do gênero, Minha intenção é só dar uma ajudinha e você finalizar as sprites. OBS³: A Maioria das sprites foram pintadas por um amigo(@DragonTheory), Fora isso todo o resto foi feito por mim Digimon Sprites. Pyokomon: 1° Digimon feito por mim Koromon: 2° Digimon feito por mim Betamon: 3° Digimon feito por mim Drimogemon: 4° Digimon feito por mim ( Nova Versão 11/10 ) Pokemon Sprites Bulbasaur: 1° pokemon feito por mim V2 Magmar: 2° Pokemon feito por mim Magmar V.5 Versões anteriores do Magmar.
  20. ele quer que quando os player entrem no ot server apareça aquelas mensagens com fotos dizendo como faz para abrir uma bau essas coisas. igual nesse exemplo Cogames, use a função doPlayerSendTutorial(cid, id) só que em um moviment, ai quando o player passar por cima do tile abrira essas telinhas.
  21. Procure essa parte -------- HEADBUTT ----------- if item2.itemid == 4006 and getPokemonLevel(mysum) >= 15 then --alterado v1.6 --id do item arvore normal doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1) addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid))) return true end e deixe assim -------- HEADBUTT ----------- local itens = { [2160] = {count = 1, arvore = 4006 }, [2162] = {count = 1, arvore = 4006 } } for i,x in pairs(itens) do if item2.itemid == x.arvore and getPokemonLevel(mysum) >= 15 then --alterado v1.6 --id do item arvore normal doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1) addEvent(goThere, 500, mysum, topos, "headbutt", doPlayerAddItem(cid, i, x.count) end return true end Explicando: você só tem que adicionar uma nova linha em baixo da ultima [iD DA FRUTA] = {count = QUANTIDADE DE FRUTAS, arvore = ID DA ARVORE }, não se esqueça que a ultima linha da tabela não tem virgula e todas as outras tem. [2160] = {count = 1, arvore = 4006 }, [2160] = {count = 1, arvore = 4006 }, [2160] = {count = 1, arvore = 4006 }
  22. @Brun123, creio que você tenha errado, assim o summon não ganha a xp, mais o player ganha a xp só pela metade ou seja se um bixo da 100 de xp o player ganha 50 se o summon atacar tb. e sem contar que mesmo sem o summon atacar o player só ganha metade da xp.
  23. Poste o script para que eu possa resolver seu problema porfavor.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...