Ir para conteúdo

Vodkart

Héroi
  • Registro em

Tudo que Vodkart postou

  1. dá para fazer tudo num script só. function doTpTime(cid, delay, pos, msg) if not isCreature(cid) then return LUA_ERROR end if delay > 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "{Teleport} "..delay.." segundos para se teletransportar para "..msg..".") addEvent(doTpTime, 1000, cid, delay-1, pos, msg) else doTeleportThing(cid, pos) doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, 22, "Voce foi teleportado para "..msg.."! DBO EVOLUTION") end end local store,exhausted = 756841,10 function onUse(cid, item, fromPosition, item2, toPosition) local items = { -- [ITEMID] [15872] = {pos = {x = 433, y = 992, z = 15}, msg = "Earth"}, [15873] = {pos = {x = 478, y = 992, z = 15}, msg = "Namek Planet"}, [15874] = {pos = {x = 500, y = 992, z = 15}, msg = "Vegeta Planet"} } local var = items[item.itemid] if not var then return true end if getPlayerStorageValue(cid, store) >= os.time() then doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, store) - os.time() .. " seconds to use this item.") return true end setPlayerStorageValue(cid, store, os.time()+exhausted) doTpTime(cid, 5, var.pos, var.msg) return true end FAVOR TROCAR O ID DOS ITEMS QUE ESTÃO DENTRO DAS CHAVES [] local items = { -- [ITEMID] [15872] = {pos = {x = 433, y = 992, z = 15}, msg = "Earth"}, [15873] = {pos = {x = 478, y = 992, z = 15}, msg = "Namek Planet"}, [15874] = {pos = {x = 500, y = 992, z = 15}, msg = "Vegeta Planet"} } ai no actions.xml coloca assim por exemplo: <action itemid="15872;15873;15874" script="nome do seu script.lua"/> ou se forem tudo em ordem tbm pode ser assim: <action itemid="15872-15874" script="nome do seu script.lua"/>
  2. Sim, tem como adaptar o npc para dar acesso a outra quest, como próprio npc task já entrega uma storage, a gente usaria essa mesma storage no outro npc, para ter o controle e saber se ele realmente já finalizou tal task.... Se já terminou, o outro npc daria o acesso. No MODS existe uma tabela para somente o npc da task, que seria a tabela "task_sys". Mas nada impede que por exemplo, a gente crie outras tabelas dentro do MODS, como por exemplo "task_sys_1" e configure(crie) outro npc para trabalhar só com essa tabela, fazendo essa missão. obs: até daria para só trabalhar com a linha 26 por exemplo, mas não fica muito organizado.
  3. @isac001 posta os 3 arquivos para eu ver como ficou.
  4. @LucianoFlorencio dentro do mods, lá pelo final você vai procurar essa linha: if isPlayer(cid) and isMonster(target) and not isSummon(target) then e deixa ela assim if isPlayer(cid) and isMonster(target) then
  5. @isac001 ué... só mudar a coordenada. outra coisa, coloca uma storage entre elas para não poder usar varios teleport ao mesmo tempo. um cd de 5 segundos entre um tp e outro.
  6. @LucianoFlorencio amigo não está lendo o MOD, tenta reinstalar... e tem um caractere no final "?" do nome do mods... remova... ---------- caso o erro persista, eu vou te solicitar o Mods via PM
  7. function doTpTime(cid, delay) if not isCreature(cid) then return LUA_ERROR end if delay > 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} "..delay.." segundos para se teletransportar.") addEvent(doTpTime, 1000, cid, delay-1) else doTeleportThing(cid, {x = 433, y = 992, z = 15}) doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, 22, "Voce foi teleportado para Earth! DBO EVOLUTION") end end function onUse(cid, item, fromPosition, item2, toPosition) doTpTime(cid, 5) end
  8. @alexpaimel acabei de baixar um servidor só para testar e não apresentou esses erros. Acho que tem a ver com a lib de npc do seu servidor, você pode tentar trocar por outra lib(baixa outro ot e substitua pela lib do seu). @alexpaimel e a segunda imagem diz que não está encontrando a lib "Labia_System" isso sim é um erro seu, pode ser isso que estais fazendo errado. para instalar tem que copiar a lib e colocar no seu servidor na pasta lib: Baiak Yurots 5.2\data\lib por exemplo o meu é esse. Não é na lib na pasta do npc hein.
  9. com certeza o erro está na lib do npc, na hora de copiar deve ter feito algo errado... me envia a lib do npc que vc esta usando.
  10. @tetheuscunha Não, mas quem quiser passar para o TFS 1.x +, sinta-se a vontade, tem todo meu apoio!!!
  11. vc modificou algo na lib? valor, item, etc? se sim, posta ela aqui...
  12. * Query para SQLITE: CREATE TABLE player_autoloot_persist ( player_guid INTEGER NOT NULL, cont_id INT NOT NULL DEFAULT 0, item_id INT NOT NULL DEFAULT 0, PRIMARY KEY ( player_guid ) ); * Query para MySql: CREATE TABLE player_autoloot_persist ( player_guid INT NOT NULL AUTO_INCREMENT, cont_id INT NOT NULL DEFAULT 0, item_id INT NOT NULL DEFAULT 0, PRIMARY KEY ( player_guid ) );
  13. é bem simples, faz por creaturescript usando onStats e onAttack. Ai na sepell vc coloca pra dar o effect, storage e e imobilizar ele.
  14. ele pega o primeiro e coloca onde? na sua bag?
  15. como ele disse, deve ser algum movement relacionado ao item. procure lá na pasta e arquivo xml
  16. para que usar 2 códigos se pode fazer somente 1? usa assim: nome do seu script.lua local ret = { [10021] = {id = 6132, price = 10000, effect = CONST_ME_FIREWORK_BLUE}, [10022] = {id = 9933, price = 20000, effect = CONST_ME_FIREWORK_RED} } function onUse(cid, item, fromPosition, itemEx, toPosition) local t = ret[item.itemid] if not t then return true elseif not doPlayerRemoveMoney(cid, t.price) then doPlayerSendCancel(cid, "You need "..t.price.." golds.") return true end local pos = getThingPos(cid) doSendMagicEffect(pos, t.effect) doTransformItem(item.uid, t.id) return true end tag: <action itemid="10021;10022" event="script" value="nome do seu script.lua"/> ---------------------- OBS: não dá para ver o vídeo.
  17. já sei porque está acontecendo isso e é bem simples, o seu script já veio com a função errada. sabe essa linha: doTeleportThing(cid, fromPosition, false) vc tem que colocar true. doTeleportThing(cid, fromPosition, true) ai ai, nem reparei nisso. local tp_mineracao = {x = 2848, y = 2871, z = 8} local areasMineracao = { {{x = 2803, y = 2861, z = 8}, {x = 2864, y = 2896, z = 8}}, {{x = 2799, y = 2864, z = 9}, {x = 2869, y = 2903, z = 9}}, {{x = 2802, y = 2876, z = 10}, {x = 2894, y = 2923, z = 10}} } function onStepIn(cid, item, position, fromPosition, toPosition) local max, ret = 3,0 -- 3 por account if not isPlayer(cid) then return true end for _, v in pairs(areasMineracao) do for _, pid in pairs(getPlayersOnline()) do if (getPlayerIp(pid) == getPlayerIp(cid) and isInRange(getThingPos(pid), v[1], v[2])) then ret = ret+1 end end end if ret > max then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Só é permitido "..max.." jogadores por IP na mineração.") doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) return true end doTeleportThing(cid, tp_mineracao, false) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) setPlayerStorageValue(cid, 45393, 1) return true end
  18. @Pifafa foi um erro noob meu... kkkkk troque essa linha: if ret > max then por if ret >= max then
  19. Deixa eu ver a lib das positions das minerações, porque pela lógica do código está certo.
  20. @Pifafa function onStepIn(cid, item, position, fromPosition, toPosition) local max, ret = 3,0 -- 3 por account if not isPlayer(cid) then return true end for _, v in pairs(areasMineracao) do for _, pid in pairs(getPlayersOnline()) do if (getPlayerIp(pid) == getPlayerIp(cid) and isInRange(getThingPos(pid), v[1], v[2])) then ret = ret+1 end end end if ret > max then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Só é permitido "..max.." jogadores por IP na mineração.") doTeleportThing(cid, fromPosition, false) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) return true end doTeleportThing(cid, tp_mineracao, false) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) setPlayerStorageValue(cid, 45393, 1) return true end
  21. na verdade n precisa nem atribuir storage, a função da anihi no caso para esse codigo, está errada... use assim: local config = { from = {x = 22987, y = 19805, z = 7}, -- coordenada do canto superior esquerdo da área. to = {x = 23024, y = 19992, z = 7}, -- coordenada do canto inferior direito da área. } local t = { lvl = 100, Time = 2, -- em minutos entrada = { {x = 23052, y = 19991, z = 7}, -- pos players {x = 23051, y = 19991, z = 7}, {x = 23050, y = 19991, z = 7}, {x = 23049, y = 19991, z = 7} }, saida = { {x = 23017, y = 19985, z = 7}, -- pos para onde eles irão {x = 23019, y = 19985, z = 7}, {x = 23017, y = 19987, z = 7}, {x = 23019, y = 19987, z = 7} }, monstros = { {{x = 23004, y = 19832, z = 7}, "Juggernaut"}, -- defina pos dos montros e nomes {{x = 23004, y = 19834, z = 7}, "Ghazbaran"} } } local function getPlayersInArea(fromPos, toPos) local players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(players, pid) end end return players end local function VarAnihiPlayer(cid) if not isCreature(cid) then return LUA_ERROR end if isInRange(getPlayerPosition(cid), config.from, config.to) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} if #getPlayersInArea(config.from, config.to) > 0 then doPlayerSendCancel(cid, 'Aguarde, tem jogadores fazendo a quest.') return true end for _, k in ipairs(t.entrada) do local x = getTopCreature(k).uid if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.lvl) then doPlayerSendCancel(cid, 'Está faltando player ou alguém não possui level '..t.lvl..' ou mais.') return true end table.insert(check, x) end for _, summon in pairs(t.monstros) do local creature = getTopCreature(summon[1]).uid if(creature > 0 and not isPlayer(creature)) then doRemoveCreature(creature) end doCleanTile(summon[1]) doCreateMonster(summon[2], summon[1]) end for i, tid in ipairs(check) do doSendMagicEffect(t.entrada[i], CONST_ME_POFF) doTeleportThing(tid, t.saida[i], false) addEvent(VarAnihiPlayer, t.Time*60*1000, tid) doSendMagicEffect(t.saida[i], CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end
  22. @maicao22 entendi, então tem a ver com a datapack!! bom saber, que bom que deu certo!! valeu.
  23. Ficou perfeito esse rain system, parabéns pelo código!! Gostei mesmo, espero ver mais scripts seus daqui pra frente, você é o cara mesmo!
  24. diz que não está achando o arquivo, reinstala de novo...
  25. @maicao22 seu servidor não tem a função onStats... apaga tudo aí que te mandei, e dentro do xml do monstro apaga o event tbm, claro... (obs: apa as tags tbm) agora usa assim: nome do seu script.lua function onLogin(cid) registerCreatureEvent(cid, "noBossDamage") return true end function onCombat(cid, target) if isPlayer(cid) and isMonster(target) then local monster = "Rabbit" -- nome do boss if getCreatureName(target):lower() == monster:lower() and #getCreatureSummons(target) ~= 0 then return false end end return true end TAG <event type="login" name="noBossLogin" event="script" value="nome do seu script.lua"/> <event type="combat" name="noBossDamage" event="script" value="nome do seu script.lua"/>

Informação Importante

Confirmação de Termo