Ir para conteúdo

dragonfight

Barão
  • Total de itens

    249
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Tudo que dragonfight postou

  1. O xtibia é meio parado em relação a c++. Mas vlw pelo post!
  2. Pessoal, alguém ja teve esse tipo de problema com o dat editor? Eu abro os arquivos .dat e .spr pra editar, mas dependendo do item que eu substituo, corrompe o .dat ao salvar... Alguns items, ao substituir e salvar(um unico item) já buga. Se alguem puder ajudar.. Já arrumei, usei TibiaEditor ao inves do dat editor.
  3. Pessoal, sera que alguem pode ajudar? Como faço pra desbloquear mais de 255 effects no client? Eu já modifiquei as sources, mas quando rodo o effect numero 256, começa a repetir os effects. Eu andei lendo que tem que mecher no client com um hex editor... Alguem sabe modificá-lo?
  4. Então pessoal eu pedi esse script porque ele é muito útil para tutores, pois alguns tutores abusam dando goto pra npcs de quest , e etc. Eu usei o script padrão, apenas removendo a parte que voce pode dar goto em npc ou em determinada coordenada. Vá no talkactions.xml e coloque: <talkaction log="yes" words="/got" access="1" event="script" value="got.lua" /> <talkaction log="yes" words="/ccc" access="1" event="script" value="puxando.lua" /> Lembrando que você pode editar o nome do comando a seu gosto. No caso ali o "/got" é um /goto só que ele nao funciona em npc. E o /ccc é o comando de "puxar" só que não puxa npcs. Nos scripts crie um arquivo got.lua e cole: function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local creature = getCreatureByName(param) local player = getPlayerByNameWildcard(param) local waypoint = getWaypointPosition(param) local tile = string.explode(param, ",") local pos = {x = 0, y = 0, z = 0} if(player ~= nil and (not isPlayerGhost(player) or getPlayerGhostAccess(player) <= getPlayerGhostAccess(cid))) then pos = getCreaturePosition(player) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local tmp = getCreaturePosition(cid) if(doTeleportThing(cid, pos, true) and not isPlayerGhost(cid)) then doSendMagicEffect(tmp, CONST_ME_POFF) doSendMagicEffect(pos, CONST_ME_TELEPORT) end return true end Depois crie um arquivo chamado puxando.lua e cole: function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local target = getPlayerByNameWildcard(param) if(not target) then target = getPlayerByName(param) if(not target) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creature not found.") return true end end if(isPlayerGhost(target) and getPlayerGhostAccess(target) > getPlayerGhostAccess(cid)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creature not found.") return true end local pos = getClosestFreeTile(target, getCreaturePosition(cid), false, false) if(not pos or isInArray({pos.x, pos.y}, 0)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cannot perform action.") return true end local tmp = getCreaturePosition(target) if(doTeleportThing(target, pos, true) and not isPlayerGhost(target)) then doSendMagicEffect(tmp, CONST_ME_POFF) doSendMagicEffect(pos, CONST_ME_TELEPORT) end return true end É isso ai pessoal, espero que ajude a todos.
  5. Olá Pessoal, preciso de um comando goto que nao funcione em npc, que somente de pra dar goto em players. Aguardo ajuda Ja fiz o script, pode fechar
  6. Maws errei, tenta aew: function onAdvance(cid, skill, oldlevel, newlevel) local points = 50 if(getPlayerStorageValue(cid, 99963) ~= 1 and skill == SKILL__LEVEL and newlevel >= 45) then doAddPoints(cid, points) setPlayerStorageValue(cid, 99963, 1) doPlayerSendTextMessage(cid, 22, "editar texto") end return TRUE end
  7. Vá na pasta libs depois em 050-function e adicione as seguintes funções: function getAccountPoints(cid) local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1") if Info:getID() ~= LUA_ERROR then local Points= Info:getDataInt("premium_points") Info:free() return Points end return LUA_ERROR end function doAddPoints(cid, points) db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";") end Depois o código fica assim: function onAdvance(cid, skill, oldlevel, newlevel) local points = 50 if(getPlayerStorageValue(cid, 99963) ~= 1 and skill == SKILL__LEVEL and newlevel >= 45) then doAddPoints(cid, points) setPlayerStorageValue(cid, 99963, 1) doPlayerSendTextMessage(cid, 22, "editar texto") end return TRUE end Crédito pelas funções ao Lord Side de um outro fórum na Net Tem também a função de remover os pontos ingame, o que pode ser útil: function doRemovePoints(cid, points) local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1") if Info:getID() ~= LUA_ERROR then db.executeQuery("UPDATE accounts SET premium_points = - " .. points .. " WHERE id=" .. getPlayerAccountId(cid) .. ";") Info:free() return 1 end end
  8. Teste: function onAdvance(cid, skill, oldlevel, newlevel) local points = 50 if(getPlayerStorageValue(cid, 99963) ~= 1 and skill == SKILL__LEVEL and newlevel >= 45) then db.executeQuery("UPDATE `accounts` SET `premium_points` = "..points.." WHERE `name` ='"..getPlayerAccount(cid).."'") setPlayerStorageValue(cid, 99963, 1) doPlayerSendTextMessage(cid, 22, "editar texto") end return TRUE end
  9. dragonfight

    Distro Caindo

    Amigo, é linux ou windows? Saiba que no linux os servidores ficam muita mais estáveis! Windows mesmo é so pra quem ta começando.. Fica ai a dica.
  10. Na pasta globaevents abra o globalevensts.xml com o bloco de notas e adicione: <globalevent name="expadd" interval="3600" script="expadd.lua"/> Dentro da mesma pasta, abra a pasta scripts, e crie um aruqivo chamado expadd.lua e cole isso dentro dele: local lvlnext = getExperienceForLevel(getPlayerLevel(cid)+1) local expadd = { -- vocation => exp [1] = 0.10, [2] = 0.10 } function onThink(interval) for _, cid in ipairs(getPlayersOnline()) do local exp = expadd[getPlayerVocation(cid)] if(exp) then doSendMagicEffect(getCreaturePos(cid), effect) doPlayerAddExperience(cid, lvlnext * exp) end end return true end Nessa parte você configura: [1] = 0.10, [2] = 0.10 1 e 2 no caso são as vocações, e 0.10 corresponde a 10% do que falta para upar. Você pode adicionar vocações e configurar a experiencia ganha para cada uma. OBS: NÃO TESTEI, ESTOU APRENDENDO A MECHER EM SCRIPTS, SE NÃO FUNCIONAR ME AVISE.
  11. Demon", "1 Fire Devil", "1 Orshabaal" São criados esse 3 monsters? Posta aew o erro que aparece...
  12. dragonfight

    Npc retira item

    Passa o script do npc intero ai, e me explica direito que eu te ajudo. Testa esse elseif(msgcontains(msg, 'energyze elemental necklace') or msgcontains(msg, 'Energyze Elemental Necklace')) then selfSay('I can energyze your elemental necklace for 50k, would you like to energyza?', cid) talkState[talkUser] = 3 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then if doPlayerRemoveItem(cid, 2197, 1) == true and doPlayerRemoveMoney(cid, 50000) == true then selfSay('Thanks!', cid) doPlayerAddItem(cid, 11962, 1) talkState[talkUser] = 0 else selfSay('You do not have enough diamonds.', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'elemental necklace') or msgcontains(msg, 'Elemental Necklace')) then selfSay('You change a mysterious, dragon breath, scorpion, platinum, fluids and vampire tooth,change all for a Elemental necklace?', cid) talkState[talkUser] = 4 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then if doPlayerRemoveItem(cid,2201,1) and doPlayerRemoveItem(cid,2198,1) and doPlayerRemoveItem(cid,2170,1) and doPlayerRemoveItem(cid,2171,1) and doPlayerRemoveItem(cid,2172,1) and doPlayerRemoveItem(cid,2161,1) then doPlayerAddItem(cid,2197,1) selfSay('change the amulet\'s for one elemental necklace sucessfull.') else selfSay('change the amulet\'s for one elemental necklace sucessfull.') end
  13. Foi isso mesmo que ele pediu, é so mudar o level beeni pra 216 como você pediu.
  14. Existe alguma maneira de configurar quanto o player perde de level sem ser pelo config.lua?: deathLostPercent = 10 Eu queria saber se tem outro jeito, porque eu queria atribuir um valor pro level e outro pros skills e magic level...
  15. Olá pessoal, sera que alguem pode me ajudar? Eu to precisando de um script, que atribua uma determinada exp rate para um player de determinado storage. Exemplo, player tem o storage numero 1234 == 1 , entao o exp rate do server é ignorado e atribui um exp rate de 50, por exemplo. É difícil fazer isso?
  16. Segue o script: local RemoveOnUse,storage,exausted = true,98762,1 function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, storage) >= os.time() then return doPlayerSendCancel(cid, "You are exhausted.") end doCreatureAddHealth(cid, 100000) doCreatureAddMana(cid, 100000) doSendMagicEffect(getCreaturePosition(cid), 12) doCreatureSay(cid, "Cool!", 19) setPlayerStorageValue(cid, storage, os.time()+exausted) if RemoveOnUse == true then doRemoveItem(item.uid, 1) end return TRUE end Quando o player usa essa potion, ele nao consegue andar e ir healando ao mesmo tempo.. Traduzindo, ele anda de 1 em 1 sqm.. Como faço pro player poder andar normalmente enquanto regenera?
  17. Hra que resetar rep pra vcs, vlw.
  18. Pra eu fazer um teleport que so entra players que não estão pk, etc, é so colocar o protect em cima do teleport? ou preciso colocar em volta?
  19. Vlw, resetando meu rep é seu... So mais uma pergunta, nos ots antigos dava pra fazer no vocations.xml... Não é mais possivel?
  20. Como faço para mudar o corpse de determinada vocation? Distro 8.54.
  21. Podem fechar e obrigado por nada pessoal.
  22. Tipow, quando o skill upa 100 e sobe 1, ele zera? ou continua infinito tipo o exp do level?
  • Quem Está Navegando   0 membros estão online

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