Ir para conteúdo

iHolloway

Membro
  • Registro em

  • Última visita

Tudo que iHolloway postou

  1. Esqueci da vírgula ali, perdão.
  2. iHolloway postou uma resposta no tópico em Suporte OTServer Derivados
    Você testou em uma conta administradora, correto? Se sim, é normal bugar, mas posso fazer algo para que quando staff, apareça uma caixa de diálogo dizendo que buga para evitar o debug.
  3. function onUse(cid, item, frompos, item2, topos) if getVocationInfo(getPlayerVocation(cid)).name == "Naruto" then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já é um Naruto!") else doPlayerSetVocation(cid, 1) --Id da vocation doCreatureSay(cid, "Dale", 19) doSendMagicEffect(getCreaturePosition(cid), 3) doCreatureChangeOutfit(cid, {lookType = 71}) --Looktype da voc if getPlayerStorageValue(cid, 5) < 1 then setPlayerStorageValue(cid, 5, 1) end setPlayerStorageValue(cid, 16200, 1) setPlayerStorageValue(cid, 300, (getPlayerVocation(cid))) doRemoveItem(item.uid) end return TRUE end Adicione a tag no xml actions
  4. local effects = { --_GOKU_-- [4] = 106, } local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z + 0} -- + 0 no final de cada pos é quantos sqm's a mais você quer, caso você coloque + 2 x, vai ir mais 2 para a direita. function onThink(interval) for _, pid in ipairs(getPlayersOnline()) do local effect = effects[getPlayerVocation(pid)] if(effect) then doSendMagicEffect(pos1 effect) end end return true end
  5. Você quer que saia um efeito em cima do player, é isto?
  6. Você pode fazer o seguinte: <vocation id="0" name="coloca um nome aleatório aqui" description="o nome da vocação" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="15.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> exemplo: <vocation id="0" name="abxdiuouoioimliokuaqisw13258" description="druid" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="15.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>
  7. Fiz algumas alterações, tente agora. Caso não queira que o ring tenha tempo um "tempo" de uso, mande aqui.
  8. Você abriu uma string com um parametro que não era boolean e terminou com boolean. mas ja que resolveu, tudo certo.
  9. Única forma que achei foi fazer ao equipar, testa aí: movements.xml <movevent type="Equip" itemid="id item" slot="ring" event="script" value="outfit item.lua"/> outfit item.lua
  10. Me chama no PM, o tópico ta ficando muito grande.
  11. @bpm91 muda esse 0 para -1 que vai retirar a storage.
  12. Não entendi bem, mas acho que você pode se encontrar se eu deixar o código de remover storages aqui, pega ele e muda no local certo que ja era. setPlayerStorageValue(cid, STORAGE, -1)
  13. Você testou com o script que te mandei?
  14. @bpm91 Perdão, confundi as linhas e acabei me enbanando, segue aí:
  15. Tenta aí
  16. A outfit é dada ao usar ou ao item entrar na bag?
  17. Tenta aí. 050-function.lua
  18. Vá até a pasta lib e procure o arquivo 0-50 function2.lua e mande aqui para que eu possa analizar.
  19. Boas, membros do TibiaKing. Há um tempo que eu estava pensando em compartilhar a base com vocês, até que enfim criei coragem. A distro está compilada em linux, e não tem source, caso queiram, poderão usar a source do DboRox, mas não garanto funcionalidade. Vou tentar citar algumas "peculiaridades" do servidor - Sistema de cassino - "Todas" as "novas" vocações, da saga super (inclusive Yamoshi) - Spells/quests/itens dos mais váriados possíveis - Troca de vocações in-game - Rituais - Ultra God/Hakaishin's/Darkness - Algumas boxes - Sistema de Shop (caso queira tirar a venda in-game e colocar por site) - Evento Zarama Shenlong - Convertor de barras E dos mais diversos. Um vídeo que encontrei de um amigo demonstrando melhor o servidor: Caso queira ver mais do servidor, procure por "Dbo Absalon" no youtube Download https://www.mediafire.com/file/ofsjj852ql2a1k4/Servidor+Client.zip/file Scan virustotal.com/gui/file/3bb301f74944c4fa306578fd946cfc0f731266f9e4c68d8c57b1d4049e090196/detection Créditos Jhonathan Nayol Workedbox Wesker
  20. -- Script System Vip 2.2 -- function onSay(cid, words, param) if(words == "!buyvip") then local price = 5000000 if doPlayerRemoveMoney(cid, price) == TRUE then local days = 30 local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then 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)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local name = getCreatureName(cid) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.") end elseif(words == "!vipdays") then local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.") elseif(words == "/checkvip") then if getPlayerAccess(cid) == 5 then if not param then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(param) if not isPlayer(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.") end local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60)) doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.") return TRUE end elseif(words == "/addvip") then if getPlayerAccess(cid) == 5 then local t = string.explode(param, ",") if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(t[1]) local name = getCreatureName(player) local days = t[2] local pid = getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end local daysvalue = days*3600*24 local storageplayer = getPlayerStorageValue(player, 13540) local timenow = os.time() local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") setPlayerStorageValue(player, 13540, time) local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.") else setPlayerStorageValue(player, 13540, time) doRemoveCreature(player) end end elseif(words == "/delvip") then if getPlayerAccess(cid) == 5 then local dec = MESSAGE_INFO_DESCR if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end local C,t = {},string.explode(param, ",") C.pos = getPlayerPosition(cid) C.uid = getCreatureByName(t[1]) C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia. C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip. if(getPlayerStorageValue(C.uid,13540) < C.time)then doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.') else doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.') setPlayerStorageValue(C.uid,13540,getPlayerStorageValue(C.uid,13540)-C.time) end doSendMagicEffect(C.pos, math.random(28,30)) end end return TRUE end Tenta aí.
  21. É, brother, mil desculpas, não vou conseguir te ajudar, fiquei um tempo fora da comunidade e estou enferrujado :/, boa sorte.
  22. Pior que eu testei aqui e foi, você mexeu em algo na pasta "lib"?
  23. Quando você comprou, o seu vendedor não lhe enviou uma pasta de arquivos chamada "source"?

Informação Importante

Confirmação de Termo