Histórico de Curtidas
-
maicao22 recebeu reputação de Mathias Kenfi em Ajuda em script de remover parede ao matar bossSimplesmente perfeito meu amigo.
Muito obrigado mesmo. Nao so pelo script em si, mas por ceder um pouco do seu tempo para me ajudar. Tudo de bom para voce brother!
-
maicao22 deu reputação a Mathias Kenfi em Ajuda em script de remover parede ao matar bossEditei o post com script alterado
-
maicao22 deu reputação a Mathias Kenfi em Ajuda em script de remover parede ao matar bossEste tipo de comentário é desnecessário e considerado SPAM!
Script:
--[[Script criado por ~Mathias Kenfi Email: [email protected] Contato: 034991286815 ]]-- local config = { ["Cat"] ={ pos = {x=1023,y=1050,z=7}, -- Position aonde fica a parede e será criado a porta wall = 1100, -- ID da parede door = {1210, 1211}, -- ID da porta fechada e porta aberta aid = 43232, -- Action ID da porta time = 10 -- Tempo em segundos que a porta irá sumir } } function onCreateWall(item, pos, item2, pos2) local teelz = doCreateItem(item, 1, pos) for _, door in ipairs(item2) do if getTileItemById(pos2, door).uid > 100 then doRemoveItem(getTileItemById(pos2, door).uid) doSendMagicEffect(pos, 10) return true end end return false end function onCreateDoor(item, pos, item2, pos2, aid, time) local teelz = doCreateItem(item[1], 1, pos) if getTileItemById(pos2, item2).uid > 100 then doRemoveItem(getTileItemById(pos2, item2).uid) doItemSetAttribute(teelz, "aid", aid) doSendMagicEffect(pos, 10) return addEvent(onCreateWall, time*1000, item2, pos2, item, pos) end return false end function onDeath(cid, corpse, deathList) monster = config[getCreatureName(cid)] if isMonster(cid) and monster then if getTileItemById(monster.pos, monster.wall).uid > 100 then onCreateDoor(monster.door, monster.pos, monster.wall, monster.pos, monster.aid, monster.time) end end return true end Creaturescripts.xml
<event type="death" name="NOMEDATAG" event="script" value="NOMEDOARQUIVO.lua"/> E lembre-se de colocar a tag no monstro também
<script> <event name="NOMEDATAG"/> </script> Registre em login.lua
registerCreatureEvent(cid, "NOMEDATAG")
-
maicao22 deu reputação a luanluciano93 em Ajuda com script da anihi modificadoColoque uma storage no teleport de saida setando ela como 0.
Antes dessa linha:
doSendMagicEffect(t.saida[i], CONST_ME_ENERGYAREA) Coloca setando esta storage como 1.
E na verificação coloca uma condição de teleportar apenas quem tem a storage com valor 1.
function VarAnihiPlayer(cid) if not isCreature(cid) then return LUA_ERROR end if #getPlayersInArea(config.from, config.to) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end
-
maicao22 deu reputação a Vodkart em Ajuda com script da anihi modificadona 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
-
maicao22 deu reputação a Vodkart em (Resolvido)Boss só pode receber dando quando seus summons forem mortosfunction onStatsChange(cid, attacker, type, combat, value) local monster = "Rabbit" -- nome do boss if not isMonster(cid) then return true end if type == STATSCHANGE_HEALTHLOSS and getCreatureName(cid):lower() == monster:lower() then if #getCreatureSummons(cid) ~= 0 then return false end end return true end
Tag
<event type="statschange" name="NoDamageBoss" event="script" value="nome do seu script.lua"/> Na XML do monstro adc:
<script> <event name="NoDamageBoss"/> </script>
-
maicao22 deu reputação a Vodkart em (Resolvido)Boss só pode receber dando quando seus summons forem mortos@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"/>
-
maicao22 recebeu reputação de Vodkart em (Resolvido)Boss só pode receber dando quando seus summons forem mortosrecebo o seguinte erro vodkart.
>>> Loading creaturescripts... [Error - CreatureEvent::configureEvent] No valid type for creature event: sta´╗┐tschange.
-
maicao22 deu reputação a Mathias Kenfi em Dropar item so se tiver determinada storageDa forma que você quer especificamente, você pode simplesmente criar 1 monstro novo só que com nome de Demon
E para Capacity está aqui V
-
maicao22 deu reputação a Mathias Kenfi em Dropar item so se tiver determinada storageAtualizei o tópico
-
maicao22 deu reputação a Ackerzin em MONSTRO SE MATANDO COM SEUS SPELLSEm creaturescript
<event type="statschange" name="noattack" event="script" value="noattackbixo.lua"/> noattackbixo.lua
registra isso no login.lua
registerCreatureEvent(cid, "noattack") E registra em todos os monstros esse event
<script> <event name="noattack"/> </script>
Pra não ter que fazer 1 por 1, baixa o Sublime Text3, vai em project > add folder to project > seleciona a pasta monster > clica com o direito na pasta MONSTER que abriu no Sublime > find in folder.
Coloca pra procurar por
</immunities> E substituir por
</immunities> <script> <event name="noattack"/> </script> E assim todos seus monstros teram a tag, sucesso!
-
maicao22 deu reputação a Wend II em (Resolvido)Alavanca criando monstroSó ir adicionando mais linha, tipo isso que fiz
local time = 20 -- tempo em segundos para usar local monster = "Demon" -- "Monstro" entre aspas local monster1 = "Demon" -- "Monstro" entre aspas local pos = {x = 123, y = 456, z = 7} -- Posição que irá nascer. local pos1 = {x = 123, y = 456, z = 7} -- Posição que irá nascer. function onUse(cid, item, frompos, itemex, topos) if item.itemid % 2 == 1 then doTransformItem(item.uid, item.itemid + 1) else doTransformItem(item.uid, item.itemid + -1) end if getStorage(1249) - os.time() < 1 then doSetStorage(1249, os.time() + time) addEvent(function() doCreateMonster(monster, pos) end, 10000) addEvent(function() doCreateMonster(monster1, pos1) end, 10000) doCreatureSay(cid, "In 10 seconds the boss will appear.", TALKTYPE_MONSTER) else doPlayerSendCancel(cid, "You need wait ".. getStorage(1249) - os.time() .." seconds to use again") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end return true end
dupliquei a linha local monster = "Demon" editando apenas o local monster para local monster1
mesma coisa fiz com a linha local pos = {x = 123, y = 456, z = 7} que dupliquei e editei para local pos1 =
feito isso agora é só duplicar a linha addEvent(function() doCreateMonster(monster, pos) end, 10000) deixando ele configurada , alterando ali (monster, pos) para (monster1, pos1)
-
maicao22 deu reputação a Vodkart em (Resolvido)[BUG] Script de Healar o Bosslocal config = { life_ative = 500000, life_add = 300000, seconds_ative = 20, gStorage = 90702, monster = "Gaz'Haragoth" -- nome do monstro } function AddHealth(cid) setGlobalStorageValue(config.gStorage, 0) if not isCreature(cid) then return false end doCreatureAddHealth(cid, config.life_add) doCreatureSay(cid, "Gaz'Haragoth HEALS himself!", TALKTYPE_MONSTER) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED) end function onStatsChange(cid, attacker, type, combat, value) if (getGlobalStorageValue(config.gStorage) < 1 and type == STATSCHANGE_HEALTHLOSS and getCreatureName(cid) == config.monster and getCreatureHealth(cid) < config.life_ative) then doCreatureSay(cid, "Gaz'Haragoth beginns to draw on the miniums to HEAL himself!", TALKTYPE_MONSTER) addEvent(AddHealth, config.seconds_ative * 1000, cid) setGlobalStorageValue(config.gStorage, 1) end return true end
-
maicao22 deu reputação a Bodak Reborn em gaz'haragoth Spellslocal voc = {1, 2, 3, 4, 5, 6, 7, 8} arr = { {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, } local area = createCombatArea(arr) local combat = createCombatObject() setCombatArea(combat, area) function onTargetTile(cid, pos) local creatureTable = {} local n, i = getTileInfo({x=pos.x, y=pos.y, z=pos.z}).creatures, 1 if n ~= 0 then local v = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=i}).uid while v ~= 0 do if isCreature(v) == true then table.insert(creatureTable, v) if n == #creatureTable then break end end i = i + 1 v = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=i}).uid end end if #creatureTable ~= nil and #creatureTable > 0 then for r = 1, #creatureTable do if creatureTable[r] ~= cid then local min = 30000 local max = 30000 if isPlayer(creatureTable[r]) == true and isInArray(voc, getPlayerVocation(creatureTable[r])) == true then doTargetCombatHealth(cid, creatureTable[r], COMBAT_ENERGYDAMAGE, -min, -max, CONST_ME_NONE) elseif isMonster(creatureTable[r]) == true then doTargetCombatHealth(cid, creatureTable[r], COMBAT_ENERGYDAMAGE, -min, -max, CONST_ME_NONE) end end end end doSendMagicEffect(pos, CONST_ME_PURPLEENERGY) return true end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") local function delayedCastSpell(cid) if isCreature(cid) == true then doCombat(cid, combat, positionToVariant(getCreaturePosition(cid))) doCreatureSay(cid, "Gaz'haragoth calls down: DEATH AND DOOM!", TALKTYPE_ORANGE_2) end end function onCastSpell(cid, var) doCreatureSay(cid, "Gaz'haragoth begins to channel DEATH AND DOOM into the area! RUN!", TALKTYPE_ORANGE_2) addEvent(delayedCastSpell, 5000, cid) return true end
-
maicao22 recebeu reputação de DdJs em Dark Complex | Cave Hunt | 8.60Muito bom! Vou usar em meu projeto. Obrigado por compartilhar.
-
maicao22 deu reputação a DdJs em Dark Complex | Cave Hunt | 8.60Cave hunt - Dark Complex.
Download: Here
Scan: Here
Imagens:
-
maicao22 deu reputação a DdJs em Giant Spiders Cave | Cave Hunt | 8.60Cave hunt - Giant Spiders Cave.
Download: Here
Scan: Here
Imagens:
-
maicao22 deu reputação a maya em (Resolvido)Ajuda refine system mockgainArmor='&p+1',loseArmor='&p-1', gainShield='&s+2',loseShield='&s-2', gainAttack='&a+2',loseAttack='&a-2', gainDefense='&d+2',loseDefense='&d-2', remplaze
gainArmor='&p+1',loseArmor='&p-1', gainShield='&s+1',loseShield='&s-1', gainAttack='&a+1',loseAttack='&a-1', gainDefense='&d+1',loseDefense='&d-1',
-
maicao22 deu reputação a KotZletY em (Resolvido)Ajuda refine system mock@maicao22 modifique o ataque para +1 nas configurações do script. De:
gainAttack='&a+2' para:
gainAttack='&a+1'
-
maicao22 deu reputação a Nandozeraah em Creaturescripts - Monstro ser teleportado ao perder metade da vidaTudo correto, verifica se o derrotarboss.lua está na pasta principal do creaturescripts e não dentro de outra.
Acredito que não seja erro no monster.xml visto que o erro da console é de não ter encontrado o nome do evento...
verifica ae onde você deixou o arquivo derrotarboss.lua.
por via das dúvidas o monster.xml do que eu testei o script:
draken spellweaver.xml