Tudo que Mor3nao postou
-
(Resolvido)Ajuda a entender um script
usa MESSAGE_EVENT_ADVANCE no lugar de MESSAGE_STATUS_CONSOLE_BLUE
-
(Resolvido)GlobalEvent criar item no mapa
Agora deu?
-
Sistema para não pegar pk/pz?
.Qual servidor ou website você utiliza como base? otservbr-global 12.3 Qual o motivo deste tópico? Eu jogava um server, em que se vc tivesse com a mão do pz aberta, vc nao pegava pz/pk de forma alguma, vc nao causava dano em players, assim como também ja joguei alguns em que vc usava um comando, tipo "!pvp off" e tb desabilitava o seu dano em outros players, Aí queria saber: Como adicionar isso?
-
(Resolvido)GlobalEvent criar item no mapa
Tenta agora, se nao der, nao sei kk Agora vai: local config = { [1] = {1111, POSX1, POSY1, POSZ1, QUANTIDADEITEM1, CHANCE1}, [2] = {2222, POSX2, POSY2, POSZ2, QUANTIDADEITEM2, CHANCE2}, [3] = {3333, POSX3, POSY3, POSZ3, QUANTIDADEITEM3, CHANCE3} } function onThink(cid, interval, lastExecution) local item1 = config[1] local item2 = config[2] local item3 = config[3] local rand = math.random(100) local item1Pos = {x = item1[2], y = item1[3], z = item1[4], stackpos = 1} local Checkitem1 == getThingfromPos(item1Pos) if Checkitem1~= item1[1] and item1[6] >= rand then doCreateItem(item1[1], item1[5], item1Pos) end local item2Po s= {x = item2[2], y =item2[3], z =item2[4], stackpos = 1} local Checkitem2 = getThingfromPos(item2Pos) if Checkitem2~= item2[1] and item2[6] >= rand then doCreateItem(item2[1], item2[5], item2Pos) end local item3Pos = {x =item3[2], y =item3[3], z =item3[4], stackpos = 1} local Checkitem3 = getThingfromPos(item3Pos) if Checkitem3 ~= item3[1] and item3[6] >= rand then doCreateItem(item3[1], item3[5], item3Pos) end return true end
-
(Resolvido)GlobalEvent criar item no mapa
Entao só tirar o Position? kk
-
(Resolvido)GlobalEvent criar item no mapa
Ve se na tua pasta de actions, tem o script da alavanca de rookguard, ou se no teu movements tem o script do coal basin das tombs, se tiver me manda ai, pra eu ver como é a função na tua versão
-
(Resolvido)GlobalEvent criar item no mapa
Tenta assim, n uso tfs, ai fica foda kk: local config = { [1] = {1111, POSX1, POSY1, POSZ1, QUANTIDADEITEM1, CHANCE1}, [2] = {2222, POSX2, POSY2, POSZ2, QUANTIDADEITEM2, CHANCE2}, [3] = {3333, POSX3, POSY3, POSZ3, QUANTIDADEITEM3, CHANCE3} } function onThink(cid, interval, lastExecution) local item1 = config[1] local item2 = config[2] local item3 = config[3] local rand = math.random(100) local item1Pos = Position((item1[2]), (item1[3]), item1[4]) local Checkitem1 = getTileItemById(item1Pos, item1[1]) if Checkitem1 == 0 and item1[6] >= rand then doCreateItem(item1[1], item1[5], item1Pos) end local item2Pos = Position((item2[2]), (item2[3]), item2[4]) local Checkitem2 = getTileItemById(item2Pos, item2[1]) if Checkitem2 == 0 and item2[6] >= rand then doCreateItem(item2[1], item2[5], item2Pos) end local item3Pos = Position((item3[2]), (item3[3]), item3[4]) local Checkitem3 = getTileItemById(item3Pos, item3[1]) if Checkitem3 == 0 and item3[6] >= rand then doCreateItem(item3[1], item3[5], item3Pos) end return true end
-
(Resolvido)GlobalEvent criar item no mapa
tá dando errado pq a versão é diferente.. teu map é globalfull?
-
(Resolvido)GlobalEvent criar item no mapa
tenta usar assim: globalevents.xml <globalevent name="createitem" interval="1800000" script="spawnItem.lua" /> /script/spawnItem.lua local config = { [1] = {1111, POSX1, POSY1, POSZ1, QUANTIDADEITEM1, CHANCE1}, [2] = {2222, POSX2, POSY2, POSZ2, QUANTIDADEITEM2, CHANCE2}, [3] = {3333, POSX3, POSY3, POSZ3, QUANTIDADEITEM3, CHANCE3} } function onThink(cid, interval, lastExecution) local item1 = config[1] local item2 = config[2] local item3 = config[3] local rand = math.random(100) local item1Pos = Position((item1[2]), (item1[3]), item1[4]) local Checkitem1 = Tile(item1Pos):getItemById(item1[1]) if Checkitem1 == 0 and item1[6] >= rand then doCreateItem(item1[1], item1[5], item1Pos) end local item2Pos = Position((item2[2]), (item2[3]), item2[4]) local Checkitem2 = Tile(item2Pos):getItemById(item2[1]) if Checkitem2 == 0 and item2[6] >= rand then doCreateItem(item2[1], item2[5], item2Pos) end local item3Pos = Position((item3[2]), (item3[3]), item3[4]) local Checkitem3 = Tile(item3Pos):getItemById(item3[1]) if Checkitem3 == 0 and item3[6] >= rand then doCreateItem(item3[1], item3[5], item3Pos) end return true end
-
(Resolvido)GlobalEvent criar item no mapa
Fiz uma bagunça aqui kk mas acho q dá pra entender, mexe só nas config, e cuidado com as virgulas =] no fim vai ficar assim: [1] = { 7730, 1125, 6574, 2, 4, 20 } No caso, teria 20% de chance, de spawnar 4 blue legs(7730), na posição xyz=(1125, 6574, 2) ps: a chance é um numero entre 0 e 100 local config = { [1] = {1111, POSX1, POSY1, POSZ1, QUANTIDADEITEM1, CHANCE1}, [2] = {2222, POSX2, POSY2, POSZ2, QUANTIDADEITEM2, CHANCE2}, [3] = {3333, POSX3, POSY3, POSZ3, QUANTIDADEITEM3, CHANCE3} } function onTime(interval) local item1 = config[1] local item2 = config[2] local item3 = config[3] local rand = math.random(100) local item1Pos = Position((item1[2]), (item1[3]), item1[4]) local Checkitem1 = Tile(item1Pos):getItemById(item1[1]) if Checkitem1 == 0 and item1[6] >= rand then doCreateItem(item1[1], item1[5], item1Pos) end local item2Pos = Position((item2[2]), (item2[3]), item2[4]) local Checkitem2 = Tile(item2Pos):getItemById(item2[1]) if Checkitem2 == 0 and item2[6] >= rand then doCreateItem(item2[1], item2[5], item2Pos) end local item3Pos = Position((item3[2]), (item3[3]), item3[4]) local Checkitem3 = Tile(item3Pos):getItemById(item3[1]) if Checkitem3 == 0 and item3[6] >= rand then doCreateItem(item3[1], item3[5], item3Pos) end return true end
-
(Resolvido)Item ñao da attributtes
Vc declarou no movements? Bota essas 2 tags lá <movevent event="Equip" itemid="10518" slot="backpack" function="onEquipItem"/> <movevent event="DeEquip" itemid="10518" slot="backpack" function="onDeEquipItem"/> E quanto a nao aparecer no look, tenta por isso aqui no items.xml <attribute key="showattributes" value="1" />
-
Bug weapon / usar script em crossbow
.Qual servidor ou website você utiliza como base? otservbr-global 12.3 Qual o motivo deste tópico? Eu fiz uma bolt, q tem a chance, de 10%, de dar atks multiplos, e está funcionando 100%, porem, ela dá esse erro na distrô, como resolver? Você tem o código disponível? Se tiver publique-o aqui: local combat = Combat() combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_VORTEXBOLT ) combat:setParameter(COMBAT_PARAM_BLOCKARMOR, 1) combat:setFormula(COMBAT_FORMULA_SKILL, 0, 0, 1, 0) local combat2 = Combat() combat2:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) combat2:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) combat2:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_VORTEXBOLT) combat2:setFormula(COMBAT_FORMULA_SKILL, 0, 0, 0.5, 0) function onUseWeapon(cid, var, player) local target = getCreatureTarget(cid) local chance = math.random(10) if chance == 1 then doCombat(cid, combat, var) addEvent(atk, 100, cid, var, player) elseif chance > 1 then doCombat(cid, combat, var) end return true end function atk(cid, var, player) doCombat(cid, combat2, var) local chance2 = math.random(10) if chance2 == 1 then addEvent(atk, 100, cid, var, player) end end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
Resistencia temporaria
vlw irmao
-
Resistencia temporaria
Isso é creaturescript, certo? Aí no caso, eu colocaria um IF pra verificar se o player tem, ou nao, a storage?
-
(Resolvido)Caixa Surpresa n/ consome item (box)
Muda isso: doRemoveItem(item.uid, 0) Pra isso: doRemoveItem(item.uid, 1)
-
Resistencia temporaria
.Qual servidor ou website você utiliza como base? otservbrglobal 12.31 Qual o motivo deste tópico? Tem alguma condition que aumente/diminua a resistencia a fire/energy por x tempo? ou uma storage, algo assim
-
Duvida sobre life leech e dual wield
Então, pra fazer isso da atkspeed, oq eu acho mais eficaz, é vc usar uma coisa q tem em um forum, nao sei se era aqui no tk ou em outro, mas tem, que vc muda a tk speed baseando no FIST, ai c pode por a arma pra dar fist ? das wands é o mesmo esquema da viper, só q nessa parte: combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true) combat:setFormula(COMBAT_FORMULA_SKILL, 0, 0, 1, 0) vc troca por: function onGetFormulaValue(player, level, maglevel) min = 8 max = 18 return -min, -max end combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") e nos Min e Max, c poe o valor da wand (no caso, vai fazer um pra cada), e pros efeitos de atk e tals, vc vai ali no pesquisar, na barra aqui do tk, e tem lá Magic/Distance Effects. e lá no weapons.xml c poe <wand id="2182" level="7" mana="2" script="rods/SnakebiteRod.lua"> e n esquece do rep+
-
Duvida sobre life leech e dual wield
Já que quer só um "norte", toma: 2Handed: Pra fazer elas terem lifesteal, é só colocar de uma em uma, pelo items.xml, pega a cobra rod de exemplo. 1Handed: mexer com atk speed tem q ser em source Shield: nao sei Axe: Esse é facil, só ir no Weapons.xml, e usar a viper star como base, já q ela envenena, só mudar e por um bleed. Sword: Parry eu nao sei, mas acho q só pelas sources tambem, aumentar hit chance, c diz como um critico? ou o atk bater duas vezes? como critico, mesmo esquema das 2handed, bater duas vezes, pelo weapons tb Bow e Crossbow: só pegar no items.xml, usa a Wand of Darkness de base pra ver oq adicionar Spear: Esse seria mais dificil, mas eu achei interessante, vou ver se consigo fazer e te mando Wands: Fogo, gelo e Terra são faceis, mas a parte do Raio eu nao sei, pq n tem nda que aumente o dano recebido, entao talvez é na source
-
Npc Imbuiment item Seller
Mas aqui, uma dica pra melhorar, é usar o player:removeMoneyNpc("1000000") Porque no seu, vc vai tirar 100 crystal coin, ou seja, se ele nao tiver o gold na bp, ou as moedas nao estiverem em crystal, ele não dá certo , com o removemoney ele tira até do blaance, se for o caso ?
-
Teleportar Party
Eu to tentando fazer um script pra teleportar os players da pt pra uma area de bosses, aí tenho um script aqui, q tá funcionando, só que ele puxa TODOS os jogadores da party, e eu queria q ele nao puxasse, caso alguem da pt nao estivesse em tal area (no caso entre 5017, 5006, 5 e 5024, 5013, 5) O script q tenho é esse: function onUse(player, item, fromPosition, target, toPosition, isHotkey) local ArenaPosition = Position(5013, 4913, 7) local PosicaoObrigatoria = Position(5020, 5007, 5) local RockID = 3710 local MsgSucesso="Voce tem 6 minutos para matar e saquear o boss." local MsgFalhaSqm="Voce deve estar de frente ao Boss Pedestal." local MsgFalhaItem="Voce deve usar a chave no Boss Pedestal." -- SCRIPTS -- if target.itemid == 22640 then if player:getPosition() == PosicaoObrigatoria then for _, party in pairs(getPartyMembers(player)) do doTeleportThing(party, ArenaPosition) doPlayerSendTextMessage(party, MESSAGE_INFO_DESCR, "Your team has been teleported ") end -- item:remove(1) Game.createItem(RockID, 1, PosicaoObrigatoria) player:say(MsgSucesso, TALKTYPE_MONSTER_SAY) else player:say(MsgFalhaSqm, TALKTYPE_MONSTER_SAY) end else player:say(MsgFalhaItem, TALKTYPE_MONSTER_SAY) end return true end Aí tentei colocar assim: function onUse(player, item, fromPosition, target, toPosition, isHotkey) local ArenaPosition = Position(5013, 4913, 7) local PosicaoObrigatoria = Position(5020, 5007, 5) local RockID = 3710 local MsgSucesso="Voce tem 6 minutos para matar e saquear o boss." local MsgFalhaSqm="Voce deve estar de frente ao Boss Pedestal." local MsgFalhaItem="Voce deve usar a chave no Boss Pedestal." -- SCRIPTS -- if target.itemid == 22640 then if player:getPosition() == PosicaoObrigatoria then for _, party in pairs(getPartyMembers(player)) do local partyPos = party:getPosition() if partyPos.x >= 5017 and partyPos.x <= 5023 and partyPos.y >= 5006 and partyPos.y <= 5012 and partyPos.z == 5 then doTeleportThing(party, ArenaPosition) doPlayerSendTextMessage(party, MESSAGE_INFO_DESCR, "Your team has been teleported ") end end -- item:remove(1) Game.createItem(RockID, 1, PosicaoObrigatoria) player:say(MsgSucesso, TALKTYPE_MONSTER_SAY) else player:say(MsgFalhaSqm, TALKTYPE_MONSTER_SAY) end else player:say(MsgFalhaItem, TALKTYPE_MONSTER_SAY) end return true end Mas nesse caso, ele nao reconhece o Party(:14: attempt to index local 'party' (a number value)), n sei como fazer
-
Npc Imbuiment item Seller
kkk eu queria um desses e ñ achei em lugar nenhum, passei umas 4 horas fazendo o meu ontem kkk se eu tivesse visto, tinha usado esse pra base do meu
-
script para arma double hit
Faz igual te dei ideia aqui então, q ai tenho ctz q dá certo, poe um efeito diferente no 2° atk, quem tiver jogando, vai entender q é o double hit ? lista dos efeito:
-
script para arma double hit
é esse dosendmagic effect, poe o script todo assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 215, 0, 150, 0) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat2, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 215, 0, 150, 0) function onUseWeapon(cid, var, player, creature) local target = getCreatureTarget(cid) target:say("!DOUBLEHIT", TALKTYPE_MONSTER_SAY) local chance = 20 -- chance em porcentagem de acontecer o script de double attack if chance >= math.random(1,100) then doCombat(cid, combat, var) else doCombat(cid, combat, var) doCombat(cid, combat2, var) end return true end Aí se nao der certo agora, poe oq te falei, apaga esse target:say, e adiciona um efeito diferente pro segundo atk
-
ALTERAR PAGAMENTO PARA NPC
Cara, eu nao vou "fazer" e te entregar pronto, pq pra mim, npc é a parte mais chata de TODAS, mas vou te dar um norte, ai c tenta Basicamente, no lugar do : if doPlayerRemoveMoney(cid,100000000) then vc vai colocar um: if player:removeItem(ID, COUNT) then
-
script para arma double hit
function onUseWeapon(cid, var, player, creature) local target = getCreatureTarget(cid) target:say("!DOUBLEHIT", TALKTYPE_MONSTER_SAY) local chance = 20 -- chance em porcentagem de acontecer o script de double attack if chance >= math.random(1,100) then doCombat(cid, combat, var) else doCombat(cid, combat, var) doCombat(cid, combat2, var) end return true end muda o fim do teu script pra isso aí, ve se dá certo, se n der, nao sei nao ?