Ir para conteúdo

Crypter

Visconde
  • Total de itens

    368
  • Registro em

  • Última visita

  • Dias Ganhos

    14

Tudo que Crypter postou

  1. function onStepIn(cid, item, position, fromPosition) if isSummon(cid) then doTeleportThing(cid, fromPosition, true) return false end return true end
  2. @klbkevinklb Preste atenção, quando você pegar algum código do fórum converta ele pra ANSII, as vezes alguns caracteres que não existem na formatção UTF-8 ficam invisivel e bugam o código. no notepadd++ abra o arquivo e converta para ANSII Ao converter olha como ficou o código , você deve apagar esses '"?"' para então funcionar. O Código atualizado
  3. @klbkevinklb registre dessa forma no xml para que o script funcione em todos os portais movements.xml <movevent type="StepIn" itemid="1387" event="script" value="teleportAction.lua"/> Código que faz o pokemon retornar e não morrer, caso queira mesmo que o pokemon morra, use o script do Marshmello com o registramento do xml que eu falei. teleportAction.lua function onStepIn(cid, item, position, fromPosition) if #getCreatureSummons(cid) >= 1 then local pokeball = getPlayerSlotItem(cid, 8).uid local poke = getCreatureSummons(cid)[1] local btype = getPokeballType(pokeball.itemid) local effect = pokeballs[btype].effect if not effect then effect = 21 end local cd = getCD(pokeball.uid, "blink", 30) if cd > 0 then setCD(item.uid, "blink", 0) end doReturnPokemon(cid, poke, pokeball, effect) doPlayerSendCancel(cid, '12//,hide') doPlayerSendTextMessage(cid, 22, "Seu pokémon retornou para a pokebola.") end return true end
  4. De nada, marque como melhor resposta para que o tópico possa ser fechado como solucionado.
  5. Mude saveGlobalStorage = false para saveGlobalStorage = true, no config.lua.
  6. tópico atualizado, adicionado o servidor de discord ( https://discord.gg/Zf8tCHQ )
  7. Posta mais informações sobre o teu servidor, versão do servidor, base, versão do cliente e etc...
  8. local cfg = { [2160] = {chance = 50, quantidade = 50, description = "Dinheiro"}, [2159] = {chance = 40, quantidade = 1, description = "Gold Bar"}, [2158] = {chance = 30, quantidade = 1, description = "Blue Gem"} } local pos = {x = 1052, y = 1049, z = 7} -- position cp de saffron local win = false function onUse(cid, itemId, itemEx) if not getGlobalStorageValue(cid, 12389) == 1 then doTeleportThing(cid, pos) doPlayerSendCancel(cid, "[Evento Bag] esta fechado") return true end for k,v in pairs(cfg) do if v.chance >= math.random(1, 100) then doPlayerAddItem(cid, k, v.quantidade) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Win-Bag-Event] \n premio:["..v.description.."]") win = true break end end doTeleportThing(cid, pos) if not win then doCreatureSay(cid, 'Falhou Meu Guerreiro', TALKTYPE_ORANGE_1) end return true end
  9. local text = {"TOP SEASON"} -- msg local time = 1 -- tempo para enviar a msg novamente local effects = {21, 2, 5, 11, 15, 19, 22, 28, 29, 33, 32, 35, 39, 53, 54, 78, 77} -- efeitos aleatorios que saiem local storage_quest,key = 3423423,1 -- storage da quest pra usar o comando local storage_OnOff = 3423424 -- storage que salva se ta ou não ativado local storage_exhaustion,time_exhaustion = 3423425,10 -- tempo para usar o comando novamente local function doSendMessageAndEffect(cid, position, loop) if getPlayerStorageValue(cid,storage_OnOff) == 0 then return end -- para de enviar caso desative doSendAnimatedText(position, text[math.random(#text)], math.random(255)) doSendMagicEffect(position, effects[math.random(#effects)]) if loop then addEvent(doSendMessageAndEffect,time*1000,cid, getThingPos(cid),true) end end function onSay(cid, words, param) if getPlayerStorageValue(cid, storage_quest) ~= key then return doPlayerSendCancel(cid, "You need a storage value.") -- msg caso não tenha a storage elseif exhaustion.check(cid, storage_exhaustion) then return doPlayerSendCancel(cid, "Wait ".. exhaustion.get(cid,storage_exhaustion) .." seconds.") end -- exhaustion.set(cid,time_exhaustion) -- if param == "on" then if getPlayerStorageValue(cid, storage_OnOff ) == 1 then return doPlayerSendCancel(cid, "You have already activated this.") end doSendMessageAndEffect(cid, getThingPos(cid), true) setPlayerStorageValue(cid, storage_OnOff, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "You have successfully activated. To disable, talk /top off") elseif param == "off" then if getPlayerStorageValue(cid, storage_OnOff) == 0 then return doPlayerSendCancel(cid, "You can not disable this.") end setPlayerStorageValue(cid, storage_OnOff, 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "You have successfully disabled. To activate, talk /top on") elseif (param ~= "on") or (param ~= "off") then doPlayerSendCancel(cid, "You can activate with the 'on' parameter and deactivate with the 'off'. Example /top on to enable ...") end return true end Caso sua dúvida foi solucionada, marque a melhor resposta para o tópico ser fechado.
  10. local text = {"TOP SEASON"} -- Auto-Mensagens. local time = 1 -- Intervalo de Tempo em segundos. local effects = {21, 2, 5, 11, 15, 19, 22, 28, 29, 33, 32, 35, 39, 53, 54, 78, 77} -- Intervalo de Tempo em segundos. local storage,key = 3423423,1 local function doSendMessageAndEffect(cid, position, loop) if getPlayerStorageValue(cid,storage) ~= key then return end doSendAnimatedText(position, text[math.random(#text)], math.random(255)) doSendMagicEffect(position, effects[math.random(#effects)]) if loop then addEvent(doSendMessageAndEffect,time*1000,cid, getThingPos(cid),true) end end function onSay(cid, words, param) local position = getThingPos(cid) doSendMessageAndEffect(cid, position,true) return true end
  11. elseif spell == "???" then local name = getSubName(cid, target) local time = 25 -- em segundo local OutfitsIds = { -- ["pokemon name"] = OutfitId, ["Magikarp"] = 25, ["Blastoise"] = 225, } if not OutfitsIds[name] then return end doSetCreatureOutfit(cid, {lookType = OutfitsIds[name]}, time*1000)
  12. function onMoveItem(cid, item, count, toContainer, fromContainer, fromPos, toPos) if not isCreature(cid) then return false end if isWatchingTv(cid) then return false end local name = getCreatureName(cid) local transform = false --- nao retirar item que estao no slot 8 e sao uniques if fromPos.x ~= 0 and toContainer.uid == 0 and fromContainer.uid == 0 and toPos.x == 65535 and getPlayerSlotItem(cid, 8).uid ~= 0 then doPlayerSendCancel(cid, MSG_NAO_E_POSSIVEL) return false end local itemID = item.itemid if itemID >= 14795 and itemID <= 14879 or pokeballs[getPokeballType(itemID)] and (itemID == pokeballs[getPokeballType(itemID)].use and (#getCreatureSummons(cid) > 0 or isRiderOrFlyOrSurf(cid))) then doPlayerSendCancel(cid, "Você não pode mover este item.") return false end if isFly(cid) and (getTileThingByPos(toPos).itemid == 460 or getTileThingByPos(toPos).itemid == 12171 or getTileThingByPos(toPos).itemid == 12172 or (toContainer.uid == 0 and getThingPos(cid).z ~= toPos.z)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_CANNOTTHROW) return false end if isInArray({2589, 15446, 15447, 15448, 15449, 12355}, toContainer.itemid)then -- nao fazer nada no cp return true end local pos = toPos local items = getItemsfromPos(pos) for i = 1, #items do local name = getItemInfo(items.itemid).name if string.find(name, "fainted") or string.find(name, "defeated") then doSendMsg(cid, "Não pode jogar lá.") return false end end if isPokeball(item.itemid) and toPos.x == 65535 then if not getItemAttribute(item.uid, "unique") and getPlayerFreeCap(cid) > 1 then doTransformPokeballIcon(cid, item, count, toContainer, fromContainer, fromPos, toPos) end end if isPokeball(item.itemid) or isContainer(item.uid) then if hasSqm(toPos) then if isContainer(item.uid) then local itens = getItensUniquesInContainer(item.uid) local sendMsg = false if #itens >= 1 then doSendMsg(cid, #itens.." item"..(#itens < 2 and "" or "s").." neste recipiente "..(#itens < 2 and "é exclusivo" or "são exclusivos")..". Você não pode joga-lo"..(#itens < 2 and "" or "s").." fora!") return false end else if getItemAttribute(item.uid, "unique") or getItemAttribute(item.uid, "torneio") then doSendMsg(cid, "Isso é um item exclusivo, você não pode joga-lo fora!") return false end end elseif isContainer(toContainer.uid) and (isPokeball(item.itemid) or isContainer(item.uid)) then if toContainer.itemid == getPlayerSlotItem(cid, 3).itemid then -- nao fazer nada na poke bag principal return true end if not isPosEqual(getThingPos(toContainer.uid), getThingPos(cid)) then if isContainer(item.uid) then local itens = getItensUniquesInContainer(item.uid) local sendMsg = false if #itens >= 1 then doSendMsg(cid, #itens.." item"..(#itens < 2 and "" or "s").." neste recipiente "..(#itens < 2 and "é exclusivo" or "são exclusivos")..". Você não pode joga-lo"..(#itens < 2 and "" or "s").." fora!") return fa?lse end else if getItemAttribute(item.uid, "unique") or getItemAttribute(item.uid, "torneio") then doSendMsg(cid, "Isso é um item exclusivo, você não pode joga-lo fora!") return false end end end end end return true end function getItemsfromPos(position, fromStackpos) local toret = { } -- table to return items position.stackpos = fromStackpos if position.stackpos == nil then position.stackpos = 1 -- default end while true do -- loop to catch the items and insert them in toret table local thing = getThingfromPos(position) if thing.itemid == 0 then -- thing doesn't exist, break the loop... break end if getWholeThing ~= nil and getWholeThing ~= 0 then -- if getWholeThing isn't nil and isn't 0 table.insert(toret,thing) else -- else, insert only item uid in toret table table.insert(toret,thing) end position.stackpos = position.stackpos + 1 -- get next item end return toret end
  13. Muda o valor da variável local waittime = 1 por exemplo: local waittime =
  14. @carlinhoo0ww marca como melhor resposta, para o tópico ser fechado
  15. function onUse(cid, item, frompos, item2, topos) local storate,value = 874157,1 -- numero da storage, e o valor que ganha na quest da storage local vocationId = 6 if not getPlayerVocation(cid) == vocationId then return doPlayerSendTextMessage(cid,22,"Você precisa ser um ? para entrar na área especial.") elseif not getPlayerStorageValue(cid, storate) == value then return doPlayerSendTextMessage(cid,22,"Você precisa fazer a quest para entrar na área especial.") end doTeleportThing(cid,{x=134, y=2443, z=7}) doPlayerSendTextMessage(cid,22,"Você foi teleportado para área dos ?.") return true end
  16. @neoX304 mudei a formula , testa e me diga se ficou bom caso queria menos ou mais dano de acordo com o lvl altere a variável levelDamageRate = 0.5
  17. local need_target = true local bullet_id = 2543 local shots_amount = 1 local exhaustion_time = -0.1 local exhaust = 19302 local shot_effect = 17 local shot_distance_effect = 7 local damage_type = COMBAT_PHYSICALDAMAGE local shots_delay = 330 local slots = {CONST_SLOT_LEFT, CONST_SLOT_RIGHT} local control = 0 --- configs do dano: local dmg_min, dmg_max = -600, -620 local levelDamageRate = 0.5 function onUse(cid, item, fromPosition, itemEx, toPosition) if isCreature(cid) then dmg_min = dmg_min + (getPlayerLevel(cid) * levelDamageRate) dmg_max = dmg_max + (getPlayerLevel(cid) * levelDamageRate) end for a, b in ipairs(slots) do if getPlayerSlotItem(cid, b).uid ~= item.uid then control = control + 1 end end if control == slots then return doPlayerSendCancel(cid, "Coloque a arma no slot correto.") end if need_target then if getCreatureTarget(cid) <= 0 then return doPlayerSendCancel(cid, "Selecione um alvo primeiro.") elseif getPlayerItemCount(cid, bullet_id) < shots_amount then return doPlayerSendCancel(cid, "Você não possui munição.") elseif exhaustion.check(cid, exhaust) then return doPlayerSendCancel(cid, "Aguarde "..(exhaustion.get(uid, exhaust)).." segundos para usar a arma novamente.") end exhaustion.set(cid, exhaust, exhaustion_time) for i = 0, shots_amount-1 do addEvent(function() if getCreatureTarget(cid) <= 0 then return true elseif getPlayerItemCount(cid, bullet_id) < 1 then return doPlayerSendCancel(cid, "Você não possui munição.") end doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(getCreatureTarget(cid)), shot_distance_effect) doTargetCombatHealth(cid, getCreatureTarget(cid), damage_type, dmg_min, dmg_max, shot_effect) doPlayerRemoveItem(cid, bullet_id, 1) end, shots_delay*i) end else if not isCreature(itemEx.uid) then return doPlayerSendCancel(cid, "Selecione um alvo primeiro.") elseif getPlayerItemCount(cid, bullet_id) < shots_amount then return doPlayerSendCancel(cid, "Você não possui munição.") elseif exhaustion.check(cid, exhaust) then return doPlayerSendCancel(cid, "Aguarde "..(exhaustion.get(cid, exhaust)).." segundos para usar a arma novamente.") end exhaustion.set(cid, exhaust, exhaustion_time) for i = 0, shots_amount-1 do addEvent(function() if not isCreature(itemEx.uid) then return true elseif getPlayerItemCount(cid, bullet_id) < 1 then return doPlayerSendCancel(cid, "Você não possui munição.") end doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(itemEx.uid), shot_distance_effect) doTargetCombatHealth(cid, itemEx.uid, damage_type, dmg_min, dmg_max, shot_effect) doPlayerRemoveItem(cid, bullet_id, 1) end, shots_delay*i) end end return true end
  18. Não é esse provável que seja a lib que fica os moves dos pokemon, deve ser moves.lua, pokemonmoves.lua algo do tipo, fica em data/lib
  • Quem Está Navegando   0 membros estão online

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