
Tudo que Sanieg postou
-
Minhas Sprites [Sprite Arceus WIP]
Olha, tirando a falta de sombreados e uma pequena falta de tom de cinza ta perfeito. Parabéns...
-
Ta chegando
Aniversário chegando, quero bolo (A não pera ) já compraram meus presentes ?. \(;0;)\ falta muito ainda... É a vida ... PS: Não vale olhar meu perfil para ver a data (mas assim vai todo mundo esquecer ) quer saber... Eu não queria presentes mesmo .
-
Adicionar cooldown em spell
Tente agora...
-
[PEDIDO] - AJUDA DE UM BUG
Quais os erros ?... Caso não exista é necessário criar o monster no servidor <monster name="Magicthrower" nameDescription="a magicthrower" race="undead" experience="0" speed="0" manacost="0"> <health now="9950" max="9950"/> <look typeex="1551"/> <targetchange interval="4000" chance="10"/> <flags> <flag summonable="0"/> <flag attackable="0"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="0"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="100"/> <flag hidehealth="1"/> </flags> <attacks> <attack name="earth" interval="2000" chance="100" range="7" min="0" max="-100"> <attribute key="shootEffect" value="poison"/> </attack> </attacks> <immunities> <immunity physical="1"/> <immunity energy="1"/> <immunity fire="1"/> <immunity poison="1"/> <immunity ice="1"/> <immunity holy="1"/> <immunity death="1"/> <immunity lifedrain="1"/> <immunity manadrain="1"/> <immunity paralyze="1"/> <immunity drunk="1"/> <immunity outfit="1"/> <immunity invisible="1"/> </immunities> </monster>
-
entrada para apenas um players
function onStepIn(cid, fromPos, item, toPos) local fromPos = {x=1050,y=1050,z=7} --Superior esquerdo da sala local toPos = {x=1050,y=1050,z=7} --Inferior direito da sala local sala = {x=1050,y=1050,z=7} --Pos dentro da sala (Caso nao possua ninguem, para onde ele vai...) if getPlayerStorageValue(isInRange(getCreaturePosition(cid), fromPos, toPos), 19823, 1) then doPlayerSendCancel(cid,"Ha alguem la dentro...") end if isPlayer(cid) and not getPlayerStorageValue(isInRange(getCreaturePosition(cid), fromPos, toPos), 19823, 1) then setPlayerStorageValue(cid, 19823, 1) doTeleportThing(cid, sala) end return true end
-
Adicionar cooldown em spell
function onCastSpell(cid, words, param) local exhaust = 10 --Tempo do exhaust local storage = 10834 if getPlayerStorageValue(cid, storage) >= 1 then doPlayerSendCancel(cid, "You're exhausted.") end addEvent(function () setPlayerStorageValue(cid, storage, 1), os.clock()+exhaust) pos = getCreaturePosition(cid) function effectFollow(uid,jump,pos) if jump <= 0 then return true end posx = getPosByDir(pos,getDirectionTo(pos,getCreaturePosition(getCreatureTarget(cid)))) doAreaCombatHealth(cid, 1, posx, 0, -3000, -3500, 79) addEvent(effectFollow, 500, uid, jump-1, pos) end effectFollow(getCreatureTarget(cid),15,pos) end
-
prevenir de cair itens
http://www.tibiaking.com/forum/topic/9628-creatureevent-deixando-um-item-forever/ No seu caso ficaria assim: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if (getPlayerSlotItem(cid, 9).itemid == 2165) then end return true end
-
Galera Lvl para falar com npc
local tasks = { [1] = {questStarted = 1539, questStorage = 65029, killsRequired = 200, raceName = "Demons", rewards = {{enable = true, type = "storage", values = {65535, 1}}}} } local rankStorage = 32150 local storage = 64521 local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local voc = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) local s = getCreatureStorage(cid, storage) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid if msgcontains(msg, "task") then if(s < 1) then doCreatureSetStorage(cid, storage, 1) s = getCreatureStorage(cid, storage) end if(getCreatureStorage(cid, rankStorage) < 1) then doCreatureSetStorage(cid, rankStorage, 0) end if tasks[s] then if(getCreatureStorage(cid, tasks[s].questStarted) < 1) then if(getCreatureStorage(cid, tasks[s].creatureStorage) < 0) then doCreatureSetStorage(cid, tasks[s].creatureStorage, 0) end if(getCreatureStorage(cid, tasks[s].questStorage) < 0) then doCreatureSetStorage(cid, tasks[s].questStorage, 0) end if getPlayerLevel(cid) < 400 then selfSay("You need be level 400.", cid) return false end doCreatureSetStorage(cid, tasks[s].questStarted, 1) selfSay("You have started the task number " .. getPlayerStorageValue(cid, storage) .. ", in this task you need to kill " .. tasks[s].killsRequired .. " " .. tasks[s].raceName .. ".", cid) else selfSay("You are currently making the task about " .. tasks[s].raceName .. ", task number " .. getPlayerStorageValue(cid, storage) .. ".", cid) end else print("[Warning - Error::Killing in the name of::Tasks config] Something is wrong.") end elseif msgcontains(msg, "report") then if tasks[s] and tasks[s].questStarted > 0 then if(getCreatureStorage(cid, tasks[s].creatureStorage) < 0) then doCreatureSetStorage(cid, tasks[s].creatureStorage, 0) end if(getCreatureStorage(cid, tasks[s].questStorage) < 0) then doCreatureSetStorage(cid, tasks[s].questStorage, 0) end if(getCreatureStorage(cid, tasks[s].questStorage) >= tasks[s].killsRequired) then for i = 1, table.maxn(tasks[s].rewards) do if(tasks[s].rewards[i].enable) then if isInArray({"vocation", "demon", 1}, tasks[1].rewards[i].type) then doPlayerSetVocation(cid, 21) elseif isInArray({"storage", "stor", 5}, tasks[s].rewards[i].type) then doCreatureSetStorage(cid, tasks[s].rewards[i].values[1], tasks[s].rewards[i].values[2]) elseif isInArray({"points", "rank", 2}, tasks[s].rewards[i].type) then doCreatureSetStorage(cid, rankStorage, getCreatureStorage(cid, rankStorage) + tasks[s].rewards[i].values) else print("[Warning - Error::Killing in the name of::Tasks config] Bad reward type: " .. tasks[s].rewards[i].type .. ", reward could not be loaded.") end end end local rank = getCreatureStorage(cid, rankStorage) selfSay("Great!... you have finished the task number " .. s .. "" .. (rank > 4 and ", you are a " or "") .. "" .. (((rank > 4 and rank < 10) and ("Huntsman") or (rank > 9 and rank < 20) and ("Ranger") or (rank > 19 and rank < 30) and ("Big Game Hunter") or (rank > 29 and rank < 50) and ("Trophy Hunter") or (rank > 49) and ("Elite Hunter")) or "") .. ". Good job.", cid) doCreatureSetStorage(cid, storage, s + 1) else selfSay("Current " .. getCreatureStorage(cid, tasks[s].questStorage) .. " " .. tasks[s].raceName .. " killed, you need to kill " .. tasks[s].killsRequired .. ".", cid) end else selfSay("You do not have started any task.", cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
[PEDIDO] - AJUDA DE UM BUG
Crie firstLog.lua em data/creaturescripts/scripts: function onLogin(cid) local maxHealth = 1000 if getPlayerLastLoginSaved(cid) == 0 then setCreatureMaxHealth(cid, maxHealth) doCreatureAddHealth(cid, maxHealth) end return true end Tag para o creaturescripts.xml: <event type="login" name="FirstLog" event="script" value="firstlog.lua"/> Necessário que ele logue pela primeira vez..
-
Sdds Internet
Não estava, ainda estou... E wtf ?! fez eu perder 3 minutos e 22 seg da minha vida atoa
-
Sdds Internet
Fiquei dois ou quatro dias sem internet em casa quero que se lembrem de mim galera sem querer ser dramático, mas já sendo. Vou sentir saudades ps: Não estou em casa ela pode voltar a qualquer hora talvez 1, 2 , 3 dias/anos
-
Novo estagiário
TopllDanStar Parabéns (É seu aniversario ?!)
-
Invasão com data
Sobre a chance esta correto, porém eu coloquei para criar os dois monsters a configuração é da seguinte forma: Todo domingo no caso acontecera uma invasão e podera acontecer somente 1 desses 3 eventos sobre cada semana um monster diferente isso eu não sei não .
-
Invasão com data
Vai acontecer o seguinte: em determinada data tera X chances de acontecer tanto uma invasão quanto outra... (3 invasões) local time = 5 --Intervalo em segundos local invasao1 = { {hora = 12:00, atehora = 12:30, monster = {"rotworm boss","goblin boss"}, pos = {x=1050,y=1050,z=7}} } local invasao2 = { {hora = 14:00, atehora = 14:30, monster = {"demodras","bosslouocnivel2"}, pos = {x=1050,y=1050,z=7}} } local invasao3 = { {hora = 16:00, atehora = 16:30, monster = {"ferumbras","the horned fox"}, pos = {x=1050,y=1050,z=7}} } function onThink(cid, interval, lastexecution) if os.date("%A") == "Sunday" then --Data em que ocorrera if math.random(1,100) <= 50 then if os.time() == invasao1.hora then doBroadCastMessage("Esta ocorrendo a invasao1.") while os.time() < invasao1.atehora do addEvent(doCreateMonster(invasao1.monster,invasao1.pos), os.clock()+time) end end end if math.random(1,100) <= 74 then if os.time() == invasao2.hora then doBroadCastMessage("Esta ocorrendo a invasao2.") while os.time() < invasao2.atehora do addEvent(doCreateMonster(invasao2.monster,invasao2.pos), os.clock()+time) end end end if math.random(1,100) >= 75 then if os.time() == invasao3.hora then doBroadCastMessage("Esta ocorrendo a invasao3.") while os.time() < invasao3.atehora do addEvent(doCreateMonster(invasao3.monster,invasao3.pos), os.clock()+time) end end end end return true end
-
(Resolvido)Setando storage por kill de monstro
local templo = { x = 32369, y = 32241, z = 7 } local time = 60 local tb = { -- ["MONSTER"] = STORAGE, não se esqueça da virgula que é essencial pra funcionar ... ["The Old Widow"] = 11045, ["Hide"] = 11055, ["The Snapper"] = 11065, ["The Bloodtusk"] = 11075, ["Shardhead"] = 11085, ["Esmeralda"] = 11095, ["Thul"] = 11105, ["The Many"] = 11115, ["The Noxious Spawn"] = 11125, ["Stonecracker"] = 11135, ["Leviathan"] = 11145, } function onKill(cid, target) if not isMonster(target) then return false end local monster = tb[getCreatureName(target)] if monster then setPlayerStorageValue(cid, monster, 1) addEvent(doTeleportThing(cid, templo), os.clock+time) end return true end
-
(Resolvido)[PEDIDO] ActionID para destruir paredes
Por que você não utilizou o doTransformItem(uid) para mudar o item Não entendi isso que você pediu para ele biel.stocco
-
Sobre isWalkable!
Biinhows Você precisa criar o monster em data/monsters e registrar ele em monsters.xml no seu servidor para que o script possa cria-lo...
-
(Resolvido)Setando storage por kill de monstro
O script não foi feito por mim function onKill(cid, target, lastHit) if not (isPlayer(cid) and isMonster(target)) then return true end local tab = { ["Dragon"] = 3940, ["Hydra"] = 3941, ["Demon"] = 3942, } setPlayerStorageValue(cid, tab[getCreatureName(target)], 1) return true end
-
ERRO NA MAGIA
Mude: addEvent(doCombat, 0, cid, combat1, var) addEvent(doCombat, 0, cid, combat2, var) Por: addEvent(doCombat(cid, 0, combat1, var)) addEvent(doCombat(cid, 0, combat2, var)) E mude: function spellCallback2(param) Por: local function spellCallback2(param)
-
(Resolvido)Spells
Qual o erro ??, e continua em actions ...
-
Vodkart
Eles ainda estão brigando ??
-
(Resolvido)Adicionando Wild Na Frente?
local shinys = { "Venusaur", "Charizard", "Blastoise", "Butterfree", "Beedrill", "Pidgeot", "Rattata", "Raticate", "Raichu", "Zubat", "Golbat", "Paras", "Parasect", "Venonat", "Venomoth", "Growlithe", "Arcanine", "Abra", "Alakazam", "Tentacool", "Tentacruel", "Farfetch'd", "Grimer", "Muk", "Gengar", "Onix", "Krabby", "Kingler", "Voltorb", "Electrode", "Cubone", "Marowak", "Hitmonlee", "Hitmonchan", "Tangela", "Horsea", "Seadra", "Scyther", "Jynx", "Electabuzz", "Pinsir", "Magikarp", "Gyarados", "Snorlax", "Dragonair", "Dratini"} local raros = {"Dragonite"} local function ShinyName(cid) if isCreature(cid) then if string.find(tostring(getCreatureName(cid)), "Shiny") then local newName = tostring(getCreatureName(cid)):match("Shiny (.*)") doCreatureSetNick(cid, newName) if isMonster(cid) then doSetCreatureDropLoot(cid, false) end end end end local function doSetRandomGender(cid) if not isCreature(cid) then return true end if isSummon(cid) then return true end local gender = 0 local name = getCreatureName(cid) if not newpokedex[name] then return true end local rate = newpokedex[name].gender if rate == 0 then gender = 3 elseif rate == 1000 then gender = 4 elseif rate == -1 then gender = 0 elseif math.random(1, 1000) <= rate then gender = 4 else gender = 3 end doCreatureSetSkullType(cid, gender) end local function doShiny(cid) if isCreature(cid) then if isSummon(cid) then return true end if getPlayerStorageValue(cid, 74469) >= 1 then return true end if getPlayerStorageValue(cid, 22546) >= 1 then return true end if isNpcSummon(cid) then return true end if getPlayerStorageValue(cid, 637500) >= 1 then return true end --alterado v1.9 if isInArray(shinys, getCreatureName(cid)) then --alterado v1.9 \/ chance = 1 --1% chance elseif isInArray(raros, getCreatureName(cid)) then --n coloquem valores menores que 0.1 !! chance = 2.0 --0.5% chance else return true end if math.random(1, 1000) <= chance*10 then doSendMagicEffect(getThingPos(cid), 18) local name, pos = "Shiny ".. getCreatureName(cid), getThingPos(cid) doRemoveCreature(cid) local shi = doCreateMonster(name, pos, false) setPlayerStorageValue(shi, 74469, 1) else setPlayerStorageValue(cid, 74469, 1) end --/\ else return true end end function onSpawn(cid) registerCreatureEvent(cid, "Experience") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "DirectionSystem") registerCreatureEvent(cid, "CastSystem") if isPlayer(cid) or isNpc(cid) then return true end if isCreature(cid) then local position = {x=581, y=980, z=7} local newName = "Wild "..getCreatureName(cid).."" doRemoveCreature(cid) doCreateMonsterNick(getCreatureName(cid),newName, position) return true end if isSummon(cid) then registerCreatureEvent(cid, "SummonDeath") return true end addEvent(doSetRandomGender, 5, cid) addEvent(doShiny, 10, cid) addEvent(ShinyName, 15, cid) addEvent(adjustWildPoke, 5, cid) return true end
-
(Resolvido)Spells
function onUse(cid, item, fromPosition, itemEx, toPosition) local count = getPlayerInstantSpellCount(cid) local text = "" local t = {} for i = 0, count - 1 do local spell = getPlayerInstantSpellInfo(cid, i) if spell.level ~= 0 then if spell.manapercent > 0 then spell.mana = spell.manapercent .. "%" spell.soul = getInstantSpellInfoByName(cid, soul) spell.voc = getInstantSpellInfoByName(cid, vocationid) end table.insert(t, spell) end end table.sort(t, function(a, b) return a.level < b.level end) local prevLevel = -1 for i, spell in ipairs(t) do local line = "" if prevLevel ~= spell.level then if i ~= 1 then line = "\n" end line = line .. "Spells for Level " .. spell.level .. "\n" prevLevel = spell.level end text = text .. line .. " Palavra chave:" .. spell.words .. " - Nome da spell: " .. spell.name .. " Mana: " .. spell.mana .. " Soul:".. spell.soul .." Voc:".. spell.voc .."\n" end doShowTextDialog(cid, item.itemid, text) return TRUE end
-
!Items
agr vai em talkations>scripts i crie um arquivo chamado "armas" i add Não entendi oque você mudou...
-
(Resolvido)Setando storage por kill de monstro
Hehe meu professor de novo , vlw luan