Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 10/17/16 em todas áreas

  1. RESULTADO Olá caros amigos, após uma semana, analisamos as apresentações dos projetos e os votos. Não foi como esperávamos, os projetos estavam em total parte mais preocupados com a impressão das pessoas referente ao que já está pronto e não houve muita ênfase no principal, que era o desenvolvimento. Apesar disso, algumas apresentações chamaram muita atenção de membros. Sabemos que esta é a primeira edição e nas próximas haverá mudanças positivas, para trazer à comunidade apresentações cada vez melhores. Senti que muitos projetos não leram as recomendações publicadas dias antes do prazo para envio das apresentações, o que resultou, não só por este motivo em particular, no banimento de um membro da comunidade e na remoção de seu patrocínio. Gostaria de deixar claro que este membro quebrou várias normas do evento e infringiu pelo menos 3 regras importantes da nossa comunidade, uma delas é referente à ripping. Portanto, peço que dispensem acusações ao fórum, até porque esse mesmo membro tirou horas do seu dia para burlar a votação da maratona e criar provas fakes para atrapalhar os outros projetos, ou seja, não tem moral pra reclamar do evento. Isto serviu de exemplo para nós e para os próximos projetos que vierem a adquirir o nosso patrocínio. Pois pudemos enxergar de modo geral, através da maratona, a maturidade destes integrantes. O que foi avaliado? • Texto • Mídias • Impressão ao público • Presença administrativa (gerar e atender comentários de membros) • Contribuição O projeto vencedor da maratona é Pokemon Global, por @Tony Araujo, com a seguinte premiação: 150 Otservlists.com Coins 150 Xtibia Coins 30 Pontos de Reputação, distribuídos entre os integrantes do time. Em segundo lugar, Pokemon Light, por @Drazyn, com a seguinte premiação: 75 Otservlists.com Coins 75 Xtibia Coins 20 Pontos de reputação, distribuídos entre os integrantes do time. Não faremos 3º lugar devido ao número de participantes. Esperávamos 7 projetos, 2 foram desclassificados por inatividade e 1 desclassificado por infringir regras. (Entrar em contato para retirar os prêmios) Agradecemos a participação de todos os projetos e aos membros que colaboraram comentando e divulgando o evento, esperamos que a próxima edição seja melhor ainda! Comente abaixo.
    3 pontos
  2. Bruno

    Servidor Completo 10.90

    Galera, Há muito tempo eu havia sumido do mundo de tibia e otserv devido a vida profissional ter tomado muito de meu tempo. Durante este tempo que fiquei por aqui trabalhei em um projeto em cima do servidor opensource que eu mantinha (Vanaheim) e fiz uma versão onde tirei todas as missions e implementei alguns sistemas e paguei um desenvolvedor para fazer outros. Alguns sistemas: - Reward Chest - Equip Hotkey - Blessings - Citywars (War Antientrosa) - Tibia Store Acho um desperdício isto estar como conteúdo privado então vou disponibilizar na comunidade todo o conteúdo. Mapa global completo com sistemas integrados e Dawnport: https://github.com/brunominervino/Lucera Repositório com sistemas separados: https://github.com/brunominervino/tfs_systems Creio que não precise de scan pois os projetos estão no Github. OBS: Não atenderei nenhum pedido de suporte, até porque não tenho tempo, minha intenção é que alguém dê seguimento
    2 pontos
  3. drigobo

    [Show Off] Galeria Drigobo

    Olá XTibianos Com tanta gente trazendo projetos incríveis e muita movimentação por aqui, mas do que um tempo atrás rs Eu me sentir inspirado e voltei a fazer uns rabiscos e experimentos com o que temos hoje no Tibia, eis os resultados Bases em progresso: Remake da base do humano Remake da base do Anão Atualização 17/10: Modelo base das raças mais conhecidas v2 Atualização 02/11: Tô sem tempo para terminar as coisas por aqui, mas deixo o remake do orc só para não ficar parado Ambientes em teste: Carvão Prata Teste para grama alta Esse piso padrão em todos as sprites é uma grama que fiz para substituir a grama do Tibia, nele coloquei essa grama alta para tentar entender como enriquecer o ambiente sem poluir com muitas coisas, mas que seja mais natural sem precisar deixar o mapa vazio igual vejo em todo lugar onde tem a grama, arvore, moita e às vezes um detalhe no chão que é grande demais.. Sobre os detalhes no mapa, vejam essa imagem por exemplo, eu acredito que dá para deixar o piso de grama bem mais rico É isso aí por hoje, resolvi criar esse show off para mostrar um pouco para o pessoal que tem me perguntando sobre meu trabalho, pretendo manter atualizado, tudo que postei aqui foi criado essa semana Sou "deboísta", aceito todo tipo de critica, de certa forma até as que não parece, ajudam bastante, então deem suas opiniões e dicas, até mesmo de como detalhar o mapa sem ter que criar os "detalhes" que existem no tipo flores, etc.. mas que são grandes demais
    2 pontos
  4. rohfagundes

    [Show Off] Npc Window

    uhum eu ainda vou mudar isso mas vlw edit: ate pq eu tenho q ver como vai ficar em todas as vocaçoes
    2 pontos
  5. Luga03

    [Download] Pokémon Light (Com level)

    Contribuição do PokéLight Pessoal, essa é uma old version do servidor PokéLight. Comparada a versão atual ela está bem ruim, mas comparada a 90% dos outros OTs ela está perfeita haha. Está não é uma base que você baixa e deixa online, como ela está meio old, não tem certas configurações como o XML não estão 100% corretos (spells, loot, etc), está faltando spells, as tabelas de pokémon não estão prontas e muitas outras coisas.... Lembrando, está versão TEM level system no pokémon! Sistemas Mapa O mapa não foi liberado ainda, mas possivelmente iremos liberar ele mais para frente. Sprites Nenhuma das sprites exclusivas do PLight será liberada pela equipe. Imagens Downloads: Server e Source: https://mega.nz/#!e9FWkbLR!y3khwXsA3BFzCDFIyVK-lVQEQTdOgLXarieXYEFupDM Client: https://mega.nz/#!P8tzBZST!2KsMzr5jdRVMdcXako2p85uu6-skTfsU_WguECwUR8k Estou sem tempo para fazer scan, caso alguém possa fazer para min, agradeço Links Extras:
    1 ponto
  6. Drakopoulos

    World of Piece v2 Completo

    Olá galerinha... bom, tinha editado o client do World of Piece removendo o bloqueio de login da source e módulos do mesmo só que o servidor estava utilizando uma distro antiga compilada, então compilei a atual refazendo tudo novamente e algumas outras coisas na source do servidor que impedia a comunicação entre servidor/client. O que foi modificado? Alguns módulos editados que bloqueava o login. Vários protocolos na source de ambos editados que bloqueava o login. Removido a proteção das sprites na source do client, está funcionando com as sprites desbloqueadas agora. Download Server - MEGA Server Source - MEGA Client - MEGA Client Source - MEGA Scans Server Server Source Client Client Source Imagens Obs. Ele funciona tanto em sqlite quanto em mysql mas recomendo utilizar mysql para funcionar tudo corretamente. Conta god/god. Servidor e client 100% sem erros e creio que não tenha bugs pois o mesmo já esteve online. Créditos World Of Piece Team Green Animal Pak Drakopoulos
    1 ponto
  7. Olá, venho trazer a todos uma versão do Gesior que andei trabalhando, não sou programador, nem web designer, apenas faço servidores, e curto modificar os layouts dos meus sites. Sendo assim estarei disponibilizando essa versão de website do meu último Otserv. Ele é baseado no Gesior2012 para a versão 8.60, com algumas mudanças no Layout, como no Menu, fontes, e efeitos, e conta com um shop diferenciado. Estarei colocando uma DB, que uso também, totalmente completa para o mesmo. Para quem gosta de um Layout Gesior diferente, está ai ! Espero que gostem !! Prints: Downloads: Gesior Completo DB Completa Créditos: Gesior.pl Felipe Monteiro Natanael Beckman Absolute Eliton Clayton
    1 ponto
  8. Luga03

    Programas utilizados no PokéLight

    Olá ekz tibianos, tranquilo? Eu vim mostrar uma lista de programas utilizados pelos desenvolvedores do PokéLight! Lua Auto Indent Descrição: Com este programa você pode identar seus códigos com apenas 1 clique! Download: LuaAutoIndent.rar Scan Remere's Map Editor Descrição: Editar mapa do servidor com client estendido e com transparência. Download: Remere's Map Editor.rar Scan Stian's Repack Dev-Cpp Descrição: IDE para compilar servidores como o PokéLight e outros. Download: Stian's Repack Dev-Cpp.rar Scan Deve instalar junto no Dev o OpenSSL: openssl-0.9.8-1cm.rar Pessoal, com mais tempo eu posto outros que nós utilizando... Valeu ae e espero que façam bom uso! Observação, Os créditos são exclusivamente dos seus desenvolvedores, colaboradores e outras pessoas. Segunda observação, Os vírus encontrados são inofensivos, então baixe por conta própria. openssl-0.9.8-1cm.rar LuaAutoIndent.rar Remere's Map Editor.rar
    1 ponto
  9. Eae XTibianos, hoje venho liberar à vocês a base PDA By Bolz, que tinha achado aqui no meu PC, com uns pokémons e tal... Bom, então aqui vai as informações: Menu: ├ Informações; ├ Erros/bugs; ├ Sistemas básicos; ├ Prints; ├ Download; └ Creditos. - Informações Básicas - - Prints do Servidor - http://imgur.com/a/FKu3y - Erros/Bugs - - Sistemas básicos - - Downloads - Servidor + Client (Google Drive): Scan: - Creditos - Eu - Bluester brun123 Bolz Slicer AnnaFeeh Drazyn Zipter98 Se tiver mais alguém, me avisem. Bom, é só isso, até a próxima.
    1 ponto
  10. zipter98

    Mega Evolution System (PxG)

    Base usada: PDA by Slicer, v1.9 Para quem não conhece o sistema de mega evoluções, recomendo acessar este link. A diferença é que a pedra (mega stone) não ocupa o espaço de um Held Item tier Y (visto que não são todos os servidores que possuem Held Itens). Instalação do sistema (atenção nos detalhes) data/lib: cooldown bar.lua: Troque o código da função getNewMoveTable(table, n) por este: function getNewMoveTable(table, n) if table == nil then return false end local moves = {table.move1, table.move2, table.move3, table.move4, table.move5, table.move6, table.move7, table.move8, table.move9, table.move10, table.move11, table.move12} local returnValue = moves if n then returnValue = moves[n] end return returnValueend No código da função doUpdateMoves(cid), troque o segundo: table.insert(ret, "n/n,") por: local mEvolveif not getCreatureName(summon):find("Mega") and getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") then if not isInArray(ret, "Mega Evolution,") then table.insert(ret, "Mega Evolution,") mEvolve = true endendif not mEvolve then table.insert(ret, "n/n,")end Depois, em pokemon moves.lua: Troque: min = getSpecialAttack(cid) * table.f * 0.1 --alterado v1.6 por: min = getSpecialAttack(cid) * (table and table.f or 0) * 0.1 --alterado v1.6 Código da spell: elseif spell == "Mega Evolution" then local effect = xxx --Efeito de mega evolução. if isSummon(cid) then local pid = getCreatureMaster(cid) if isPlayer(pid) then local ball = getPlayerSlotItem(pid, 8).uid if ball > 0 then local attr = getItemAttribute(ball, "megaStone") if attr and megaEvolutions[attr] then local oldPosition, oldLookdir, health_percent_lost = getThingPos(cid), getCreatureLookDir(cid), (getCreatureMaxHealth(cid) - getCreatureHealth(cid)) * 100 / getCreatureMaxHealth(cid) doItemSetAttribute(ball, "poke", megaEvolutions[attr][2]) doSendMagicEffect(getThingPos(cid), effect) doRemoveCreature(cid) doSummonMonster(pid, megaEvolutions[attr][2]) local newPoke = getCreatureSummons(pid)[1] doTeleportThing(newPoke, oldPosition, false) doCreatureSetLookDir(newPoke, oldLookdir) adjustStatus(newPoke, ball, true, false) doCreatureAddHealth(newPoke, -(health_percent_lost * getCreatureMaxHealth(newPoke) / 100)) if useKpdoDlls then addEvent(doUpdateMoves, 5, pid) end end end end end Depois, em configuration.lua: megaEvolutions = { --[itemid] = {"poke_name", "mega_evolution"}, [11638] = {"Charizard", "Mega Charizard X"}, [11639] = {"Charizard", "Mega Charizard Y"},} Agora, em data/actions/scripts, código da mega stone: function onUse(cid, item) local mEvolution, ball = megaEvolutions[item.itemid], getPlayerSlotItem(cid, 8).uid if not mEvolution then return doPlayerSendCancel(cid, "Sorry, this isn't a mega stone.") elseif ball < 1 then return doPlayerSendCancel(cid, "Put a pokeball in the pokeball slot.") elseif #getCreatureSummons(cid) > 0 then return doPlayerSendCancel(cid, "Return your pokemon.") elseif getItemAttribute(ball, "poke") ~= mEvolution[1] then return doPlayerSendCancel(cid, "Put a pokeball with a(n) "..mEvolution[1].." in the pokeball slot.") elseif getItemAttribute(ball, "megaStone") then return doPlayerSendCancel(cid, "Your pokemon is already holding a mega stone.") end doItemSetAttribute(ball, "megaStone", item.itemid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Now your "..getItemAttribute(ball, "poke").." is holding a(n) "..getItemNameById(item.itemid)..".") doRemoveItem(item.uid) return trueend Depois, em goback.lua: Abaixo de: if not pokes[pokemon] then return trueend coloque: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end Depois, em data/creaturescripts/scripts, look.lua: Abaixo de: local boost = getItemAttribute(thing.uid, "boost") or 0 coloque: local extraInfo, megaStone = "", getItemAttribute(thing.uid, "megaStone")if megaStone then extraInfo = getItemNameById(megaStone) if pokename:find("Mega") then pokename = megaEvolutions[megaStone][1] endend Depois, acima do primeiro: doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str)) coloque: if extraInfo ~= "" then table.insert(str, "\nIt's holding a(n) "..extraInfo..".")end Já em data/talkactions/scripts, move1.lua: Abaixo de: function doAlertReady(cid, id, movename, n, cd) coloque: if movename == "Mega Evolution" then return true end Troque: if not move then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end por: if not move then local isMega = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") if not isMega or name:find("Mega") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local moveTable, index = getNewMoveTable(movestable[name]), 0 for i = 1, 12 do if not moveTable[i] then index = i break end end if tonumber(it) ~= index then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local needCds = true --Coloque false se o pokémon puder mega evoluir mesmo com spells em cooldown. if needCds then for i = 1, 12 do if getCD(getPlayerSlotItem(cid, 8).uid, "move"..i) > 0 then return doPlayerSendCancel(cid, "To mega evolve, all the spells of your pokemon need to be ready.") end end end move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0} end E troque: doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY) por: local spellMessage = msgs[math.random(#msgs)]..""..move.name.."!"if move.name == "Mega Evolution" then spellMessage = "Mega Evolve!"enddoCreatureSay(cid, getPokeName(mypoke)..", "..spellMessage, TALKTYPE_SAY) Se não quiser que o "Mega" apareça no nome do pokémon, vá em data/lib, level system.lua: Acima de: if getItemAttribute(item, "nick") then nick = getItemAttribute(item, "nick")end coloque: if nick:find("Mega") then nick = nick:match("Mega (.*)") if not pokes[nick] then nick = nick:explode(" ")[1] end end Caso queiram que cada mega evolução tenha um clã específico: Em move1.lua, acima de: move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0, f = 0, t = "?"} coloque: local megaEvoClans = { --[mega_stone_id] = "clan_name", [91912] = "Volcanic", [91913] = "Seavell", --etc,}if megaEvoClans[isMega] then if getPlayerClanName(cid) ~= megaEvoClans[isMega] then return doPlayerSendCancel(cid, "You can't mega evolve this pokemon.") endend Finalizando o tópico após uma pequena reestruturação na indexação, gostaria de levantar algo que acredito ser bem claro: o sistema é cheio de detalhes, muitas vezes minuciosos. Um simples erro e bugs aparecem por toda parte. Se você encontrou algum, pelo menos uma das duas seguintes condições acontecem: Base DIFERENTE da usada. Peço desculpas, mas não pretendo adaptar o sistema para todas as bases diferentes que aparecerem. Se a base for a mesma, você com certeza errou em algum ponto da instalação. O sistema foi testado inúmeras vezes, não apenas por mim, e seu funcionamento foi seguidamente comprovado. Façam bom uso, invocadores.
    1 ponto
  11. Amantezinho

    [Módulo] game_shop OTC

    Eaí galera, estive procurando e nunca achei um tutorial para instalar o Mod de Game Shop ou o Diamond Shop, muito usado nos Poketibias da vida; Afim de ajudar os que também procuram, aqui está o tutorial traduzido do Margoh: Como é que o game_shop funciona: Há apenas uma escolha de item por botão, se você quiser mais, faça você mesmo. A compra funciona por comandos, por exemplo (em shop.lua): Exemplo em addons.otui: Code: Como adicionar um novo botão? Copie e/ou edite todas as funções de exemplo: Troque este nome por ex. buyWizard, ficando: Abaixo da função mude: Para: Abaixo de addons.otui copie e cole o último botão e edit para o novo nome de sua função: Ficando: Siga o tutorial para todos os items do shop. Download: MEGA Créditos: Margoh
    1 ponto
  12. Micello

    OTUI tutorial básico

    Olá galera do XTibia, vim postar um Tutorial base de como funciona o OTUI do otclient... O OTUI pode ser feito em dois tipos de window.. o MINIwindow e o MAINwindow. Só conheço esses dois. bom o MAINWINDOW é um comando mais simples que o MINIWINDOW e mais pratico. e ele é feito geralmente dessa forma: MainWindow Id: !text tr('') size: 100 100 &save: true - id: É o id do MW, se tiver 2 por exemplo, é o id que vai diferenciar. - !text: tr('texto'): adiciona texto a janela que tiver essa linda. - size: largura e altura da janela <<nessa ordem não precisa usar size, pode-se usar também dessa forma. ___________________________ MainWindow Id: MenuTutorial !text tr('MenuTutorial') width: 100 height: 100 &save: true e você também pode colocar um icone para sua janela com: (coloque abaixo do id) -icon: imagens/topbuttons/icone e é só isso depois posto mais, sobre as funções e outros.
    1 ponto
  13. L3K0T

    Modern AAC nova cara (show off)

    Removido
    1 ponto
  14. drigobo

    [Show Off] Galeria Drigobo

    Obrigado, logo posto atualizações de um mesmo conjunto
    1 ponto
  15. Caro membro, seu tópico foi movido de Tutoriais Otserv > Otserv > Tutoriais de Scripting para Otserv > Suporte Otserv.
    1 ponto
  16. Yo, como vão? Vim mostrar um pouquinho do monumento que estou desenhando e construindo pouco à pouco, é o famoso lugar onde ocorriam os torneios de artes marciais, está sendo feito totalmente por min. Coloquei detalhes de sombra e tudo mais, NÃO ESTÁ TERMINADO, estou terminando, mas já está ganhando vida. Espero que gostem. Parte de cima da arena. Parte de baixo da arena.
    1 ponto
  17. como tinha te falado cara ta show *-* edit: n entendo direito sobre iluminação nessa perspectiva mas as sombras n estao erradas?
    1 ponto
  18. Hi im Mell

    Torneio -150 e +150

    Oi, eu fiz o Npc pra você. Espero ter ajudado, abaixo está os dois. NPC que entrará player menor que 150 ou no nível 150. NPC que entrará player maior que 150 ou no nível 150.
    1 ponto
  19. @Douglas V Recomendo que verifique seu config.lua na pasta do seu servidor, lá vai poder trocar a posição onde o Account Manager vai nascer, coloca uma posição válida para não dar esse erro. Sobre o erro que aparece no seu cmd, atualize sua database no seu MySql, essa provavelmente está bugada. Sobre salvar a posição do player, tenta ver se você não modificou o adicionou alguma tag ou até um script que interfira no Login.lua que fica no creaturescript. Espero que consiga arrumar tudo ao seus gostos, até mais.
    1 ponto
  20. A estava com este problema também, bem é bem simples de se resolver, primeiro você deverá saber a posição do templo ou algum lugar válido no mapa, depois você deverá ir no sqlite ou no phpmyadmin, em "players" procurar a posição do player no mapa (posx,posy,posz) depois editar para uma válida após isso será resolvido. Já a o negoço de salvar a posição do player tenta fazer o servidor da full server save, se der certo o mais rápido a fazer é implementar o comando !save pros players. Espero ter ajudado em algo.
    1 ponto
  21. Informações:[*] Tenho muito conhecimento sobre[*] O projeto ainda não tem um nome [*] Será focado no mais puro RPG [*] Comecei fazer á 3 dias e tenho muito tempo para me dedicar [*] Será feito na versão 8.6 com sprites no estilo TOP DOWN [*] Preciso de Scripter e Programador [*] Caso tenha interesse deixe seu comentário ou fale comigo no privado [*] Uma foto com 3 dias de desenvolvimento:
    1 ponto
  22. samlecter

    [Download] Pokémon Light (Com level)

    Vou citar só algumas coisas... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ADICIONAR POKEMONS Muito mais prático, não precisa configurar a mesma coisa em mais de um lugar, por exemplo: Se já foi colocado o ID do corpse do pokemon no xml com o nome do mesmo, não é necessário colocar o ID do Corpse na tabela de catch no "configuration.lua" Resumindo: Adicionei todos 151 pokemons da 1ª geração em 2 dias, e terminei de configura-los completamente em mais 2 dias e meio. OBS: Em nossa tabela de status, existem mais status como sp.defense e todos eles foram reconfigurados com os valores oficiais da pokedex de cada pokemon, essa é uma versão antiga, não lembro o quão está configurado os pokemons e algumas outras coisas, porém todos estão funcionando. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BASE/SCRIPTS TOTALMENTE LIMPOS Lembrando que a base começou do 0 a partir do TFS 0.4, apesar de não ter muita coisa além do básico, está totalmente limpa, sem erro na distro, server fica online em média de 10 segundos na distro atual com muito mais coisa, essa postada deve ligar mais rapido ainda... Códigos limpos, sem erros na distro, praticidade e rapidez imensa em adicionar e configurar novos pokemons, magias e outras coisas além de ser open source, só baixar e conferir...
    1 ponto
  23. Visitante

    Como edito Nomes das skills

    OLD pode ser que mude por HEX OTC é só ir em game_skills, se não me engano.
    1 ponto
  24. Apesar de ter feito este código faz um tempo, suponho que ainda esteja funcionando como deve. Para base PDA: data/creaturescripts/scripts, exp2.0.lua: Troque: if valor >= getCreatureHealth(cid) then if isInArray(cannotKill, combat) and isPlayer(cid) then valor = getCreatureHealth(cid) - 1 else valor = getCreatureHealth(cid) end end por: local config = { sturdy = { --Pokémons que possuem a habilidade Sturdy. Configuração: ["nome_do_pokemon"] = lookType, ["Aggron"] = lookType, }, cd = 30, --Cooldown da habilidade. duration = 8, --Duração, em segundos, do Sturdy. storage = 8402, } if getPlayerStorageValue(cid, config.storage) > -1 then return false end local hp = getCreatureHealth(cid) - valor if not isPlayer(cid) and hp <= 1 and config.sturdy[getCreatureName(cid)] then local b = true if isSummon(cid) then local ball = getPlayerSlotItem(getCreatureMaster(cid), 8) if ball and getCD(ball.uid, "sturdy") > 0 then b = false end end if b then if hp < 1 then doCreatureAddHealth(cid, hp < 0 and (hp * -1) + 1 or 1) end setPlayerStorageValue(cid, config.storage, 1) if isSummon(cid) then local ball = getPlayerSlotItem(getCreatureMaster(cid), 8) if ball then setCD(ball.uid, "sturdy", config.duration + config.cd) end end doSetCreatureOutfit(cid, {lookType = config.sturdy[getCreatureName(cid)]}, config.duration * 1000) addEvent(function() if isCreature(cid) and getPlayerStorageValue(cid, config.storage) > -1 then setPlayerStorageValue(cid, config.storage, -1) doCreatureAddHealth(cid, -getCreatureHealth(cid)) end end, config.duration * 1000) end end if valor >= getCreatureHealth(cid) then if isInArray(cannotKill, combat) and isPlayer(cid) then valor = getCreatureHealth(cid) - 1 else valor = getCreatureHealth(cid) end end data/lib, newStatusSyst.lua: Troque: doCreatureAddHealth(cid, -damage, 15, COLOR_BURN) por: if getPlayerStorageValue(cid, 8402) == -1 then doCreatureAddHealth(cid, -damage, 15, COLOR_BURN) end Troque: doCreatureAddHealth(cid, -dano, 8, COLOR_GRASS) por: if getPlayerStorageValue(cid, 8402) == -1 then doCreatureAddHealth(cid, -dano, 8, COLOR_GRASS) end Troque: doCreatureAddHealth(cid, -damage) doSendAnimatedText(getThingPos(cid), "-"..damage.."", 144) doSendMagicEffect(getThingPos(cid), 45) ------ local newlife = life - getCreatureHealth(cid) if newlife >= 1 and attacker ~= 0 then doSendMagicEffect(getThingPos(attacker), 14) doCreatureAddHealth(attacker, newlife) doSendAnimatedText(getThingPos(attacker), "+"..newlife.."", 32) end por: if getPlayerStorageValue(cid, 8402) == -1 then doCreatureAddHealth(cid, -damage) doSendAnimatedText(getThingPos(cid), "-"..damage.."", 144) doSendMagicEffect(getThingPos(cid), 45) ------ local newlife = life - getCreatureHealth(cid) if newlife >= 1 and attacker ~= 0 then doSendMagicEffect(getThingPos(attacker), 14) doCreatureAddHealth(attacker, newlife) doSendAnimatedText(getThingPos(attacker), "+"..newlife.."", 32) end end
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...