Ir para conteúdo

Will Oliveira

Membro
  • Registro em

  • Última visita

Tudo que Will Oliveira postou

  1. Will Oliveira postou uma resposta no tópico em Suporte Tibia OTServer
    voce pode editar isso no arquivo vocations.lua que fica na pasta data/xml, lá você vai achar as tags assim: <vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="12" gainhpamount="1" gainmanaticks="3" gainmanaamount="2" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> voce edita o ganho por level de hp em gainhp e o ganho de mana em gainmana, mas se o player ja for começar lvl 50 tem que fazer um script
  2. no topico nao fala nada que o item quebra mas se quiser posso editar o script, qual item que vai quebrar?
  3. marca o unique id onde vai ser usado o item principal, não vai quebrar nada, se tiver duvida em fazer a tag do item é só falar
  4. ta aí, só configurar as posições, colocar o unique id (uid) 6030 no slot pelo map editor, e fazer a tag do script: local old_pos = {x = 123, y = 456, z = 7} -- posição daonde o player vai usar o item local new_pos = {x = 123, y = 456, z = 7} -- posição pra onde o player será teleportado function onUse(cid, item, fromPosition, itemEx, toPosition) if getCreaturePosition(cid) == old_pos and itemEx.uid == 6030 then doTeleportThing(cid, new_pos) else doPlayerSendCancel(cid, "Sorry, not possible.") end end
  5. Esse livro é em ingles :/
  6. vc nao entendeu minha pergunta..
  7. Seja mais especifico, o que você quer que o script faça?
  8. Você tem que mudar a posição pela database, baixe o Sqlite Studio pra editar.
  9. O livro C++ Como programar da editora Deitel é um ótimo livro pra aprender a programar em C++, ele ensina do básico ao avançado, se você quer aprender a programar, é mais fácil ler esse livro do que pagar um curso (hoje em dia os cursos de C++ são caríssimos). Vou postar a quinta edição do livro, que é a penúltima edição (não deixa de ser boa). Link: https://docs.google.com/file/d/0B287pYR-q5EnZjE3OWMyNDctZGU4ZC00N2Y5LWFiZjMtMDkzOTFiMzA4NTYz/edit Obs: O sumário é a partir da página 32 Espero que seja útil pra alguém
  10. Will Oliveira postou uma resposta no tópico em Sistemas, Mods & Funções .lua
    sistema de chuva já existe rs
  11. Depois edito o post com a print =)
  12. Will Oliveira postou uma resposta no tópico em Sistemas, Mods & Funções .lua
    Putz cara, aí já não sei :/
  13. Will Oliveira postou uma resposta no tópico em Sistemas, Mods & Funções .lua
    O que faz? Esse mod, ao definirmos posições para ele, quando você estiver entre as posições ele tocará a música definida por você. Instalação: 1 - Em sua pasta otc/mods crie uma pasta chamada rcsound, crie um arquivo chamado rcsound.lua e adicione isto: SOUNDS_CONFIG = { soundChannel = SoundChannels.Music, checkInterval = 500, folder = 'music/', noSound = 'No sound file for this area.', } SOUNDS = { -- Rook Cave {fromPos = {x=879, y=803, z=8}, toPos = {x=1079, y=963, z=15}, sound = "FF VII - Main.ogg"}, -- Boss {fromPos = {x=977, y=903, z=8}, toPos = {x=1009, y=916, z=9}, priority = 1, sound="FF VII - Main.ogg"}, {fromPos = {x=1001, y=917, z=9}, toPos = {x=1002, y=919, z=9}, priority = 1, sound="FF VII - Main.ogg"}, -- Main -- Dragon {fromPos = {x=1089, y=1110, z=8}, toPos = {x=1135, y=1142, z=8}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1102, y=1128, z=9}, toPos = {x=1131, y=1149, z=9}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1117, y=1124, z=9}, toPos = {x=1128, y=1127, z=9}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1100, y=1104, z=10}, toPos = {x=1127, y=1131, z=10}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1103, y=1108, z=9}, toPos = {x=1108, y=1112, z=9}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1096, y=1088, z=5}, toPos = {x=1110, y=1100, z=6}, priority = 1, sound="Fairy Tail - Main.ogg"}, } ---------- -- Sound local rcSoundChannel local showPosEvent local playingSound -- Design soundWindow = nil soundButton = nil function toggle() if soundButton:isOn() then soundWindow:close() soundButton:setOn(false) else soundWindow:open() soundButton:setOn(true) end end function onMiniWindowClose() soundButton:setOn(false) end function init() for i = 1, #SOUNDS do SOUNDS[i].sound = SOUNDS_CONFIG.folder .. SOUNDS[i].sound end connect(g_game, { onGameStart = onGameStart, onGameEnd = onGameEnd }) rcSoundChannel = g_sounds.getChannel(SOUNDS_CONFIG.soundChannel) -- rcSoundChannel:setGain(value/COUNDS_CONFIG.volume) soundButton = modules.client_topmenu.addRightGameToggleButton('soundButton', tr('Sound Info') .. '', '/images/audio', toggle) soundButton:setOn(true) soundWindow = g_ui.loadUI('rcsound', modules.game_interface.getRightPanel()) soundWindow:disableResize() soundWindow:setup() if(g_game.isOnline()) then onGameStart() end end function terminate() disconnect(g_game, { onGameStart = onGameStart, onGameEnd = onGameEnd }) onGameEnd() soundWindow:destroy() soundButton:destroy() end function onGameStart() stopSound() toggleSoundEvent = addEvent(toggleSound, SOUNDS_CONFIG.checkInterval) end function onGameEnd() stopSound() removeEvent(toggleSoundEvent) end function isInPos(pos, fromPos, toPos) return pos.x>=fromPos.x and pos.y>=fromPos.y and pos.z>=fromPos.z and pos.x<=toPos.x and pos.y<=toPos.y and pos.z<=toPos.z end function toggleSound() local player = g_game.getLocalPlayer() if not player then return end local pos = player:getPosition() local toPlay = nil for i = 1, #SOUNDS do if(isInPos(pos, SOUNDS[i].fromPos, SOUNDS[i].toPos)) then if(toPlay) then toPlay.priority = toPlay.priority or 0 if((toPlay.sound~=SOUNDS[i].sound) and (SOUNDS[i].priority>toPlay.priority)) then toPlay = SOUNDS[i] end else toPlay = SOUNDS[i] end end end playingSound = playingSound or {sound='', priority=0} if(toPlay~=nil and playingSound.sound~=toPlay.sound) then g_logger.info("RC Sounds: New sound area detected:") g_logger.info(" Position: {x=" .. pos.x .. ", y=" .. pos.y .. ", z=" .. pos.z .. "}") g_logger.info(" Music: " .. toPlay.sound) stopSound() playSound(toPlay.sound) playingSound = toPlay elseif(toPlay==nil) and (playingSound.sound~='') then g_logger.info("RC Sounds: New sound area detected:") g_logger.info(" Left music area.") stopSound() end toggleSoundEvent = scheduleEvent(toggleSound, SOUNDS_CONFIG.checkInterval) end function playSound(sound) rcSoundChannel:enqueue(sound, 0) setLabel(clearName(sound)) end function clearName(soundName) local explode = string.explode(soundName, "/") soundName = explode[#explode] explode = string.explode(soundName, ".ogg") soundName = '' for i = 1, #explode-1 do soundName = soundName .. explode[i] end return soundName end function stopSound() setLabel(SOUNDS_CONFIG.noSound) rcSoundChannel:stop() playingSound = nil end function setLabel(str) soundWindow:recursiveGetChildById('currentSound'):getChildById('value'):setText(str) end 2 - Crie um arquivo chamado rcsound.otmod e adicione isto: Module name: rc_sound description: Handels sounds for Rising Client. author: Shawak website: none autoload: true autoload-priority: 1000 sandbox: true scripts: [ rcsound ] @onLoad: init() @onUnload: terminate() 3 - Crie um arquivo chamado rcsound.otui e adicione isto: Module name: rc_sound description: Handels sounds for Rising Client. author: Shawak website: none autoload: true autoload-priority: 1000 sandbox: true scripts: [ rcsound ] @onLoad: init() @onUnload: terminate() 4 - Crie uma pasta dentro da rcsound, chamada music, dentro dela adicione os sons desejados, lembrando que o formato tem que ser OGG. Como configurar? É bastante simples, como definir as posições e a musica que tocará quando entrar nela: {fromPos = {x=879, y=803, z=8}, toPos = {x=1079, y=963, z=15}, sound = "FF VII - Main.ogg"} Então, o frompos = da posição, topos = para a posição, ou seja, frompos vai ser onde começa e topos termina. Sound = "FF VII - Main.ogg", o que está entre aspas é o nome da musica que se encontra na pasta music, lembrando que tem que colocar o .ogg Créditos: xS0NYx Shawak
  14. O que faz? O CandyBot é um mod do otclient que funciona como um bot comum. Instalação: Você deve ir a página do github do candybot e clicar no botão ZIP, você estará baixando o mod compactado, descompacte e transfira a pasta do CandyBot para a pasta mods do seu otclient. ScreenShots: Créditos: BeniS (Ben Dol) - [email protected] Alexandre do Amaral Severino - [email protected] Evesys
  15. O que faz? Esse mod serve para administrar sua guild, criar, invitar player, promover player, desfazer guild, entre outros... Instalação: Extraia o arquivo na pasta otc/mods. Download: https://hostr.co/MfecSZIxhiUv Screenshots: Créditos: Zysen xS0NYx
  16. O que faz? Esse mod é uma janela onde você pode escrever o que quiser, como por exemplo as atualizações do seu servidor. Instalação: 1 - Descompacte o arquivo .rar na pasta mods 2 - Pronto, o mod irá carregar automaticamente ao iniciar o client 3 - Você pode editar o texto da janela pelo arquivo changelog.lua Download: http://www.mediafire...85u58ixs4x15bxb Screenshot: Créditos: Summ Will (eu)
  17. Ok, vou retirar
  18. O que faz? Esse auto-updater, conta com as funções de: Checar se existe novos updates na inicialização do 'OTC', baixa os updates em diretórios especificados pelo administrador, baixa e extrai arquivos '.ZIP', reinicia o' OTC' apos terminar o download do patch, múltiplos patchs. Instalação: 1 - Crie no diretório raiz de seu site um arquivo '.txt' chamado de 'Update.txt', preencha o arquivo como o arquivo a seguir: http://pastebin.com/cdwnD6qg Obs: nesse pastebin já tem as instruções de como adicionar novos updates. 2 - Baixe o 'Updater Patcher.rar' extraia na pasta raiz do seu otclient. 3 - Depois de ter baixado o 'Updater Mod.rar', extraia e coloque a pasta do mod na pasta 'mods' do seu otclient configure o caminho para o executavel do 'updater patcher' no arquivo .lua. 4 - Agora você precisa ir na pasta raiz do seu 'otclient 'e configurar o arquivo 'Config.ini' com os seguites dados: [Geral] WebSite=http://dragonhertsserver.pusku.com/ - o seu website vai aqui é o site onde fica o 'update.txt' Client=otclient - nome do executavel do seu otclient SiteFile=Update.txt - o nome do arquivo que fica no site marcando os updates 5 - Depois de tudo configurado é só abrir o 'otclient' normalmente que o 'patcher' vai executar junto. use sempre link de download direto para adicionar um novo update. Download: Updater Mod: http://www.mediafire.com/download/8xc6boa8xpdh3mu/Updater+Mod.rar Updater Patcher: http://www.mediafire.com/download/ynnqy1iba8qqeyq/Update+patcher.rar Vídeo que mostra como o mod funciona: Obs: Se você tem um servidor é quer usar o updater, crie um instalador definindo já o diretório do seu client para o player não precisar configurar o arquivos '.lua' Obs²: Em arquivos compactados use sempre a extenção '.ZIP' Obs³: É preciso o NET framework para rodar. Créditos: vyctor17
  19. @Jamison Collins @Daaniel Já tentei assim e não funciona, o problema é que função doTransformItem só ta transformando o item se for uma parede ou tile Eu pesquisei na otland e esse problema está ocorrendo em varias distros, mas eu testei até no TFS 0.4 A1 e não funciona :/
  20. Não ta sendo usado pra outra coisa não
  21. Coloquei uniqueid 4012 no itemid 1724 pelo map editor e fiz o seguinte script: function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.uid == 4012 then if getPlayerStorageValue(cid, 8999) >= 1 then doPlayerSendTextMessage(cid, 22, "Você já fez essa quest.") return true end doSendMagicEffect(toPosition, 2) doTransformItem(4012, 2255) doCreateItem(2553, 1, toPosition) doPlayerSetStorageValue(cid, 8999, 1) addEvent(doTransformItem, 180000, 4012, 1724) end end Tag actions.xml: <action itemid="7242" script="quests/pickqom.lua" /> Quando uso o itemid 7242 no item de uid 4012 o item não transforma. O itemid 2553 que coloquei pra ser criado e o effect que coloquei no script funcionam, mas a função doTransformItem não, por que será? Eu pesquisei na otland e alguns usuários de lá tem o mesmo problema, testei o script no TFS 0.3.6 pl1 e no TFS 0.4 A1 e não funcionou em nenhum dos dois. Eu li na otland que em algumas distros a função só transforma paredes e tiles, outros tipos de item não, mas testei a função até no TFS 0.4 A1 e não funcionou, por que será? Rep+ pra quem me ajudar.
  22. @Chiitus É exatamente disso que eu precisava, obrigado rep+
  23. Como faço pra criar um item que venha com um unique id? Por exemplo: local pos = {x = 94, y = 129, z = 7} function onUse(cid, item, fromPosition, itemEx, toPosition) doCreateItem(1491, 1, pos) end Queria que ao criasse o item 1491 ele viesse com uma unique id que eu vou estabelecer, pesquisei muito na internet e não achei como fazer isso
  24. Valeu pela ajuda rep+
  25. Se eu definir uma variável global em um script como por exemplo: numero = 15 Por ela não ser uma variável local, eu posso chama-la em outros scripts de outras pastas? Respondam com certeza por favor.

Informação Importante

Confirmação de Termo