Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 08/05/15 em todas áreas

  1. Uma cidade esquecida pelo tempo. O lar do Rei é revelado, junto às criaturas que causaram seu desaparecimento. Estará Johian morto?
    7 pontos
  2. Fala galera, venho anunciar a nova seção do xtibia. Alguns membros estavam reclamando da má organização a respeito de show off de projetos. Pois então, foi criado a seção Projetos OpenTibia. A seção já está em andamento e os projetos já podem ser postados. Regras Da seção • Você pode postar apenas um tópico por projeto nesta seção. Este, deve conter informações sobre seu projeto em desenvolvimento. • Tópicos inativos por 30 à 60 dias serão movidos para a lixeira pública. • É proibido referências à formação de equipe. Para isto, utilize a seção Formação de Equipes. • Caso seu projeto seja um servidor e ele já esteja online, você pode continuar atualizando o tópico deste com novos updates do servidor. • Evite a divulgação direta do servidor nesta seção, para isto, utilize a seção Anúncio de OTServers. • Todos os tópicos serão avaliados antes de serem aprovados. Crie já seu tópico e mostre à comunidade o que você está desenvolvendo. Quem sabe consegue um incentivo maior... Comentem, abraços!
    2 pontos
  3. local config = { name = "monster_name", --Nome do monstro. medal = xxx, --ID da medalha. damagePrizes = { --[{minDamage, maxDamage}] = {{itemid, count}, {itemid, count}, {itemid, count}, ...}, [{1, 1000}] = {{9281, 1}, {2160, 50}}, [{1001, 2000}] = {{9281, 1}, {2160, 50}, {2191, 100}, {9282, 1}}, }, storage = 91828, } function onStatsChange(cid, attacker, type, combat, value) if isPlayer(attacker) and isMonster(cid) and getCreatureName(cid) == config.name and type == STATSCHANGE_HEALTHLOSS then local damage = getPlayerStorageValue(attacker, config.storage) < 1 and 0 or getPlayerStorageValue(attacker, config.storage) setPlayerStorageValue(attacker, config.storage, damage + value) end return true end function onDeath(cid, corpse, deathList) for _, pid in pairs(deathList) do local damage, prizes = getPlayerStorageValue(pid, config.storage), {} for dmg, items in pairs(config.damagePrizes) do if damage >= dmg[1] and damage <= dmg[2] then prizes = items break end end if #prizes > 0 then local prize = prizes[math.random(#prizes)] doPlayerSendTextMessage(pid, 27, "For helping killing "..config.name..", you received a medal and "..prize[2].."x "..getItemNameById(prize[1])..".") doPlayerAddItem(pid, prize[1], prize[2]) doItemSetAttribute(doPlayerAddItem(pid, config.medal, 1), "description", "Medalha de honra ganha por "..getCreatureName(pid).." por ajudar a derrotar o "..config.name.." no dia "..os.date("%D")..".") setPlayerStorageValue(pid, config.storage, -1) end end db.executeQuery("UPDATE player_storage SET value = -1 WHERE key = "..config.storage) return true end
    2 pontos
  4. Lumus

    Nova seção para Projetos OpenTibia

    Show! Parabéns ekz!
    2 pontos
  5. Vodkart

    Marriage System [+Npc]

    Explicação: É o sistema de casamento conhecido, porém foi reformulado para funcionar em versões mais recentes. Descrição: O sistema conta com: Item: Os jogadores que se casar receberão um Wedding ring com seus nomes e data do casamento. Outfit: jogadores que se casam recebem outfit, caso se divorciem, perder as outfits. Look: o look mostra com quem é casado Combate: Os jogador não pode atacar seu patner Comandos: /marriage info -- mostra em uma janela o preço do casamento/divórcio e o level minimo para casar. /marriage status -- mostra com quem é casado e a data do casamento Outra coisa bem importante é que os dois jogadores NÃO precisam estar online para se divorciarem, exemplo: JOÃO e casado com MARIA, JOÃO vai até o npc e paga um preço para de divorciar, só quem pede o divorcio que paga a taxa, logo MARIA não precisa pagar nada pois seu Ex-Patner JOÃO já pagou. O que ela precisa fazer é "assinar" com o npc o seu divorcio também. Como casar? Player1: Player2: Na sua db execute: CREATE TABLE marriage_system ( id INTEGER NOT NULL, player_id INTEGER NOT NULL, partner VARCHAR( 255 ) NOT NULL, marriage_date INTEGER NOT NULL, PRIMARY KEY ( id ) ); Caso você ter a outfit Husband e Wife(de casamento) no seu servidor abra o spoiler: Mods: Npc: Configuração:
    1 ponto
  6. Animal Pak

    Teleport Scroll

    Em actions/actions.xml adicione: <action itemid="8189" script="tpscroll.lua" /> Em actions/scripts crie um arquivo tpscroll.lua e dentro coloque: function onUse(cid, item,frompos, item2, topos) templo = getPlayerMasterPos(cid) posicion = getCreaturePosition(cid) if item.itemid == 8189 then if (getCreatureCondition(cid, CONDITION_INFIGHT) == FALSE) then getThingfromPos(posicion) doSendMagicEffect(getCreaturePosition(cid), 36) doTeleportThing(cid, templo, TRUE) doRemoveItem(item.uid,1) doSendMagicEffect(getCreaturePosition(cid), 36) return true else doPlayerSendCancel(cid,"Não pode se teletransportar durante o battle.") doSendMagicEffect(getCreaturePosition(cid), 2) end end end Créditos: boniyasha
    1 ponto
  7. Qwizer

    [Encerrado]SoftCores RPG Server 7.4

    SoftCores é um servidor para quem e apaixonado por Tibia 7.4, com um desejo de relembrar velhos e bons momentos e fornecer muita diversão para os nossos jogadores. Este projeto é totalmente baseado na versão antiga, mas com alguns ajustes para o melhor desempenho e divertido para todos os jogadores. Algumas mudanças para melhora o aspecto in-game foram feitos como . Port Hope Demon OaK Quest Pitsof inferno Quest Task System Svargrond Por enquanto somente isso em breve teremos novas mudanças e melhorias para mais detalhes acesse nosso site www.softcores.net Equipe MitSuig - Administrado/Scripter Icaro - WebDesigner/Mapper Show Off
    1 ponto
  8. local monsters = {"Demon", "Frost Dragon", "Hydra", "Dragon Lord", "Dragon"} local time_min, max = 25, 60 local premios, gold = {{2160, 10}, {2157, 5}}, 10000 function winMonsterEvent() local max_sto, winner = 0, 0 local monster = getGlobalStorageValue(1919211) for _, pid in pairs(getPlayersOnline()) do local sto = getPlayerStorageValue(pid, 1814210) if sto > max_sto then max_sto = sto winner = pid end end if isPlayer(winner) then local artigo = getPlayerSex(winner) == 0 and "A jogadora" or "O jogador" doBroadcastMessage(artigo.." "..getCreatureName(winner).." matou "..getPlayerStorageValue(winner, 1814210).." "..monster.."s e venceu o evento, parabens!") for _, prize in pairs(premios) do doPlayerAddItem(winner, prize[1], prize[2]) end doPlayerAddMoney(winner, gold) else doBroadcastMessage("O evento terminou e nao houve nenhum vencedor.") end setGlobalStorageValue(1919211, 0) end function onTime() local random = math.random(1, #monsters) local time = math.random(time_min, max) for _, pid in pairs(getPlayersOnline()) do doPlayerSetStorageValue(pid, 1814210, 0) end setGlobalStorageValue(1919211, monsters[random]) doBroadcastMessage("O evento comecou e vai durar "..time.." minuto. O monstro sorteado foi "..monsters[random].."! Quem matar mais deles ate o fim sera o vencedor!") addEvent(winMonsterEvent, time*1000*60) return true end Tags: <globalevent name="Evento1" time="13:00" event="script" value="nome_do_arquivo.lua"/> <globalevent name="Evento2" time="17:00" event="script" value="nome_do_arquivo.lua"/> <globalevent name="Evento3" time="23:00" event="script" value="nome_do_arquivo.lua"/>
    1 ponto
  9. Danihcv

    [Encerrado]Nebula - Rei Johian

    Como sempre ne... sauhsauhsahu Aposto que eu sou a fonte de inspiração destas obras... u.u
    1 ponto
  10. Action: local config = { reflectBonus = 2, --Bônus de reflect, em %. failChance = 50, --Chance de falhar, em porcentagem. types = {"armor", "legs", "helmet", "boots"}, noReflect = {1, 2, 3, 5, 6} --Tipos de armamento bloqueados (valores podem ser conferidos em 000-constant.lua, data/lib) } function onUse(cid, item, fromPos, itemEx, toPos) if itemEx.itemid < 100 then return doPlayerSendCancel(cid, "Use this in valid itens.") elseif isInArray(config.noReflect, getItemWeaponType(itemEx.uid)) then return doPlayerSendCancel(cid, "Use this in valid itens.") elseif getItemAttribute(itemEx.uid, "reflect") then return doPlayerSendCancel(cid, "This item has already a reflect bonus.") elseif math.random(1, 100) > config.failChance then return doPlayerSendTextMessage(cid, 27, "Sorry, your item didn't get a reflect bonus. Good luck at the next try! =]"), doRemoveItem(item.uid, 1) end local checkItemName for i = 1, #config.types do if getItemNameById(itemEx.itemid):find(config.types[i]) then checkItemName = true break end end if not checkItemName then return doPlayerSendCancel(cid, "Use this in valid itens.") end doPlayerSendTextMessage(cid, 27, "Congratulations, now your item has a reflect bonus of "..config.reflectBonus.."%!") doItemSetAttribute(itemEx.uid, "reflect", config.reflectBonus) doItemSetAttribute(itemEx.uid, "name", getItemNameById(itemEx.itemid).." ref "..config.reflectBonus.."%") doRemoveItem(item.uid, 1) return true end Creaturescript (não se esqueça de registrar o evento em login.lua): function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and isCreature(attacker) and type == STATSCHANGE_HEALTHLOSS then local bonusReflect = 0 for i = 1, 10 do local item = getPlayerSlotItem(cid, i).uid if item > 0 and getItemAttribute(item, "reflect") then bonusReflect = bonusReflect + getItemAttribute(item, "reflect") end end if bonusReflect > 0 then local damage = value * bonusReflect / 100 doSendAnimatedText(getThingPos(attacker), -damage, COLOR_RED) doCreatureAddHealth(attacker, -damage) end end return true end
    1 ponto
  11. Algum mapa ai tu pegou lá no meu servidor da otland? hahah ficou muito foda o projeto, se tiver on eu vou dar uma jogada adoro 10.78 tao usando o tfs 1.2 ou 1.1?
    1 ponto
  12. FelipeXT

    [Encerrado]Nebula - Rei Johian

    Que lindo cara o seu mapa!, eu quero estas sprites no meu 7.92 ;/
    1 ponto
  13. Bruno

    ajuda com script de spell

    Tenta assim:
    1 ponto
  14. SkyLigh

    Loteria

    http://www.xtibia.com/forum/topic/232949-tfs-04-new-lottery-system/
    1 ponto
  15. uso e recomendo ServerSoft.! estou a 5 meses com ela e ate hj nao tive problemas...
    1 ponto
  16. SkyLigh

    RESET SYSTEM

    RESET SYSTEM Movido para resolvidos
    1 ponto
  17. Administrador

    [Encerrado]SoftCores RPG Server 7.4

    Aprovadíssimo. Ótimo projeto Mitsuig, como esperado vindo de você.
    1 ponto
  18. Administrador

    [Encerrado]UntraxBR - A nova era.

    Parabéns, seu projeto foi aprovado. Caso necessite da remoção deste tópico solicite à equipe. Espero que o projeto tenha futuro, estarei acompanhando.
    1 ponto
  19. Vou avaliar isso, obrigado pelo feedback ^^
    1 ponto
  20. Foi uma boa implementação no fórum que vai ajudar muito na organização. Agora só ficou faltando uma box prós tópicos fixos =). Nunca da pra saber se o tópico é fixo ou não pois ficam todos juntos hauahauaha
    1 ponto
  21. zipter98

    setPlayerStorageValue

    Tente esse e informe se alguma coisa é imprimida no console (1/2): local tpId = 1387 local tps = { ["Little Corym Charlatan"] = {pos = {x=414, y=91, z=11}, toPos = {x=409, y=93, z=11}, time = 30}, } function removeTp(tp) local t = getTileItemById(tp.pos, tpId) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(tp.pos, CONST_ME_POFF) end end function onKill(cid, target) print(1) local tp = tps[getCreatureName(target)] if isPlayer(cid) and isMonster(target) and tp then print(2) doCreateTeleport(tpId, tp.toPos, tp.pos) doCreatureSay(target, "A teleport appeared near and will disappear in "..tp.time.." seconds.", TALKTYPE_ORANGE_1) doCreatureSay(target, "You have killed the disorder and proved be trustworthy", TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, 21321, 1) addEvent(removeTp, tp.time*1000, tp) end return true end
    1 ponto
  22. zipter98

    setPlayerStorageValue

    Ah sim, esqueci de modificar o parâmetro. Bem lembrado. Sobre o uso de metamétodos e afins do TFS 1.x+, não adaptei pois, como o autor mesmo disse, o problema era só na storage.
    1 ponto
  23. zipter98

    setPlayerStorageValue

    Uma opção é converter o código para outro callback, como, por exemplo, onKill. local tpId = 1387 local tps = { ["Little Corym Charlatan"] = {pos = {x=414, y=91, z=11}, toPos = {x=409, y=93, z=11}, time = 30}, } function removeTp(tp) local t = getTileItemById(tp.pos, tpId) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(tp.pos, CONST_ME_POFF) end end function onKill(cid, target) local tp = tps[getCreatureName(target)] if isPlayer(cid) and isMonster(target) and tp then doCreateTeleport(tpId, tp.toPos, tp.pos) doCreatureSay(target, "A teleport appeared near and will disappear in "..tp.time.." seconds.", TALKTYPE_ORANGE_1) doCreatureSay(target, "You have killed the disorder and proved be trustworthy", TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, 21321, 1) addEvent(removeTp, tp.time*1000, tp) end return true end É possível fazer por onStatsChange também.
    1 ponto
  24. function onSay(cid, words, param) if getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid, 22, "Você precisa está sem batte para cê teleportado") return true end pos = {x=220, y=451, z=7} doSendMagicEffect(getPlayerPosition(cid),53) doPlayerSendCancel(cid,"Teleportado!") doTeleportThing(cid,pos) end Movido para seção de resolvidos.
    1 ponto
  25. Overpower

    [Resultado] Sign of the Week #6

    Quase em avu ! Mandou bem ! Parabéns a todos que participaram, teve bastante gente nessa edição e-e Fico feliz de ter conseguido uma hahha
    1 ponto
  26. data/creaturescripts/scripts local config = { name = "monster_name", --Nome do monstro. minDamage = 7000, --Dano mínimo para receber as recompensas. items = { prize = {itemid, count}, --{ID do item, quantidade} medal = xxx, --ID da medalha. }, storage = 91828, } function onStatsChange(cid, attacker, type, combat, value) if isPlayer(attacker) and isMonster(cid) and getCreatureName(cid) == config.name and type == STATSCHANGE_HEALTHLOSS then local damage = getPlayerStorageValue(attacker, config.storage) < 1 and 0 or getPlayerStorageValue(attacker, config.storage) setPlayerStorageValue(attacker, config.storage, damage + value) end return true end function onDeath(cid, corpse, deathList) for _, pid in pairs(deathList) do local damage = getPlayerStorageValue(pid, config.storage) if damage >= config.minDamage then doPlayerSendTextMessage(pid, 27, "For helping killing "..config.name..", you received a medal and "..config.items.prize[2].."x "..getItemNameById(config.items.prize[1])..".") doPlayerAddItem(pid, config.items.prize[1], config.items.prize[2]) doItemSetAttribute(doPlayerAddItem(pid, config.items.medal, 1), "description", "Medalha de honra ganha por "..getCreatureName(pid).." por ajudar a derrotar o "..config.name.." no dia "..os.date("%D")..".") setPlayerStorageValue(pid, config.storage, -1) end end db.executeQuery("UPDATE player_storage SET value = -1 WHERE key = "..config.storage) return true end Tags: <event type="statschange" name="mDamage" event="script" value="nome_do_arquivo.lua"/> <event type="death" name="mItems" event="script" value="nome_do_arquivo.lua"/> Em login.lua: registerCreatureEvent(cid, "mDamage") No arquivo .xml do monstro: <script> <event name="mItems"/> </script>
    1 ponto
  27. Killua

    !teleport com lista

    É um comando normal que mostra uma lista de lugares disponíveis e teleporta para o local escolhido Crie teleportvip.lua em data/talkactions/scripts e coloque: Agora em data/talkactions/talkactions.xml coloque essa tag: <talkaction words="!teleport" script="teleportvip.lua"/>
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...