Tudo que zipter98 postou
-
(Resolvido)Anunciar quando nascer o monstro !
Qual a base do seu servidor? Possui as sources? É possível fazer isto usando onSpawn.
-
(Resolvido)[PEDIDO] Uma arma, várias munições.
E como saberia qual munição o jogador quer utilizar?
-
(Resolvido)[Pedido 2 Scripts] Double ex por x player online e /anuncio.
... local function playerAddExp(cid, exp) doPlayerAddExp(cid, exp) doSendAnimatedText(getThingPos(cid), exp, 215) end function onDeath(cid, corpse, deathList) --if not isCreature(cid) then return true end if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8 -------------Edited Golden Arena------------------------- --alterado v1.7 \/\/ if getPlayerStorageValue(cid, 22546) == 1 then setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1) if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end --alterado v1.8 end if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) == 0 then local wave = getGlobalStorageValue(22547) for _, sid in ipairs(getPlayersOnline()) do if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then if getGlobalStorageValue(22547) < #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true) addEvent(doWave, timeToWaves*1000) elseif getGlobalStorageValue(22547) == #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Você foi o último sobrevivente da Golden arena tome sua recompensa!") doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --premio setPlayerStorageValue(sid, 22545, -1) doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false) setPlayerRecordWaves(sid) end end end if getGlobalStorageValue(22547) == #wavesGolden+1 then endGoldenArena() end end --------------------------------------------------- /\/\ local givenexp = getWildPokemonExp(cid) ---local killer = getItemAttribute(corpse.uid, "corpseowner") if givenexp > 0 then for a = 1, #deathList do local pk = deathList[a] --- local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false) if isCreature(pk) then local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid)) if getGlobalStorageValue(4091) > -1 then expTotal = math.floor(expTotal * getGlobalStorageValue(4091)) end local party = getPartyMembers(pk) if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then expTotal = math.floor(expTotal/#party) --alterado v1.6.1 for i = 1, #party do if isInArray(list, party[i]) then local m = isPremium(party[i]) and 1.2 or 1 if getPlayerLevel(pk) <= 50 then playerAddExp(party[i], m * expTotal * 200) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(party[i], m * expTotal * 130) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(party[i], m * expTotal * 80) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(party[i], m * expTotal * 40) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(party[i], m * expTotal * 20) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(party[i], m * expTotal * 10) elseif getPlayerLevel(pk) >= 351 then playerAddExp(party[i], m * expTotal * 5) end end end elseif not isInParty(pk) then if isPremium(pk) then expTotal = math.floor(expTotal * 1.2) end if getPlayerLevel(pk) <= 50 then playerAddExp(pk, math.floor(200 * expTotal)) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(pk, math.floor(130 * expTotal)) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(pk, math.floor(80 * expTotal)) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(pk, math.floor(40 * expTotal)) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(pk, math.floor(20 * expTotal)) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(pk, math.floor(10 * expTotal)) elseif getPlayerLevel(pk) >= 351 then playerAddExp(pk, math.floor(5 * expTotal)) return true end end end end end if isNpcSummon(cid) then local master = getCreatureMaster(cid) doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000)) doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1) doRemoveCreature(cid) return false end if corpse.itemid ~= 0 then --alterado v1.8 doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid)) doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) end return true end
-
(Resolvido)[Pedido 2 Scripts] Double ex por x player online e /anuncio.
pokeexp.lua: local function playerAddExp(cid, exp) doPlayerAddExp(cid, exp) doSendAnimatedText(getThingPos(cid), exp, 215) end function onDeath(cid, corpse, deathList) --if not isCreature(cid) then return true end if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8 -------------Edited Golden Arena------------------------- --alterado v1.7 \/\/ if getPlayerStorageValue(cid, 22546) == 1 then setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1) if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end --alterado v1.8 end if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) == 0 then local wave = getGlobalStorageValue(22547) for _, sid in ipairs(getPlayersOnline()) do if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then if getGlobalStorageValue(22547) < #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true) addEvent(doWave, timeToWaves*1000) elseif getGlobalStorageValue(22547) == #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Você foi o último sobrevivente da Golden arena tome sua recompensa!") doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --premio setPlayerStorageValue(sid, 22545, -1) doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false) setPlayerRecordWaves(sid) end end end if getGlobalStorageValue(22547) == #wavesGolden+1 then endGoldenArena() end end --------------------------------------------------- /\/\ local givenexp = getWildPokemonExp(cid) ---local killer = getItemAttribute(corpse.uid, "corpseowner") if givenexp > 0 then for a = 1, #deathList do local pk = deathList[a] --- local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false) if isCreature(pk) then local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid)) if getGlobalStorageValue(4091) > -1 then expTotal = math.floor(expTotal * getGlobalStorageValue(4091)) end local party = getPartyMembers(pk) if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then expTotal = math.floor(expTotal/#party) --alterado v1.6.1 for i = 1, #party do if isInArray(list, party[i]) then local m = isPremium(party[i]) and 2 or 1 if getPlayerLevel(pk) <= 50 then playerAddExp(party[i], m * expTotal * 200) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(party[i], m * expTotal * 130) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(party[i], m * expTotal * 80) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(party[i], m * expTotal * 40) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(party[i], m * expTotal * 20) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(party[i], m * expTotal * 10) elseif getPlayerLevel(pk) >= 351 then playerAddExp(party[i], m * expTotal * 5) end end end elseif not isInParty(pk) then if isPremium(pk) then expTotal = math.floor(expTotal * 2) end if getPlayerLevel(pk) <= 50 then playerAddExp(pk, math.floor(200 * expTotal)) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(pk, math.floor(130 * expTotal)) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(pk, math.floor(80 * expTotal)) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(pk, math.floor(40 * expTotal)) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(pk, math.floor(20 * expTotal)) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(pk, math.floor(10 * expTotal)) elseif getPlayerLevel(pk) >= 351 then playerAddExp(pk, math.floor(5 * expTotal)) return true end end end end end if isNpcSummon(cid) then local master = getCreatureMaster(cid) doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000)) doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1) doRemoveCreature(cid) return false end if corpse.itemid ~= 0 then --alterado v1.8 doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid)) doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) end return true end
-
(Resolvido)[Pedido 2 Scripts] Double ex por x player online e /anuncio.
Estas mensagens foram para verificar onde estava o erro, que, aparentemente, não existia. Você, na verdade, havia editado incorretamente o arquivo pokeexp.lua. local function playerAddExp(cid, exp) doPlayerAddExp(cid, exp) doSendAnimatedText(getThingPos(cid), exp, 215) end function onDeath(cid, corpse, deathList) --if not isCreature(cid) then return true end if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8 -------------Edited Golden Arena------------------------- --alterado v1.7 \/\/ if getPlayerStorageValue(cid, 22546) == 1 then setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1) if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end --alterado v1.8 end if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) == 0 then local wave = getGlobalStorageValue(22547) for _, sid in ipairs(getPlayersOnline()) do if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then if getGlobalStorageValue(22547) < #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true) addEvent(doWave, timeToWaves*1000) elseif getGlobalStorageValue(22547) == #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Você foi o último sobrevivente da Golden arena tome sua recompensa!") doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --premio setPlayerStorageValue(sid, 22545, -1) doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false) setPlayerRecordWaves(sid) end end end if getGlobalStorageValue(22547) == #wavesGolden+1 then endGoldenArena() end end --------------------------------------------------- /\/\ local givenexp = getWildPokemonExp(cid) ---local killer = getItemAttribute(corpse.uid, "corpseowner") if givenexp > 0 then for a = 1, #deathList do local pk = deathList[a] --- local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false) if isCreature(pk) then local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid)) if getGlobalStorageValue(4091) > -1 then expTotal = math.floor(expTotal * getGlobalStorageValue(4091)) end local party = getPartyMembers(pk) if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then expTotal = math.floor(expTotal/#party) --alterado v1.6.1 for i = 1, #party do if isInArray(list, party[i]) then if getPlayerLevel(pk) <= 50 then playerAddExp(party[i], expTotal * 200) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(party[i], expTotal * 130) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(party[i], expTotal * 80) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(party[i], expTotal * 40) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(party[i], expTotal * 20) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(party[i], expTotal * 10) elseif getPlayerLevel(pk) >= 351 then playerAddExp(party[i], expTotal * 5) end end end elseif not isInParty(pk) then if getPlayerLevel(pk) <= 50 then playerAddExp(pk, math.floor(200 * expTotal)) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(pk, math.floor(130 * expTotal)) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(pk, math.floor(80 * expTotal)) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(pk, math.floor(40 * expTotal)) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(pk, math.floor(20 * expTotal)) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(pk, math.floor(10 * expTotal)) elseif getPlayerLevel(pk) >= 351 then playerAddExp(pk, math.floor(5 * expTotal)) return true end end end end end if isNpcSummon(cid) then local master = getCreatureMaster(cid) doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000)) doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1) doRemoveCreature(cid) return false end if corpse.itemid ~= 0 then --alterado v1.8 doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid)) doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) end return true end
-
(Resolvido)[Pedido 2 Scripts] Double ex por x player online e /anuncio.
Este último arquivo que enviei é para ser colocado no pokeexp.lua, não no doubleexp.lua.
- Ditto Memory System por talkaction
-
Ditto Memory System por talkaction
OK, isto não é exatamente um sistema, visto que é composto por um único arquivo com um único callback, mas enfim. Antes de começar a desenvolver o tópico, digo-lhes: o código é para poketibia, não outros derivados ou Tibia comum. Introdução: A pedidos de um amigo, resolvi escrever este script. Por não programar em OTClient, optei por escrevê-lo em uma talkaction. Para aqueles que não conhecem o sistema, consiste em praticidade para as transformações do Ditto: ao invés de repetir o cansativo processo de procurar o pokémon que deseja-se copiar, você pode simplesmente salvá-lo na memória do Ditto para, sempre que quiser, transformá-lo em um único comando. Você pode configurar quantos slots de "memória" quiser. Para usar os comandos, você deve colocar uma pokebola com um Ditto no slot 8/feet (a.k.a "pokeball slot"). Alguns, no entanto, necessitam também que o pokémon esteja "solto". Comandos: /memory check Use este comando para verificar os atuais slots de seu Ditto. /memory forget [slot] Use este comando para deletar uma memória salva, respectiva ao slot indicado. Ex.: /memory forget 1 /memory save [slot] Use este comando para salvar uma memória, respectiva ao slot indicado. A memória salva será do pokémon que seu Ditto estará transformado no momento. Ex.: /memory save 3 /memory [slot] Use este comando para transformar seu Ditto no pokémon que estiver armazenado no slot indicado. Ex.: /memory 2 PS: Você também pode usar !memory. Instalação: Em data/talkactions/scripts, crie um arquivo com extensão .lua, nomeie-o dittomemory e coloque o seguinte conteúdo: Em data/talkactions, abra o arquivo talkactions.xml e coloque a seguinte tag: <talkaction words="/memory;!memory" event="script" value="dittomemory.lua"/> Versão testada: 8.54 Servidor testado: PDA by Slicer, versão 1.9 É um código bem simples, escrito em poucos minutos. Resolvi postá-lo pois gostei do resultado apresentado. Para alguns, pode não ser tão útil; para outros, espero que sim. É isso aí, até mais.
-
(Resolvido)O que tem de errado?
local mounts = { --[itemid] = {name = "monster", storage = storage, mountId = xxx, chance = xxx}, [13937] = {name = "donkey", storage = 5918, mountId = 13, chance = 50}, --Sendo a chance (de funcionar) em porcentagem. } function onUse(cid, item, frompos, itemEx, topos) local target = mounts[item.itemid] if target then if getPlayerStorageValue(cid, target.storage) > -1 then return doPlayerSendTextMessage(cid, 19, "Sorry, you already have that ride.") elseif not isMonster(itemEx.uid) then return doPlayerSendCancel(cid, "Use this in a monster.") elseif getCreatureName(itemEx.uid):lower() ~= target.name then return doPlayerSendCancel(cid, "Use this in "..target.name..".") end if math.random(1, 100) <= target.chance then doPlayerAddMount(cid, target.mountId) doRemoveCreature(itemEx.uid) doPlayerSendTextMessage(cid, 19, "The strange wheel seems to vibrate and slowly starts turning continuosly.") setPlayerStorageValue(cid, target.mountId, 1) else doPlayerSendCancel(cid, "Fail!") doRemoveItem(item.uid, 1) end end return true end
-
(Resolvido)O que tem de errado?
A chance seria a mesma para todos os items ou iria variar?
-
(Resolvido)O que tem de errado?
Você provavelmente está usando um item que não foi configurado na tabela mounts. PS: O que já foi configurado como exemplo é um ID hipotético.
-
(Resolvido)O que tem de errado?
local mounts = { --[itemid] = {name = "monster", storage = storage, mountId = xxx}, [13937] = {name = "donkey", storage = 5918, mountId = 13}, } function onUse(cid, item, frompos, itemEx, topos) local target = mounts[item.itemid] if target then if getPlayerStorageValue(cid, target.storage) > -1 then return doPlayerSendTextMessage(cid, 19, "Sorry, you already have that ride.") elseif not isMonster(itemEx.uid) then return doPlayerSendCancel(cid, "Use this in a monster.") elseif getCreatureName(itemEx.uid):lower() ~= target.name then return doPlayerSendCancel(cid, "Use this in "..target.name..".") end doPlayerAddMount(cid, target.mountId) doRemoveCreature(itemEx.uid) doPlayerSendTextMessage(cid, 19, "The strange wheel seems to vibrate and slowly starts turning continuosly.") doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, target.mountId, 1) end return true end
-
[Resolvido] Npc battle
Mude: local number_of_pokemons = 0 -- don't change para: local number_of_pokemons = 1 -- don't change
-
(Resolvido)[Pedido 2 Scripts] Double ex por x player online e /anuncio.
Use este código e informe tudo o que for imprimido no console. PS: Não se esqueça de reiniciar o servidor. local function playerAddExp(cid, exp) print("EXP adicionada: "..exp) doPlayerAddExp(cid, exp) doSendAnimatedText(getThingPos(cid), exp, 215) end function onDeath(cid, corpse, deathList) --if not isCreature(cid) then return true end if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8 -------------Edited Golden Arena------------------------- --alterado v1.7 \/\/ if getPlayerStorageValue(cid, 22546) == 1 then setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1) if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end --alterado v1.8 end if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) == 0 then local wave = getGlobalStorageValue(22547) for _, sid in ipairs(getPlayersOnline()) do if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then if getGlobalStorageValue(22547) < #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true) addEvent(doWave, timeToWaves*1000) elseif getGlobalStorageValue(22547) == #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Você foi o último sobrevivente da Golden arena tome sua recompensa!") doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --premio setPlayerStorageValue(sid, 22545, -1) doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false) setPlayerRecordWaves(sid) end end end if getGlobalStorageValue(22547) == #wavesGolden+1 then endGoldenArena() end end --------------------------------------------------- /\/\ local givenexp = getWildPokemonExp(cid) ---local killer = getItemAttribute(corpse.uid, "corpseowner") if givenexp > 0 then for a = 1, #deathList do local pk = deathList[a] --- local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false) if isCreature(pk) then local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid)) print("EXP sem bonus: "..expTotal) if getGlobalStorageValue(4091) > -1 then print("Bonus ativado.") expTotal = math.floor(expTotal * getGlobalStorageValue(4091)) print("Nova EXP: "..expTotal) end local party = getPartyMembers(pk) if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then expTotal = math.floor(expTotal/#party) --alterado v1.6.1 for i = 1, #party do if isInArray(list, party[i]) then if getPlayerLevel(pk) <= 50 then playerAddExp(party[i], expTotal * 200) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(party[i], expTotal * 130) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(party[i], expTotal * 80) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(party[i], expTotal * 40) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(party[i], expTotal * 20) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(party[i], expTotal * 10) elseif getPlayerLevel(pk) >= 351 then playerAddExp(party[i], expTotal * 5) end end end elseif not isInParty(pk) then print("Adicionando EXP: "..expTotal) if getPlayerLevel(pk) <= 50 then playerAddExp(pk, math.floor(200 * expTotal)) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(pk, math.floor(130 * expTotal)) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(pk, math.floor(80 * expTotal)) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(pk, math.floor(40 * expTotal)) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(pk, math.floor(20 * expTotal)) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(pk, math.floor(10 * expTotal)) elseif getPlayerLevel(pk) >= 351 then playerAddExp(pk, math.floor(5 * expTotal)) return true end end end end end if isNpcSummon(cid) then local master = getCreatureMaster(cid) doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000)) doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1) doRemoveCreature(cid) return false end if corpse.itemid ~= 0 then --alterado v1.8 doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid)) doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) end return true end
-
(Resolvido)Medal of Honour
local medalId = xxx --ID da Medal of Honour. local toPosition = {x = x, y = y, z = z} --Para onde o jogador será teleportado. function getItemsInContainerById(container, itemid) -- Function By Kydrai local items = {} if isContainer(container) and getContainerSize(container) > 0 then for slot=0, (getContainerSize(container)-1) do local item = getContainerItem(container, slot) if isContainer(item.uid) then local itemsbag = getItemsInContainerById(item.uid, itemid) for i=0, #itemsbag do table.insert(items, itemsbag[i]) end else if itemid == item.itemid then table.insert(items, item.uid) end end end end return items end function onUse(cid) if #getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, medalId) < 1 then local medalCheck for i = 1, 10 do if getPlayerSlotItem(cid, i).itemid == medalId then medalCheck = true break end end if not medalCheck then return doPlayerSendCancel(cid, "You can't pass here without a "..getItemNameById(medalId)..".") end end doTeleportThing(cid, toPosition) return true end
-
Item q Troca a outfit do player
local config = { --[vocationId] = outfitId, --Ex.: [3] = 171, [4] = 170, [7] = 172, [8] = 173, } function onUse(cid) local outfit, playerOutfit = config[getPlayerVocation(cid)], getCreatureOutfit(cid) if outfit then if getCreatureCondition(cid, CONDITION_OUTFIT) and playerOutfit.lookType == outfit then doRemoveCondition(cid, CONDITION_OUTFIT) doPlayerSendTextMessage(cid, 27, "You removed your outfit.") else playerOutfit.lookType = outfit doSetCreatureOutfit(cid, playerOutfit, -1) doPlayerSendTextMessage(cid, 27, "You put an outfit.") end end return true end
-
(Resolvido)O que tem de errado?
Optei por deixar a essência do código do autor, não alterando sua funcionalidade original. Se o Lykkan quiser, posso adicionar esta função de remover a criatura alvo.
-
(Resolvido)O que tem de errado?
local monster, storage = "donkey", 5918 function onUse(cid, item, frompos, itemEx, topos) if getPlayerStorageValue(cid, storage) > -1 then return doPlayerSendTextMessage(cid, 19, "Sorry, you already have that ride.") elseif not isMonster(itemEx.uid) then return doPlayerSendCancel(cid, "Use this in a monster.") elseif getCreatureName(itemEx.uid):lower() ~= monster then return doPlayerSendCancel(cid, "Use this in "..monster..".") end doPlayerAddMount(cid, 13) doPlayerSendTextMessage(cid, 19, "The strange wheel seems to vibrate and slowly starts turning continuosly.") doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, storage, 1) return true end
-
(Resolvido)[Pedido 2 Scripts] Double ex por x player online e /anuncio.
Troque: if getPlayerLevel(pk) <= 50 then playerAddExp(pk, math.floor(200 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(pk, math.floor(130 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(pk, math.floor(80 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(pk, math.floor(40 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(pk, math.floor(20 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(pk, math.floor(10 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 351 then playerAddExp(pk, math.floor(5 * givenexp * getDamageMapPercent(pk, cid))) por: if getPlayerLevel(pk) <= 50 then playerAddExp(pk, math.floor(200 * expTotal)) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(pk, math.floor(130 * expTotal)) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(pk, math.floor(80 * expTotal)) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(pk, math.floor(40 * expTotal)) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(pk, math.floor(20 * expTotal)) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(pk, math.floor(10 * expTotal)) elseif getPlayerLevel(pk) >= 351 then playerAddExp(pk, math.floor(5 * expTotal)) PS: A double experience em party já estava funcionando.
-
procurando staff pra new fórum
pensei que já tava on ;s
-
[Event New] Últimos Sobreviventes
Não vejo erros no código, mas tente usar esta versão do MOD e veja se o erro permanece:
-
Adeus TK
Não sei quanto a Designer, mas lhe afirmo que todas as outras conquistas ele merece. Não é porque não frequenta o fórum que necessariamente está ausente. Pode estar ajudando de outras maneiras, como correção de bugs, manutenção em geral e outras coisas que administradores de um fórum devem fazer. Contribuições (conteúdo) é algo, na minha opinião, de responsabilidade dos membros. A staff, pelo contrário, é responsável pela supervisão e manutenção do fórum (com a ajuda, sempre que possível, dos membros). Minha opinião flw
-
(Resolvido)[Pedido 2 Scripts] Double ex por x player online e /anuncio.
Pode postar seu pokeexp.lua? EDIT: Testei aqui, e funcionou perfeitamente. Se a base do seu servidor for PDA, então você fez alguma coisa errada. Por acaso esse Pokémon Pyros que você se refere é este?
-
(Resolvido)[Pedido 2 Scripts] Double ex por x player online e /anuncio.
Você está usando qual tag? As corretas, pelo menos para meu código, seriam estas: <event type="login" name="ExpLogin" event="script" value="nome_do_arquivo.lua"/> <event type="logout" name="ExpLogout" event="script" value="nome_do_arquivo.lua"/>
-
Spells PXG
Praticamente 2 meses depois, mas: ["Wobbuffet"] = { move1 = {name = "Safeguard", level = 100, cd = 40, dist = 1, target = 0, f = 0, t = "normal"}, move2 = {name = "Destiny Bound", level = 100, cd = 30, dist = 1, target = 0, f = 80, t = "ghost"}, passive1 = {name = "Stunning Confusion", level = 1, cd = 0, dist = 10, target = 0, f = 50, t = "psychic"}, },