Ir para conteúdo

RigBy

Visconde
  • Total de itens

    411
  • Registro em

  • Última visita

  • Dias Ganhos

    10

Tudo que RigBy postou

  1. Isso é tipo o evento Dota, só que o único problema que nenhum de nos ta conseguindo resolve é que o monstro ataque um ao outro. Eu comecei a estuda C++ essa semana mas não tenho nenhuma ideia para isso
  2. Blz Ué, so basta você modifica o tempo em "timeToGrow", da pra adicionar mais, so basta adiciona isso dentro do "local config = {" [ID_DA_ARVORE] = {FRUTA, QUANTIDADE{minimo, maximo}, ID_DA_ARVORE_SEM_FRUTO, TEMPO_PARA_ÀRVORE_FICA_COM_FRUTO}, Ficando [5096] = {fruit = 2678, quantity = {2,7}, treeWithoutFruit = 2726, timeToGrow = 70},
  3. Adiciona isso depois da callback "function creatureSayCallback(cid, type, msg)". local storage = {213213, 1} -- {storage, value} if getPlayerStorageValue(cid, storage[1]) ~= storage[2] then selfSay('Não vou falar com você até ter feito a quest.', cid) return false end
  4. Ai .lua -- Do not remove the credits -- -- [ACTION] Fruit Harvesting -- -- Developed by Rigby -- -- Especially for the Xtibia.com -- local config = { -- [ID_DA_ARVORE] = {FRUTA, QUANTIDADE{minimo, maximo}, ID_DA_ARVORE_SEM_FRUTO, TEMPO_PARA_ÀRVORE_FICA_COM_FRUTO} [5157] = {fruit = 5097, quantity = {0,1}, treeWithoutFruit = 5156, timeToGrow = 5}, [4006] = {fruit = 2675, quantity = {0,3}, treeWithoutFruit = 4008, timeToGrow = 20}, [5094] = {fruit = 2676, quantity = {3,6}, treeWithoutFruit = 5092, timeToGrow = 30}, [5096] = {fruit = 2678, quantity = {2,7}, treeWithoutFruit = 2726, timeToGrow = 70}, } function onUse(cid, item, fromPosition, itemEx, toPosition) for i, k in pairs(config) do if itemEx.itemid == i then random = math.random(k.quantity[1],k.quantity[2]) doTransformItem(itemEx.uid, k.treeWithoutFruit, 1) doPlayerAddItem(cid,k.fruit,random) addEvent(function() doTransformItem(getThingFromPos(toPosition).uid, i) end, k.timeToGrow * 1000) if random > 0 then doPlayerSendTextMessage(cid,27,"Você pego "..random.." "..getItemNameById(k.fruit).."!") else doPlayerSendTextMessage(cid,27,"Àrvore não deu nenhum fruto!") end end end return true end .xml <action itemid="ID_DO_ITEM" event="script" value="NOME_DO_SCRIPT.lua"/>
  5. Aprovado e movido. Obrigado por compartilha
  6. Você esqueceu de adiciona o cid no parâmetro do countPos, ai fica dando erro porque ele não ta achando o player. E também ele vai fica repetindo a palavra "Wall" até que a mw acabe, então editei aqui. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) function countPos(cid, pos, tempo) if tempo > 0 then doSendAnimatedText(pos, tempo, TEXTCOLOR_YELLOW) addEvent(countPos, 1000, cid, pos, tempo-1) else doSendMagicEffect(pos, 2) end end function onCastSpell(cid, var) countPos(cid, var.pos, 20) doCreatureSay(cid, 'WALL', TALKTYPE_ORANGE_1) doCombat(cid, combat, var) end
  7. Adiciona isso depois do function onCastSpell(cid, var) local skill = {3, 10} -- {id da skill, valor da skill} local skillinfo = getPlayerSkillLevel(cid, skill[1]) if (skillinfo <= skill[2]) then doPlayerSendCancel(cid, "É preciso ta skill "..skill[2]..".") return false end
  8. RigBy

    Bug RME Pisos e paredes

    Pegue tudo que ta na pasta items do seu servidor e jogue no seu rme dentro da versao que voce ta usando. ps. To no celular
  9. Não, ta em OpenGL mas você pode baixar a source e compila em directx 9.
  10. Acredito que seja um problema na source, eu fazia isso no TibiaRpgBrasil na versão 8.6 com o ring of healing e o dono falo que era um problema nas source que ja foi consertado. Experimenta troca de distro para ver se o problema é mesmo na source.
  11. RigBy

    OTclient's compilados + sources

    OTClient Otclient é um cliente de Tibia alternativa para o uso com OTServ. Tem como objetivo ser completo e flexível, para que ele usa LUA scripting para todos os arquivos de funcionalidade interface do jogo e configurações com uma sintaxe semelhante ao CSS para o desenho da interface do cliente. Otclient trabalha com um sistema modular, o que significa que cada funcionalidade é um módulo separado, dando a possibilidade de os utilizadores modificar e personalizar tudo facilmente. Os usuários também podem criar novos mods e estender interface do jogo para seus próprios propósitos. Otclient é escrito em C ++ 2011, o próximo padrão C ++ e fortemente baseado num guião em lua. Foto: Versões compilada: Versão OTC: 0.6.4 Versão suportadas: 7.6 há 10.22 Compilada em: 13/11/2013 Windows Linux Versão OTC: 0.6.5 Versão suportadas: 7.6 há 10.31 Compilada em: 06/01/2014 Windows Linux Versão OTC: 0.6.7 Versão suportadas: 7.4 há 10.71 Compilada em: 16/01/2015 Windows Sources: V0.5.3 - (04/10/2012) V0.5.4 - (06/10/2012) V0.5.5 - (24/10/2012) V0.6.0 - (23/01/2013) V0.6.1 - (14/02/2013) V0.6.3 - (03/08/2013) V0.6.4 - (13/11/2013) V0.6.5 - (02/01/2014) V0.6.6 - (02/11/2014) Se seu pc tiver faltando a dll OpenAL32, so basta baixa ai. Download: OpenAL32 Scan: OpenAL32 Créditos: Edubart
  12. 01º - CROWNZS 02º - BENNY 03º - THESEKCY
  13. RigBy

    vip hp e mp extra

    Ou você pode fazer um onLogin para que quando logue e tenha a storage da vip a vocação mude.
  14. Mano não precisa compra o script, só basta você fazer e pedido e espera alguém responde com a solução. esse fórum ainda não viro um site de compras.
  15. Substitiu function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 5997) == -1 then doPlayerSendTextMessage(cid, 22, "Você ganhou Super Healing") -- a mensagen que ira aparecer quando vc pegar o item doPlayerAddItem(cid, 2275) setPlayerStorageValue(cid, 5997, 1) else doPlayerSendTextMessage(cid, 22, "Esta Vazio . Vc Ja Fez A Quest.") -- ira aprecer quando vc ja tiver pego e tentar dnv end return true end
  16. RigBy

    vip hp e mp extra

    Tô no celular nesse momento e já tô indo dormi então amanhã eu posto o script completo,porque o que eu postei aí acabo saindo pela metade, mas é praticamente isso. bye Mano se decide, ta ai function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 15 -- dias que serão adicionados local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - timenow <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end local config = { [{1, 5}] = {gainHP = 6.5, gainMP = 39, promote = 9}, [{2, 6}] = {gainHP = 6.5, gainMP = 39, promote = 10}, [{3, 7}] = {gainHP = 13, gainMP = 14.5, promote = 11}, [{4, 8}] = {gainHP = 19.5, gainMP = 6.5, promote = 12}, --[VOCAÇÕES] = {GainHP = hp que ele ganha por level , GainMP = mp que ele ganha por level, promote = ID DA PROMOTE} } for k, v in pairs(config) do for i = 1, #k do if getPlayerVocation(cid) == k[i] then doPlayerSetVocation(cid, v.promote) local level = getPlayerLevel(cid) setCreatureMaxHealth(cid, (v.gainHP * level)) setCreatureMaxMana(cid, (v.gainMP * level)) doCreatureAddHealth(cid, (v.gainHP * level)) doCreatureAddMana(cid, (v.gainMP * level)) break end end end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") doRemoveItem(item.uid, 1) return true end
  17. RigBy

    vip hp e mp extra

    Acho que vocÊ não entendeu, e nem testo. Você tem configurar ai para pode funciona né. Vou explica: Ex: Sorcerer ganha 30 de mana e você quer que ganhe 30% a mais, 30 / 100 * 30 = 9 + 30 = 39 Ex2: Sorcerer ganha 5 de life e você quer que ele ganhe 30% a mais 5 / 100 * 30 = 1,5 + 5 = 6,5 ai so basta você alterar: [{ID da Sorcerer, ID da Master Sorcerer}] = {gainHP = HP por level, gainMP = MP por level, promote = ID da Epic Sorcerer}, -- Ficando [{1, 5}] = {gainHP = 6.5, gainMP = 39, promote = 9},[/ para que ele continue com o bonus você tem que editar no xml da vocação também, para que ele continue recebendo o bonus se não vai para, de ganha o bonus emquanto ele upa. gainhp="6.5" gainmana="39" Isso é so um exemplo, você terar que alterar em todas.
  18. Editei la em cima, usa ele. So basta adiciona essa tag no monstro, em terra strike você coloca o nome da magia. <attack name="terra strike" interval="2000" chance="2000" min="-5" max="-7"/>
  19. RigBy

    vip hp e mp extra

    So basta você arrumar do jeito que o @Benny falo ai em cima, não esqueça que você tem que editar o vocation.xml também para que a vocação continue com o HP e MP novo. Aqui o código function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 15 -- dias que serão adicionados local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - timenow <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end local config = { [{1, 5}] = {gainHP = 100, gainMP = 30, promote = 9}, [{2, 6}] = {gainHP = 100, gainMP = 30, promote = 10}, [{3, 7}] = {gainHP = 100, gainMP = 30, promote = 11}, [{4, 8}] = {gainHP = 100, gainMP = 30, promote = 12}, --[VOCAÇÕES] = {GainHP = hp que ele ganha por level , GainMP = mp que ele ganha por level, promote = ID DA PROMOTE} } for k, v in pairs(config) do for i = 1, #k do if getPlayerVocation(cid) == k[i] then doPlayerSetVocation(cid, v.promote) local level = getPlayerLevel(cid) setCreatureMaxHealth(cid, (v.gainHP * level)) setCreatureMaxHealth(cid, (v.gainMP * level)) break end end end return true end
  20. Sera que isso ajuda você não? getTileInfo(getCreaturePosition(cid)).itemid Sera que isso ajuda você não? getTileInfo(getCreaturePosition(cid)).itemid
  21. Aqui a spell. local tempo = 5 -- quanto tempo vai durar local id = 3697 -- id do item que vai transformar function onCastSpell(cid, var) if getPlayerStorageValue(cid, id) < os.time() then local target = getCreatureTarget(cid) doSetItemOutfit(target, id, tempo*1000) doCreatureSetNoMove(target, true) addEvent(function() if not isCreature(target) then return true end doCreatureSetNoMove(target, false) end, tempo*1000) end end
  22. RigBy

    Addon Bonus

    So basta pega a spelll que você queira que tenha essa restrição e adiciona isso depois da "function onCastSpell(cid, var)" local outfit = 132 -- looktype local outfits = getCreatureOutfit(cid) if not (outfits.lookType == outfit) then doPlayerSendCancel(cid, 'Você precisa ta usando o addon.') return false end
  23. Quando loga e a vip tiver acabado, vai tirar o nome [VIP] Creaturescript: .lua function onLogin(cid) local name = string.gsub(""..getCreatureName(cid).."", ".VIP. ", "") if getPlayerStorageValue(cid, 13704) <= 0 then if getCreatureName(cid) ~= name then db.executeQuery("UPDATE `players` SET `name` = '"..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") addEvent(doRemoveCreature, 2*1000, cid, true) end end return true end .xml <event type="login" name="RemoveName" event="Nome_do_Scriptt"> Login.lua antes do ultimo return true registerCreatureEvent(cid, "RemoveName")
  24. Qualquer bug é so fala. É um movement: .lua -- Do not remove the credits -- -- [MOVEMENT] Porta que abre automáticamente -- -- Developed by Rigby (João Vitor) -- -- Xtibia.com -- local porta = {7777, 8888, 9999} -- porta fechada, porta meio aberta, porta aberta local pos = {x = 1063, y = 1033, z = 7} -- local onde vai fica a porta local delay = 100 -- ela vai demorar 0.1 segundos para fica totalmente aberta ou totalmente fechada local action = 5555 -- action que ta no .xml, se muda la vai ter que muda aqui também function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getTileItemById(pos, porta[1]).uid > 0 then for i = 1, 2 do addEvent(function() doTransformItem(getTileItemById(pos, i == 1 and porta[1] or porta[2]).uid, porta[i + 1]) end, i * delay) end end return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) local tab = {} for _, pid in ipairs(getPlayersOnline()) do if getTileInfo(getCreaturePosition(pid)).actionid == action then table.insert(tab, pid) end end if #tab == 0 then if getTileItemById(pos, porta[3]).uid > 0 then for i = 1, 2 do addEvent(function() doTransformItem(getTileItemById(pos, i == 1 and porta[3] or porta[2]).uid, porta[i == 1 and 2 or 1]) end, i * delay) end end end return true end .xml <movevent type="StepIn" actionid="5555" event="script" value="Nomedoscript.lua"/> <movevent type="StepOut" actionid="5555" event="script" value="Nomedoscript.lua"/>
  25. Não tô falando que você copio o script, só tô falando que parece com ele só que ao contrário. Acho que você não leu o script, eu não deixei mais complexo, a única coisa que eu fiz foi adicionar uma variável e coloca um if, para facilita a edição. Porque assim fica melhor do que ter que apagar uma certa linha para funciona do jeito que o cara que. Tô no celular então desculpa se eu escrevi alguma coisa errado.
  • Quem Está Navegando   0 membros estão online

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