Ir para conteúdo

mariatti

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    mariatti recebeu reputação de Peixola em [MOD] Perfect Rep System   
    1º) Vá a pasta mods do seu servidor

    2º)Crie um arquivo chamado rep_system.xml e coloque o seguinte script nele:







    [SKULL_WHITE] = 30, [SKULL_RED] = 45, [SKULL_BLACK] = 45, [SKULL_NONE] = -30, } aqui voce muda a rep que o player ganha qnd mata outro.. local monsters = { ["behemoth"] = 0, ["hellfire fighter"] = 0, } aqui voce acrescenta os monstros e a rep q eles dao.. (OBS: A quantia de REP em monster eu coloquei 0, mas você pode inserir mais monsters e modificar a quantia de REP!) 2- SQL Agora precisamos criar a tabela REP em sua database! 1º) Abra sua DATABASE no SQLITE. 2º) Vá em TOOLS 3º) Siga em OPEN SQL QUERY EDITOR 4º) Coloque na 1º linha a seguinte query: ALTER TABLE "players" ADD "rep" INT( 11 ) NOT NULL DEFAULT "0"; 5º) Aperte F9. 3- COMANDOS Os comandos do sistema: !hail player -> da +5 de rep ao player !fuck player -> da -5 de rep ao player !set player, x -> Da x quantia de rep ao player !rep -> Verifica a quantia de rep [/code]

    [u][color=red][size=4]4-Créditos[/size][/color][/u]

    -CyberMaster por ter feito o Script
    -Eu (mariatti) por ter trazido ao TK

    [u][size=4][color=red]AJUDEI??? REP+[/color][/size][/u]
  2. Curtir
    mariatti recebeu reputação de NTO Adventure em [Resolvido] Como por exausted nas potion   
    está assim na minha config lua

    -- Item usage
    timeBetweenActions = 200
    timeBetweenExActions = 800
    hotkeyAimbotEnabled = true

    -- Exhausted
    fightExhausted = 2000
    healExhausted = 1000
  3. Gostei
    mariatti recebeu reputação de Zauster em [Resolvido] Atributos em Itens   
    Desculpe Renato, irei usar a linguagem culta.


    Testando Guilherme
  4. Gostei
    mariatti recebeu reputação de Eddy2000 em (Resolvido)[Pedido] NPC Task System   
    Simple Task.xml

    <?xml version="1.0" encoding="UTF-8"?> <mod name="Simple Task" version="3.0" author="Vodkart" contact="#####.com" enabled="yes"> <config name="task_func"><![CDATA[ tasktabble = { ["troll"] = {monster_race={"troll","frost troll","furious troll","island troll","swamp troll","troll champion","troll legionnaire"}, storage_start = 200201, storage = 91001,count = 150,exp = 200,money = 250}, ["globin"] = {monster_race={"goblin","goblin assassin","goblin leader"}, storage_start = 200202, storage = 91002,count = 150,exp = 300,money = 300}, ["rotworm"] = {monster_race={"rotworm","carrion worm"}, storage_start = 200203, storage = 91003,count = 300,exp = 1000,money = 800}, ["cyclops"] = {monster_race={"cyclops","cyclops smith","cyclops drone"}, storage_start = 200204, storage = 91004,count = 500,exp = 3000,money = 800}, ["green djinn"] = {monster_race={"green djinn","efreet"}, storage_start = 200205, storage = 91005,count = 500,exp = 10000,money = 5000}, ["blue djinn"] = {monster_race={"blue djinn","marid"}, storage_start = 200206, storage = 91006,count = 500,exp = 10000,money = 5000}, ["pirate one"] = {monster_race={"pirate buccaneer","pirate corsair","pirate cutthroat","pirate ghost","pirate marauder","pirate skeleton"}, storage_start = 200207, storage = 91007,count = 300,exp = 10000,money = 5000}, ["pirate two"] = {monster_race={"pirate buccaneer","pirate corsair","pirate cutthroat","pirate ghost","pirate marauder","pirate skeleton"}, storage_start = 200208, storage = 91008,count = 300,exp = 10000,money = 5000}, ["minotaur"] = {monster_race={"minotaur","minotaur archer","minotaur mage","minotaur guard"}, storage_start = 200209, storage = 91009,count = 20}, ["necromancer"] = {monster_race={"necromancer","priestess"}, storage_start = 200210, storage = 91010,count= 400}, ["carniphila"] = {monster_race={"carniphila"}, storage_start = 200211, storage = 91011,count= 150, exp = 2500}, ["stone golem"] = {monster_race={"stone golem"}, storage_start = 200212, storage = 91012,count= 220, exp = 2000}, ["ice golem"] = {monster_race={"ice golem"}, storage_start = 200213, storage = 91013,count= 300, exp = 12000}, ["dragon"] = {monster_race={"dragon","dragon lord","frost dragon"}, storage_start = 200214, storage = 91014,count= 250, exp = 50000}, ["mutated rat"] = {monster_race={"mutated rat"}, storage_start = 200215, storage = 91015,count = 210, exp = 25000, money = 10000}, ["giant spider"] = {monster_race={"giant spider"}, storage_start = 200215, storage = 91016,count = 500, exp = 50000, money = 15000}, ["hydra"] = {monster_race={"hydra"}, storage_start = 200217, storage = 91017,count = 5000, exp = 2000, money = 15000, reward = {{6433,1},{7434,1},{2197,1},{2476,1}}}, ["sea serpent"] = {monster_race={"sea serpent"}, storage_start = 200218, storage = 91018,count = 1500, exp = 70000, money = 30000}, ["behemoth"] = {monster_race={"behemoth"}, storage_start = 200219, storage = 91019,count = 1800, exp = 50000, money = 30000, reward = {{6391,1},{5741,1}}}, ["serpent spawn"] = {monster_race={"serpent spawn"}, storage_start = 200220, storage = 91020,count = 1400, exp = 70000, money = 30000}, ["demon"] = {monster_race={"demon"}, storage_start = 200221, storage = 91021,count = 6666, exp = 70000, money = 200000, reward = {{2495,1},{2496,1},{2520,1},{2472,1}}}, ["quara"] = {monster_race={"quara predator","quara constrictor","quara hydromancer","quara mantassin","quara pincher"}, storage_start = 200222, storage = 91022,count = 300, exp = 40000, money = 50000}, ["quara scout"] = {monster_race={"quara predator scout","quara constrictor scout","quara hydromancer scout","quara mantassin scout","quara pincher scout"}, storage_start = 200223, storage = 91023,count = 300, exp = 50000, money = 60000} } configbosses_task = { {race = "minotaur",Playerpos = {x = 189, y = 57, z = 7}, FromPosToPos = {{x = 186, y = 54, z = 7},{x = 193, y = 60, z = 7}},time = 5}, {race = "necromancer",Playerpos = {x = 196, y = 39, z = 7}, FromPosToPos = {{x = 195, y = 37, z = 7},{x = 198, y = 41, z = 7}}, time = 5}, {race = "dragon",Playerpos = {x = 208, y = 59, z = 7}, FromPosToPos = {{x = 206, y = 56, z = 7},{x = 209, y = 65, z = 7}}, time = 5} } function CheckTask(cid) for k, v in pairs(tasktabble) do if getPlayerStorageValue(cid,v.storage_start) >= 1 then return true end end return false end function finisheAllTask(cid) local config = { exp = {true,100000}, money = {true,200000}, items ={false,{{2124,2},{2173,1}}}, premium ={true,5} } local x = true for k, v in pairs(tasktabble) do if tonumber(getPlayerStorageValue(cid,v.storage)) then x = false end end if x == true then setPlayerStorageValue(cid, 521456, 0) local b = getGlobalStorageValue(63005) if b == -1 then b = 1 end if b < 11 then setGlobalStorageValue(63005,b+1) doBroadcastMessage('[Task Mission Complete] '..getCreatureName(cid)..' was the '..b..' to finish the task!.') doPlayerAddPremiumDays(cid, config.premium[1] == true and config.premium[2] or 0) doPlayerAddExp(cid, config.exp[1] == true and config.exp[2] or 0) doPlayerAddMoney(cid, config.money[1] == true and config.money[2] or 0) if config.items[1] == true then doAddItemsFromList(cid,config.items[2]) end doItemSetAttribute(doPlayerAddItem(cid, 7369), "name", "trophy "..getCreatureName(cid).." completed all the task.") end end end function HavePlayerPosition(cid, from, to) return isInRange(getPlayerPosition(cid), from, to) and true or false end function getRankStorage(cid, value, max, RankName) -- by vodka local str ="" str = "--[".. (RankName == nil and "RANK STORAGE" or ""..RankName.."") .."]--\n\n" local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..value.." ORDER BY cast(value as INTEGER) DESC;") if (query:getID() ~= -1) then k = 1 repeat if k > max then break end str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(query:getDataString("player_id")).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until not query:next() end return doShowTextDialog(cid, 2529, str) end 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 doPlayerAddItemStacking(cid, itemid, quant) -- by mkalo local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid) local piles = 0 if #item > 0 then for i,x in pairs(item) do if getThing(x).type < 100 then local it = getThing(x) doTransformItem(it.uid, itemid, it.type+quant) if it.type+quant > 100 then doPlayerAddItem(cid, itemid, it.type+quant-100) end else piles = piles+1 end end else return doPlayerAddItem(cid, itemid, quant) end if piles == #item then doPlayerAddItem(cid, itemid, quant) end end function getItemsFromList(items) -- by vodka local str = '' if table.maxn(items) > 0 then for i = 1, table.maxn(items) do str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1]) if i ~= table.maxn(items) then str = str .. ', ' end end end return str end function doAddItemsFromList(cid,items) -- by vodka if table.maxn(items) > 0 then for i = 1, table.maxn(items) do local count = items[i][2] while count > 0 do if isItemStackable(items[i][1]) then doPlayerAddItemStacking(cid, items[i][1], 1) else doPlayerAddItem(cid, items[i][1],1) end count = count - 1 end end end end function pairsByKeys(t, f) local a = {} for n in pairs(t) do table.insert(a, n) end table.sort(a, f) local i = 0 local iter = function () i = i + 1 if a[i] == nil then return nil else return a[i], t[a[i]] end end return iter end ]]></config> <event type="login" name="TaskLogin" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "KillTask") return true end]]></event> <talkaction words="/task;!task" event="buffer"><![CDATA[ domodlib('task_func') local param = string.lower(param) if param == "rank" then getRankStorage(cid, 521456, 20, "Task Rank Finalizadas") return true end local str = "" str = str .. "Task Completed :\n\n" for k, v in pairsByKeys(tasktabble) do local contagem = getPlayerStorageValue(cid, v.storage) if (contagem == -1) then contagem = 1 end str = str..k.." = ".. (not tonumber(contagem) and "["..contagem.."]" or "["..((contagem)-1).."/"..v.count.."]") .."\n" end str = str .. "" return doShowTextDialog(cid, 8983, str) ]]></talkaction> <event type="kill" name="KillTask" event="script"><![CDATA[ domodlib('task_func') function onKill(cid, target, lastHit) if(isMonster(target) == true) then local n = string.lower(getCreatureName(target)) for race, mob in pairs(tasktabble) do if getPlayerStorageValue(cid,mob .storage_start) >= 1 then for i = 1,#mob.monster_race do if n == mob.monster_race[i] then local contagem = getPlayerStorageValue(cid, mob.storage) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then return true end if contagem > mob.count then return true end if contagem > mob.count then return true end setPlayerStorageValue(cid, mob.storage, contagem+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,""..(contagem == mob.count and "Congratulations! You finished the task of "..race.."." or "defeated. Total [" .. contagem .. "/" .. mob.count .. "] " .. race .. ".").."") end end end end end return true end]]></event> </mod> NPC/SCRIPT simple_task.lua domodlib('task_func') local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local msg = string.lower(msg) if isInArray({"task","tasks","missao","mission"}, msg) then npcHandler:say("Me diga o nome do monstro que você deseja fazer a task!", cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if tasktabble[msg] then if CheckTask(cid) ~= true then local contagem = getPlayerStorageValue(cid, tasktabble[msg].storage) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then npcHandler:say('Desculpe, mas você já terminou a task do '..msg, cid) return true end setPlayerStorageValue(cid, tasktabble[msg].storage_start, 1) npcHandler:say("Parabéns, agora você está participando da missão task do "..msg..", falta matar "..string.sub(((contagem)-1)-tasktabble[msg].count, 2).." "..msg, cid) talkState[talkUser] = 0 else npcHandler:say('Desculpe, mas você já faz parte de uma task!', cid) talkState[talkUser] = 0 end else npcHandler:say('digite o nome correto da missão task! para mais informações digite {!task}', cid) talkState[talkUser] = 1 end elseif isInArray({"receber","reward","recompensa","report","reportar"}, msg) then if CheckTask(cid) then for k, v in pairs(tasktabble) do racetype = k if getPlayerStorageValue(cid,v.storage_start) >= 1 then local contagem = getPlayerStorageValue(cid, v.storage) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then npcHandler:say('você só pode receber os items uma única vez!', cid) return true end if (((contagem)-1) >= v.count) then for _, check in pairs(configbosses_task) do if string.lower(check.race) == string.lower(racetype) then local on = getPlayersOnline() for i=1, #on do if HavePlayerPosition(on[i], check.FromPosToPos[1],check.FromPosToPos[2]) then selfSay('aguarde alguns instantes, tem pessoas fazendo a task.', cid) return true end end doTeleportThing(cid, check.Playerpos) local function checkArea(cid) if not isCreature(cid) then return LUA_ERROR end if HavePlayerPosition(cid, check.FromPosToPos[1],check.FromPosToPos[2]) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end addEvent(checkArea, check.time*60*1000, cid) end end local str = "" if v.exp ~= nil then doPlayerAddExp(cid, v.exp ) str = str.."".. (str == "" and "" or ",") .." "..v.exp.." de exp" end if v.money ~= nil then doPlayerAddMoney(cid, v.money) str = str.."".. (str == "" and "" or ",") ..""..v.money.." gps" end if v.reward ~= nil then doAddItemsFromList(cid,v.reward) str = str.."".. (str == "" and "" or ",") ..""..getItemsFromList(v.reward) end npcHandler:say("Obrigado pela sua ajuda Recompensas: "..(str == "" and "nenhuma" or ""..str.."").." por ter completado a task do "..k, cid) setPlayerStorageValue(cid, v.storage, "Finished") setPlayerStorageValue(cid, v.storage_start, 0) setPlayerStorageValue(cid, 521456, getPlayerStorageValue(cid, 521456) == -1 and 1 or getPlayerStorageValue(cid, 521456)+1) finisheAllTask(cid) else npcHandler:say('Desculpe,mas você só matou '..((contagem)-1)..' de '..v.count..' '..k, cid) end end end else npcHandler:say("você não está em nenhuma missão task", cid) end elseif isInArray({"sair","leave","exit"}, msg) then if CheckTask(cid) then talkState[talkUser] = 2 for k, v in pairs(tasktabble) do if getPlayerStorageValue(cid,v.storage_start) >= 1 then storagesair = v.storage_start local contagem = getPlayerStorageValue(cid, v.storage) if (contagem == -1) then contagem = 1 end npcHandler:say('você está participando de uma missão task do '..k..' e já tem '..((contagem)-1)..' '..k..' mortos, deseja mesmo sair?', cid) end end else npcHandler:say("você não está em nenhuma missão task", cid) end elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then setPlayerStorageValue(cid, storagesair, 0) npcHandler:say("Você foi retirado da task com sucesso!", cid) elseif msg == "no" then selfSay("Tudo bem então", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) NPC Ludger.xml <?xml version="1.0"?> <npc name="Ludger" script="data/npc/scripts/simple_task.lua" walkinterval="50000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. quer fazer uma {task}? ou {sair} de uma? tambem pode {receber} premios se terminou ela!" /> </parameters> </npc>

    Script do Vodkart
  5. Gostei
    mariatti recebeu reputação de Misael boy em (Resolvido)[Pedido] NPC Task System   
    Simple Task.xml

    <?xml version="1.0" encoding="UTF-8"?> <mod name="Simple Task" version="3.0" author="Vodkart" contact="#####.com" enabled="yes"> <config name="task_func"><![CDATA[ tasktabble = { ["troll"] = {monster_race={"troll","frost troll","furious troll","island troll","swamp troll","troll champion","troll legionnaire"}, storage_start = 200201, storage = 91001,count = 150,exp = 200,money = 250}, ["globin"] = {monster_race={"goblin","goblin assassin","goblin leader"}, storage_start = 200202, storage = 91002,count = 150,exp = 300,money = 300}, ["rotworm"] = {monster_race={"rotworm","carrion worm"}, storage_start = 200203, storage = 91003,count = 300,exp = 1000,money = 800}, ["cyclops"] = {monster_race={"cyclops","cyclops smith","cyclops drone"}, storage_start = 200204, storage = 91004,count = 500,exp = 3000,money = 800}, ["green djinn"] = {monster_race={"green djinn","efreet"}, storage_start = 200205, storage = 91005,count = 500,exp = 10000,money = 5000}, ["blue djinn"] = {monster_race={"blue djinn","marid"}, storage_start = 200206, storage = 91006,count = 500,exp = 10000,money = 5000}, ["pirate one"] = {monster_race={"pirate buccaneer","pirate corsair","pirate cutthroat","pirate ghost","pirate marauder","pirate skeleton"}, storage_start = 200207, storage = 91007,count = 300,exp = 10000,money = 5000}, ["pirate two"] = {monster_race={"pirate buccaneer","pirate corsair","pirate cutthroat","pirate ghost","pirate marauder","pirate skeleton"}, storage_start = 200208, storage = 91008,count = 300,exp = 10000,money = 5000}, ["minotaur"] = {monster_race={"minotaur","minotaur archer","minotaur mage","minotaur guard"}, storage_start = 200209, storage = 91009,count = 20}, ["necromancer"] = {monster_race={"necromancer","priestess"}, storage_start = 200210, storage = 91010,count= 400}, ["carniphila"] = {monster_race={"carniphila"}, storage_start = 200211, storage = 91011,count= 150, exp = 2500}, ["stone golem"] = {monster_race={"stone golem"}, storage_start = 200212, storage = 91012,count= 220, exp = 2000}, ["ice golem"] = {monster_race={"ice golem"}, storage_start = 200213, storage = 91013,count= 300, exp = 12000}, ["dragon"] = {monster_race={"dragon","dragon lord","frost dragon"}, storage_start = 200214, storage = 91014,count= 250, exp = 50000}, ["mutated rat"] = {monster_race={"mutated rat"}, storage_start = 200215, storage = 91015,count = 210, exp = 25000, money = 10000}, ["giant spider"] = {monster_race={"giant spider"}, storage_start = 200215, storage = 91016,count = 500, exp = 50000, money = 15000}, ["hydra"] = {monster_race={"hydra"}, storage_start = 200217, storage = 91017,count = 5000, exp = 2000, money = 15000, reward = {{6433,1},{7434,1},{2197,1},{2476,1}}}, ["sea serpent"] = {monster_race={"sea serpent"}, storage_start = 200218, storage = 91018,count = 1500, exp = 70000, money = 30000}, ["behemoth"] = {monster_race={"behemoth"}, storage_start = 200219, storage = 91019,count = 1800, exp = 50000, money = 30000, reward = {{6391,1},{5741,1}}}, ["serpent spawn"] = {monster_race={"serpent spawn"}, storage_start = 200220, storage = 91020,count = 1400, exp = 70000, money = 30000}, ["demon"] = {monster_race={"demon"}, storage_start = 200221, storage = 91021,count = 6666, exp = 70000, money = 200000, reward = {{2495,1},{2496,1},{2520,1},{2472,1}}}, ["quara"] = {monster_race={"quara predator","quara constrictor","quara hydromancer","quara mantassin","quara pincher"}, storage_start = 200222, storage = 91022,count = 300, exp = 40000, money = 50000}, ["quara scout"] = {monster_race={"quara predator scout","quara constrictor scout","quara hydromancer scout","quara mantassin scout","quara pincher scout"}, storage_start = 200223, storage = 91023,count = 300, exp = 50000, money = 60000} } configbosses_task = { {race = "minotaur",Playerpos = {x = 189, y = 57, z = 7}, FromPosToPos = {{x = 186, y = 54, z = 7},{x = 193, y = 60, z = 7}},time = 5}, {race = "necromancer",Playerpos = {x = 196, y = 39, z = 7}, FromPosToPos = {{x = 195, y = 37, z = 7},{x = 198, y = 41, z = 7}}, time = 5}, {race = "dragon",Playerpos = {x = 208, y = 59, z = 7}, FromPosToPos = {{x = 206, y = 56, z = 7},{x = 209, y = 65, z = 7}}, time = 5} } function CheckTask(cid) for k, v in pairs(tasktabble) do if getPlayerStorageValue(cid,v.storage_start) >= 1 then return true end end return false end function finisheAllTask(cid) local config = { exp = {true,100000}, money = {true,200000}, items ={false,{{2124,2},{2173,1}}}, premium ={true,5} } local x = true for k, v in pairs(tasktabble) do if tonumber(getPlayerStorageValue(cid,v.storage)) then x = false end end if x == true then setPlayerStorageValue(cid, 521456, 0) local b = getGlobalStorageValue(63005) if b == -1 then b = 1 end if b < 11 then setGlobalStorageValue(63005,b+1) doBroadcastMessage('[Task Mission Complete] '..getCreatureName(cid)..' was the '..b..' to finish the task!.') doPlayerAddPremiumDays(cid, config.premium[1] == true and config.premium[2] or 0) doPlayerAddExp(cid, config.exp[1] == true and config.exp[2] or 0) doPlayerAddMoney(cid, config.money[1] == true and config.money[2] or 0) if config.items[1] == true then doAddItemsFromList(cid,config.items[2]) end doItemSetAttribute(doPlayerAddItem(cid, 7369), "name", "trophy "..getCreatureName(cid).." completed all the task.") end end end function HavePlayerPosition(cid, from, to) return isInRange(getPlayerPosition(cid), from, to) and true or false end function getRankStorage(cid, value, max, RankName) -- by vodka local str ="" str = "--[".. (RankName == nil and "RANK STORAGE" or ""..RankName.."") .."]--\n\n" local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..value.." ORDER BY cast(value as INTEGER) DESC;") if (query:getID() ~= -1) then k = 1 repeat if k > max then break end str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(query:getDataString("player_id")).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until not query:next() end return doShowTextDialog(cid, 2529, str) end 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 doPlayerAddItemStacking(cid, itemid, quant) -- by mkalo local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid) local piles = 0 if #item > 0 then for i,x in pairs(item) do if getThing(x).type < 100 then local it = getThing(x) doTransformItem(it.uid, itemid, it.type+quant) if it.type+quant > 100 then doPlayerAddItem(cid, itemid, it.type+quant-100) end else piles = piles+1 end end else return doPlayerAddItem(cid, itemid, quant) end if piles == #item then doPlayerAddItem(cid, itemid, quant) end end function getItemsFromList(items) -- by vodka local str = '' if table.maxn(items) > 0 then for i = 1, table.maxn(items) do str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1]) if i ~= table.maxn(items) then str = str .. ', ' end end end return str end function doAddItemsFromList(cid,items) -- by vodka if table.maxn(items) > 0 then for i = 1, table.maxn(items) do local count = items[i][2] while count > 0 do if isItemStackable(items[i][1]) then doPlayerAddItemStacking(cid, items[i][1], 1) else doPlayerAddItem(cid, items[i][1],1) end count = count - 1 end end end end function pairsByKeys(t, f) local a = {} for n in pairs(t) do table.insert(a, n) end table.sort(a, f) local i = 0 local iter = function () i = i + 1 if a[i] == nil then return nil else return a[i], t[a[i]] end end return iter end ]]></config> <event type="login" name="TaskLogin" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "KillTask") return true end]]></event> <talkaction words="/task;!task" event="buffer"><![CDATA[ domodlib('task_func') local param = string.lower(param) if param == "rank" then getRankStorage(cid, 521456, 20, "Task Rank Finalizadas") return true end local str = "" str = str .. "Task Completed :\n\n" for k, v in pairsByKeys(tasktabble) do local contagem = getPlayerStorageValue(cid, v.storage) if (contagem == -1) then contagem = 1 end str = str..k.." = ".. (not tonumber(contagem) and "["..contagem.."]" or "["..((contagem)-1).."/"..v.count.."]") .."\n" end str = str .. "" return doShowTextDialog(cid, 8983, str) ]]></talkaction> <event type="kill" name="KillTask" event="script"><![CDATA[ domodlib('task_func') function onKill(cid, target, lastHit) if(isMonster(target) == true) then local n = string.lower(getCreatureName(target)) for race, mob in pairs(tasktabble) do if getPlayerStorageValue(cid,mob .storage_start) >= 1 then for i = 1,#mob.monster_race do if n == mob.monster_race[i] then local contagem = getPlayerStorageValue(cid, mob.storage) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then return true end if contagem > mob.count then return true end if contagem > mob.count then return true end setPlayerStorageValue(cid, mob.storage, contagem+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,""..(contagem == mob.count and "Congratulations! You finished the task of "..race.."." or "defeated. Total [" .. contagem .. "/" .. mob.count .. "] " .. race .. ".").."") end end end end end return true end]]></event> </mod> NPC/SCRIPT simple_task.lua domodlib('task_func') local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local msg = string.lower(msg) if isInArray({"task","tasks","missao","mission"}, msg) then npcHandler:say("Me diga o nome do monstro que você deseja fazer a task!", cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if tasktabble[msg] then if CheckTask(cid) ~= true then local contagem = getPlayerStorageValue(cid, tasktabble[msg].storage) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then npcHandler:say('Desculpe, mas você já terminou a task do '..msg, cid) return true end setPlayerStorageValue(cid, tasktabble[msg].storage_start, 1) npcHandler:say("Parabéns, agora você está participando da missão task do "..msg..", falta matar "..string.sub(((contagem)-1)-tasktabble[msg].count, 2).." "..msg, cid) talkState[talkUser] = 0 else npcHandler:say('Desculpe, mas você já faz parte de uma task!', cid) talkState[talkUser] = 0 end else npcHandler:say('digite o nome correto da missão task! para mais informações digite {!task}', cid) talkState[talkUser] = 1 end elseif isInArray({"receber","reward","recompensa","report","reportar"}, msg) then if CheckTask(cid) then for k, v in pairs(tasktabble) do racetype = k if getPlayerStorageValue(cid,v.storage_start) >= 1 then local contagem = getPlayerStorageValue(cid, v.storage) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then npcHandler:say('você só pode receber os items uma única vez!', cid) return true end if (((contagem)-1) >= v.count) then for _, check in pairs(configbosses_task) do if string.lower(check.race) == string.lower(racetype) then local on = getPlayersOnline() for i=1, #on do if HavePlayerPosition(on[i], check.FromPosToPos[1],check.FromPosToPos[2]) then selfSay('aguarde alguns instantes, tem pessoas fazendo a task.', cid) return true end end doTeleportThing(cid, check.Playerpos) local function checkArea(cid) if not isCreature(cid) then return LUA_ERROR end if HavePlayerPosition(cid, check.FromPosToPos[1],check.FromPosToPos[2]) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end addEvent(checkArea, check.time*60*1000, cid) end end local str = "" if v.exp ~= nil then doPlayerAddExp(cid, v.exp ) str = str.."".. (str == "" and "" or ",") .." "..v.exp.." de exp" end if v.money ~= nil then doPlayerAddMoney(cid, v.money) str = str.."".. (str == "" and "" or ",") ..""..v.money.." gps" end if v.reward ~= nil then doAddItemsFromList(cid,v.reward) str = str.."".. (str == "" and "" or ",") ..""..getItemsFromList(v.reward) end npcHandler:say("Obrigado pela sua ajuda Recompensas: "..(str == "" and "nenhuma" or ""..str.."").." por ter completado a task do "..k, cid) setPlayerStorageValue(cid, v.storage, "Finished") setPlayerStorageValue(cid, v.storage_start, 0) setPlayerStorageValue(cid, 521456, getPlayerStorageValue(cid, 521456) == -1 and 1 or getPlayerStorageValue(cid, 521456)+1) finisheAllTask(cid) else npcHandler:say('Desculpe,mas você só matou '..((contagem)-1)..' de '..v.count..' '..k, cid) end end end else npcHandler:say("você não está em nenhuma missão task", cid) end elseif isInArray({"sair","leave","exit"}, msg) then if CheckTask(cid) then talkState[talkUser] = 2 for k, v in pairs(tasktabble) do if getPlayerStorageValue(cid,v.storage_start) >= 1 then storagesair = v.storage_start local contagem = getPlayerStorageValue(cid, v.storage) if (contagem == -1) then contagem = 1 end npcHandler:say('você está participando de uma missão task do '..k..' e já tem '..((contagem)-1)..' '..k..' mortos, deseja mesmo sair?', cid) end end else npcHandler:say("você não está em nenhuma missão task", cid) end elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then setPlayerStorageValue(cid, storagesair, 0) npcHandler:say("Você foi retirado da task com sucesso!", cid) elseif msg == "no" then selfSay("Tudo bem então", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) NPC Ludger.xml <?xml version="1.0"?> <npc name="Ludger" script="data/npc/scripts/simple_task.lua" walkinterval="50000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. quer fazer uma {task}? ou {sair} de uma? tambem pode {receber} premios se terminou ela!" /> </parameters> </npc>

    Script do Vodkart
  6. Gostei
    mariatti recebeu reputação de uesleirodrigues em (Resolvido)(Resolvido) Script monstro morre aparece tp   
    Va na pasta data/creaturescripts de seu otserv abra o arquivo creaturescripts.xml e add a tag:


    <event type="death" name="teleportmonster" script="tpmonster.lua"/>



    Abra a pasta scripts crie um arquivo chamado tpmonster.lua e adicione:



    local config = {
    message = "Congrulations. Teleport close in 1 minute",
    timeToRemove = 60, -- seconds
    teleportId = 1387,
    bosses = {
    ["Orchid Frog"] = { x = 459, y = 594, z = 7 },

    }
    }

    local function removal(position)
    doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
    return TRUE
    end

    function onDeath(cid, corpse, killer)
    registerCreatureEvent(cid, "teleportmonster")
    local position = getCreaturePosition(cid)

    for name, pos in pairs(config.bosses) do
    if name == getCreatureName(cid) then
    teleport = doCreateTeleport(config.teleportId, pos, position)
    doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
    addEvent(removal, config.timeToRemove * 1000, position)
    doSendMagicEffect(position,10)
    end
    end
    return TRUE
    end



    OBS: aquela coordenada é para onde o teleport erá te levar.

    agora vá até a pasta monster, abra o arquivo do seu monstro e add a tag:



    <script>
    <event name="teleportmonster"/>
    </script>





    Ficara assim o arquivo xml do seu monstro:


    <?xml version="1.0" encoding="UTF-8"?>
    <monster name="orchid frog" nameDescription="a orchid frog" race="blood" experience="20" speed="230" manacost="0">
    <health now="60" max="60"/>
    <look type="226" head="109" body="14" legs="109" feet="114" corpse="6079"/>
    <targetchange interval="5000" chance="20"/>
    <strategy attack="100" defense="0"/>
    <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag staticattack="90"/>
    <flag targetdistance="1"/>
    <flag runonhealth="0"/>
    </flags>
    <attacks>
    <attack name="melee" interval="2000" skill="3" attack="9"/>
    </attacks>
    <defenses armor="2" defense="3"/>
    <immunities>
    <immunity physical="0"/>
    <immunity energy="0"/>
    <immunity fire="0"/>
    <immunity poison="0"/>
    <immunity lifedrain="0"/>
    <immunity paralyze="0"/>
    <immunity outfit="0"/>
    <immunity drunk="0"/>
    <immunity invisible="0"/>
    </immunities>
    <voices interval="5000" chance="10">
    <voice sentence="Ribbit!Ribbit!"/>
    </voices>
    <loot>
    <item id="2148" countmax="10" chance1="60000" chancemax="1321"/>
    <item id="3976" countmax="7" chance1="53500" chancemax="2120"/>
    </loot>
    <script>
    <event name="teleportmonster"/>
    </script>
    </monster>



    Obs: o arquivo xml demonstrado acima é o do orchid frog

    qlq duvida posta ae
  7. Gostei
    mariatti recebeu reputação de iagosfk2 em (Resolvido)(Resolvido) Script monstro morre aparece tp   
    Va na pasta data/creaturescripts de seu otserv abra o arquivo creaturescripts.xml e add a tag:


    <event type="death" name="teleportmonster" script="tpmonster.lua"/>



    Abra a pasta scripts crie um arquivo chamado tpmonster.lua e adicione:



    local config = {
    message = "Congrulations. Teleport close in 1 minute",
    timeToRemove = 60, -- seconds
    teleportId = 1387,
    bosses = {
    ["Orchid Frog"] = { x = 459, y = 594, z = 7 },

    }
    }

    local function removal(position)
    doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
    return TRUE
    end

    function onDeath(cid, corpse, killer)
    registerCreatureEvent(cid, "teleportmonster")
    local position = getCreaturePosition(cid)

    for name, pos in pairs(config.bosses) do
    if name == getCreatureName(cid) then
    teleport = doCreateTeleport(config.teleportId, pos, position)
    doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
    addEvent(removal, config.timeToRemove * 1000, position)
    doSendMagicEffect(position,10)
    end
    end
    return TRUE
    end



    OBS: aquela coordenada é para onde o teleport erá te levar.

    agora vá até a pasta monster, abra o arquivo do seu monstro e add a tag:



    <script>
    <event name="teleportmonster"/>
    </script>





    Ficara assim o arquivo xml do seu monstro:


    <?xml version="1.0" encoding="UTF-8"?>
    <monster name="orchid frog" nameDescription="a orchid frog" race="blood" experience="20" speed="230" manacost="0">
    <health now="60" max="60"/>
    <look type="226" head="109" body="14" legs="109" feet="114" corpse="6079"/>
    <targetchange interval="5000" chance="20"/>
    <strategy attack="100" defense="0"/>
    <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag staticattack="90"/>
    <flag targetdistance="1"/>
    <flag runonhealth="0"/>
    </flags>
    <attacks>
    <attack name="melee" interval="2000" skill="3" attack="9"/>
    </attacks>
    <defenses armor="2" defense="3"/>
    <immunities>
    <immunity physical="0"/>
    <immunity energy="0"/>
    <immunity fire="0"/>
    <immunity poison="0"/>
    <immunity lifedrain="0"/>
    <immunity paralyze="0"/>
    <immunity outfit="0"/>
    <immunity drunk="0"/>
    <immunity invisible="0"/>
    </immunities>
    <voices interval="5000" chance="10">
    <voice sentence="Ribbit!Ribbit!"/>
    </voices>
    <loot>
    <item id="2148" countmax="10" chance1="60000" chancemax="1321"/>
    <item id="3976" countmax="7" chance1="53500" chancemax="2120"/>
    </loot>
    <script>
    <event name="teleportmonster"/>
    </script>
    </monster>



    Obs: o arquivo xml demonstrado acima é o do orchid frog

    qlq duvida posta ae
  8. Gostei
    mariatti recebeu reputação de dhiol em (Resolvido)(Resolvido) Script monstro morre aparece tp   
    Va na pasta data/creaturescripts de seu otserv abra o arquivo creaturescripts.xml e add a tag:


    <event type="death" name="teleportmonster" script="tpmonster.lua"/>



    Abra a pasta scripts crie um arquivo chamado tpmonster.lua e adicione:



    local config = {
    message = "Congrulations. Teleport close in 1 minute",
    timeToRemove = 60, -- seconds
    teleportId = 1387,
    bosses = {
    ["Orchid Frog"] = { x = 459, y = 594, z = 7 },

    }
    }

    local function removal(position)
    doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
    return TRUE
    end

    function onDeath(cid, corpse, killer)
    registerCreatureEvent(cid, "teleportmonster")
    local position = getCreaturePosition(cid)

    for name, pos in pairs(config.bosses) do
    if name == getCreatureName(cid) then
    teleport = doCreateTeleport(config.teleportId, pos, position)
    doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
    addEvent(removal, config.timeToRemove * 1000, position)
    doSendMagicEffect(position,10)
    end
    end
    return TRUE
    end



    OBS: aquela coordenada é para onde o teleport erá te levar.

    agora vá até a pasta monster, abra o arquivo do seu monstro e add a tag:



    <script>
    <event name="teleportmonster"/>
    </script>





    Ficara assim o arquivo xml do seu monstro:


    <?xml version="1.0" encoding="UTF-8"?>
    <monster name="orchid frog" nameDescription="a orchid frog" race="blood" experience="20" speed="230" manacost="0">
    <health now="60" max="60"/>
    <look type="226" head="109" body="14" legs="109" feet="114" corpse="6079"/>
    <targetchange interval="5000" chance="20"/>
    <strategy attack="100" defense="0"/>
    <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag staticattack="90"/>
    <flag targetdistance="1"/>
    <flag runonhealth="0"/>
    </flags>
    <attacks>
    <attack name="melee" interval="2000" skill="3" attack="9"/>
    </attacks>
    <defenses armor="2" defense="3"/>
    <immunities>
    <immunity physical="0"/>
    <immunity energy="0"/>
    <immunity fire="0"/>
    <immunity poison="0"/>
    <immunity lifedrain="0"/>
    <immunity paralyze="0"/>
    <immunity outfit="0"/>
    <immunity drunk="0"/>
    <immunity invisible="0"/>
    </immunities>
    <voices interval="5000" chance="10">
    <voice sentence="Ribbit!Ribbit!"/>
    </voices>
    <loot>
    <item id="2148" countmax="10" chance1="60000" chancemax="1321"/>
    <item id="3976" countmax="7" chance1="53500" chancemax="2120"/>
    </loot>
    <script>
    <event name="teleportmonster"/>
    </script>
    </monster>



    Obs: o arquivo xml demonstrado acima é o do orchid frog

    qlq duvida posta ae
  9. Gostei
    mariatti recebeu reputação de josiassc em [Duvida] Rep look   
    use esse sistema aqui::

    vai na pasta mod e cria um arquivo chamado rep_system




  10. Gostei
    mariatti recebeu reputação de yakkra em [Duvida] Rep look   
    1º) Abra sua DATABASE no SQLITE.
    2º) Vá em TOOLS
    3º) Siga em OPEN SQL QUERY EDITOR
    4º) Coloque na 1º linha a seguinte query:


    ALTER TABLE "players" ADD "rep" INT( 11 ) NOT NULL DEFAULT "0";
    5º) Aperte F9.
  11. Gostei
    mariatti recebeu reputação de Bualeq em (Resolvido)(Resolvido) Script monstro morre aparece tp   
    Va na pasta data/creaturescripts de seu otserv abra o arquivo creaturescripts.xml e add a tag:


    <event type="death" name="teleportmonster" script="tpmonster.lua"/>



    Abra a pasta scripts crie um arquivo chamado tpmonster.lua e adicione:



    local config = {
    message = "Congrulations. Teleport close in 1 minute",
    timeToRemove = 60, -- seconds
    teleportId = 1387,
    bosses = {
    ["Orchid Frog"] = { x = 459, y = 594, z = 7 },

    }
    }

    local function removal(position)
    doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
    return TRUE
    end

    function onDeath(cid, corpse, killer)
    registerCreatureEvent(cid, "teleportmonster")
    local position = getCreaturePosition(cid)

    for name, pos in pairs(config.bosses) do
    if name == getCreatureName(cid) then
    teleport = doCreateTeleport(config.teleportId, pos, position)
    doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
    addEvent(removal, config.timeToRemove * 1000, position)
    doSendMagicEffect(position,10)
    end
    end
    return TRUE
    end



    OBS: aquela coordenada é para onde o teleport erá te levar.

    agora vá até a pasta monster, abra o arquivo do seu monstro e add a tag:



    <script>
    <event name="teleportmonster"/>
    </script>





    Ficara assim o arquivo xml do seu monstro:


    <?xml version="1.0" encoding="UTF-8"?>
    <monster name="orchid frog" nameDescription="a orchid frog" race="blood" experience="20" speed="230" manacost="0">
    <health now="60" max="60"/>
    <look type="226" head="109" body="14" legs="109" feet="114" corpse="6079"/>
    <targetchange interval="5000" chance="20"/>
    <strategy attack="100" defense="0"/>
    <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag staticattack="90"/>
    <flag targetdistance="1"/>
    <flag runonhealth="0"/>
    </flags>
    <attacks>
    <attack name="melee" interval="2000" skill="3" attack="9"/>
    </attacks>
    <defenses armor="2" defense="3"/>
    <immunities>
    <immunity physical="0"/>
    <immunity energy="0"/>
    <immunity fire="0"/>
    <immunity poison="0"/>
    <immunity lifedrain="0"/>
    <immunity paralyze="0"/>
    <immunity outfit="0"/>
    <immunity drunk="0"/>
    <immunity invisible="0"/>
    </immunities>
    <voices interval="5000" chance="10">
    <voice sentence="Ribbit!Ribbit!"/>
    </voices>
    <loot>
    <item id="2148" countmax="10" chance1="60000" chancemax="1321"/>
    <item id="3976" countmax="7" chance1="53500" chancemax="2120"/>
    </loot>
    <script>
    <event name="teleportmonster"/>
    </script>
    </monster>



    Obs: o arquivo xml demonstrado acima é o do orchid frog

    qlq duvida posta ae
  12. Gostei
    mariatti recebeu reputação de Alexandre Trifler em (Resolvido)(Resolvido) Script monstro morre aparece tp   
    Va na pasta data/creaturescripts de seu otserv abra o arquivo creaturescripts.xml e add a tag:


    <event type="death" name="teleportmonster" script="tpmonster.lua"/>



    Abra a pasta scripts crie um arquivo chamado tpmonster.lua e adicione:



    local config = {
    message = "Congrulations. Teleport close in 1 minute",
    timeToRemove = 60, -- seconds
    teleportId = 1387,
    bosses = {
    ["Orchid Frog"] = { x = 459, y = 594, z = 7 },

    }
    }

    local function removal(position)
    doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
    return TRUE
    end

    function onDeath(cid, corpse, killer)
    registerCreatureEvent(cid, "teleportmonster")
    local position = getCreaturePosition(cid)

    for name, pos in pairs(config.bosses) do
    if name == getCreatureName(cid) then
    teleport = doCreateTeleport(config.teleportId, pos, position)
    doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
    addEvent(removal, config.timeToRemove * 1000, position)
    doSendMagicEffect(position,10)
    end
    end
    return TRUE
    end



    OBS: aquela coordenada é para onde o teleport erá te levar.

    agora vá até a pasta monster, abra o arquivo do seu monstro e add a tag:



    <script>
    <event name="teleportmonster"/>
    </script>





    Ficara assim o arquivo xml do seu monstro:


    <?xml version="1.0" encoding="UTF-8"?>
    <monster name="orchid frog" nameDescription="a orchid frog" race="blood" experience="20" speed="230" manacost="0">
    <health now="60" max="60"/>
    <look type="226" head="109" body="14" legs="109" feet="114" corpse="6079"/>
    <targetchange interval="5000" chance="20"/>
    <strategy attack="100" defense="0"/>
    <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag staticattack="90"/>
    <flag targetdistance="1"/>
    <flag runonhealth="0"/>
    </flags>
    <attacks>
    <attack name="melee" interval="2000" skill="3" attack="9"/>
    </attacks>
    <defenses armor="2" defense="3"/>
    <immunities>
    <immunity physical="0"/>
    <immunity energy="0"/>
    <immunity fire="0"/>
    <immunity poison="0"/>
    <immunity lifedrain="0"/>
    <immunity paralyze="0"/>
    <immunity outfit="0"/>
    <immunity drunk="0"/>
    <immunity invisible="0"/>
    </immunities>
    <voices interval="5000" chance="10">
    <voice sentence="Ribbit!Ribbit!"/>
    </voices>
    <loot>
    <item id="2148" countmax="10" chance1="60000" chancemax="1321"/>
    <item id="3976" countmax="7" chance1="53500" chancemax="2120"/>
    </loot>
    <script>
    <event name="teleportmonster"/>
    </script>
    </monster>



    Obs: o arquivo xml demonstrado acima é o do orchid frog

    qlq duvida posta ae
  13. Gostei
    mariatti recebeu reputação de Toruk em [Resolvido] Magias 8.7 + Cooldowns   
    AUGUSTO TE AMO VEI, FUNFO..
  14. Gostei
    mariatti recebeu reputação de Toruk em [Resolvido] Magias 8.7 + Cooldowns   
    eae galera, beleza?
    Desculpe postar mais uma vez, é que o ot que eu estou editando está cheio de bug, e é sempre bom perguntar para pessoas que sabem do q tentar fazer por conta..
    Bom meu ot (crystal server 8.7) nao tem nenhuma magia nova, entao gostaria que me ajudasse com elas...
    O sv tem o sistema de cooldown, mas bugado. quando solto uma magia de ataq ex: exevo gran mas frigo, eu posso logo em seguida soltar exevo gran mas tera, sem nenhum exausted...
    existe o exausted da magia mais nao dos grupos, tambem gostaria de ajuda nisso

    Vlw galera
    Abraçow
  15. Gostei
    mariatti recebeu reputação de Souferaa em [Duvida] Rep look   
    use esse sistema aqui::

    vai na pasta mod e cria um arquivo chamado rep_system




  16. Gostei
    mariatti recebeu reputação de rolisso em (Resolvido) [PEDIDO] Como adicionar/fazer Cooldown no servidor 8.70   
    subistitua oq que ta no seu spells xml por esse aqui..
  17. Gostei
    mariatti recebeu reputação de LukasRangel em [ERRO] could not load house data   
    clica 2 vezes no nome da house com o id, que ele vai direto pra house
  18. Gostei
    mariatti deu reputação a Vodkart em [Resolvido][Duvida] NPC   
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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) if(not npcHandler:isFocused(cid)) then return false end local item = 2123 -- item que sera adc local parteid = {9694, 9695, 9696, 9697, 9698, 9699} local sorrymessage = "Desculpe, voce nao tem todas as partes necessarias" local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local talkState = {} if msgcontains(msg, 'obrigado') then for i = 1, table.maxn(parteid) do if getPlayerItemCount(cid, parteid[i]) <= 0 then npcHandler:say(sorrymessage, cid) return true end end for i = 1, table.maxn(parteid) do doPlayerRemoveItem(cid,parteid[i], 1) end doPlayerAddItem(cid, item, 1) npcHandler:say("Voce recebeu seu Addon Doll", cid) elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then npcHandler:say("OK, Volte quando tiver todas as partes.", cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  19. Gostei
    mariatti deu reputação a Kimoszin em (resolvido) Erro ao criar casa   
  20. Gostei
    mariatti deu reputação a Tiag017 em (resolvido) Erro ao criar casa   
    Olá, Tibiano então cara você pode tentar da seguinte forma, apagar todas as casa da cidade nova e adicionalas novamente, ou ver se você não fez algo errado por que é como o post do @
    Kimoszin


    Ali na img que ele colocou está certo as casa por exemplo: va na house pallete e vai na cidade que você adicionou as casas e procura por: (Flat 1, Area 42) provavelmente não vai estar deste geito mais você olha diretinho, ve se a porta que você adicionou tambem é Close Look door, então se funfar mereço um +Rep ae =)

  21. Gostei
    mariatti recebeu reputação de The Angels em (Resolvido)(Resolvido) Script monstro morre aparece tp   
    Va na pasta data/creaturescripts de seu otserv abra o arquivo creaturescripts.xml e add a tag:


    <event type="death" name="teleportmonster" script="tpmonster.lua"/>



    Abra a pasta scripts crie um arquivo chamado tpmonster.lua e adicione:



    local config = {
    message = "Congrulations. Teleport close in 1 minute",
    timeToRemove = 60, -- seconds
    teleportId = 1387,
    bosses = {
    ["Orchid Frog"] = { x = 459, y = 594, z = 7 },

    }
    }

    local function removal(position)
    doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
    return TRUE
    end

    function onDeath(cid, corpse, killer)
    registerCreatureEvent(cid, "teleportmonster")
    local position = getCreaturePosition(cid)

    for name, pos in pairs(config.bosses) do
    if name == getCreatureName(cid) then
    teleport = doCreateTeleport(config.teleportId, pos, position)
    doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
    addEvent(removal, config.timeToRemove * 1000, position)
    doSendMagicEffect(position,10)
    end
    end
    return TRUE
    end



    OBS: aquela coordenada é para onde o teleport erá te levar.

    agora vá até a pasta monster, abra o arquivo do seu monstro e add a tag:



    <script>
    <event name="teleportmonster"/>
    </script>





    Ficara assim o arquivo xml do seu monstro:


    <?xml version="1.0" encoding="UTF-8"?>
    <monster name="orchid frog" nameDescription="a orchid frog" race="blood" experience="20" speed="230" manacost="0">
    <health now="60" max="60"/>
    <look type="226" head="109" body="14" legs="109" feet="114" corpse="6079"/>
    <targetchange interval="5000" chance="20"/>
    <strategy attack="100" defense="0"/>
    <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag staticattack="90"/>
    <flag targetdistance="1"/>
    <flag runonhealth="0"/>
    </flags>
    <attacks>
    <attack name="melee" interval="2000" skill="3" attack="9"/>
    </attacks>
    <defenses armor="2" defense="3"/>
    <immunities>
    <immunity physical="0"/>
    <immunity energy="0"/>
    <immunity fire="0"/>
    <immunity poison="0"/>
    <immunity lifedrain="0"/>
    <immunity paralyze="0"/>
    <immunity outfit="0"/>
    <immunity drunk="0"/>
    <immunity invisible="0"/>
    </immunities>
    <voices interval="5000" chance="10">
    <voice sentence="Ribbit!Ribbit!"/>
    </voices>
    <loot>
    <item id="2148" countmax="10" chance1="60000" chancemax="1321"/>
    <item id="3976" countmax="7" chance1="53500" chancemax="2120"/>
    </loot>
    <script>
    <event name="teleportmonster"/>
    </script>
    </monster>



    Obs: o arquivo xml demonstrado acima é o do orchid frog

    qlq duvida posta ae
  22. Gostei
    mariatti deu reputação a Kimoszin em Amuleto Soft   
    items.xml

    <item id="ID" article="a" name="Name"> <attribute key="description" value="Descrição" /> <attribute key="weight" value="830" /> <attribute key="slotType" value="necklace" /> <attribute key="duration" value="14400" /> <attribute key="healthGain" value="1" /> <attribute key="healthTicks" value="2000" /> <attribute key="manaGain" value="2" /> <attribute key="manaTicks" value="1000" /> <attribute key="showduration" value="1" /> </item> movements.xml <movevent type="Equip" itemid="ID" slot="necklace" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="ID" slot="necklace" event="function" value="onDeEquipItem"/>
  23. Gostei
    mariatti deu reputação a EdsonJunior em Amuleto Soft   
    movements.xml

    <movevent event="Equip" itemid="ID" slot="necklace" function="onEquipItem" /> <movevent event="Equip" itemid="ID DIFERENTE" slot="necklace" function="onEquipItem" /> <movevent event="DeEquip" itemid="ID DIFERENTE" slot="necklace" function="onDeEquipItem" /> items.xml <item id="ID" article="a" name="Name"> <attribute key="description" value="Descrição" /> <attribute key="weight" value="830" /> <attribute key="slotType" value="necklace" /> <attribute key="duration" value="14400" /> <attribute key="healthGain" value="1" /> <attribute key="healthTicks" value="2000" /> <attribute key="manaGain" value="2" /> <attribute key="manaTicks" value="1000" /> <attribute key="showduration" value="1" /> </item> items.xml <item id="ID DIFERENTE" name="NOME"> <attribute key="weight" value="830"/> <attribute key="description" value="Acabou o tempo, item inutil."/> </item>


    Agora assim que acabar o tempo do amuleto, ele se transformara em outro item (mude o ID DIFERENTE) e a descrição mostrará que o item é inutil.
    Serve?!
  24. Gostei
    mariatti recebeu reputação de Sociopata em (Resolvido)(Resolvido) Script monstro morre aparece tp   
    Va na pasta data/creaturescripts de seu otserv abra o arquivo creaturescripts.xml e add a tag:


    <event type="death" name="teleportmonster" script="tpmonster.lua"/>



    Abra a pasta scripts crie um arquivo chamado tpmonster.lua e adicione:



    local config = {
    message = "Congrulations. Teleport close in 1 minute",
    timeToRemove = 60, -- seconds
    teleportId = 1387,
    bosses = {
    ["Orchid Frog"] = { x = 459, y = 594, z = 7 },

    }
    }

    local function removal(position)
    doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
    return TRUE
    end

    function onDeath(cid, corpse, killer)
    registerCreatureEvent(cid, "teleportmonster")
    local position = getCreaturePosition(cid)

    for name, pos in pairs(config.bosses) do
    if name == getCreatureName(cid) then
    teleport = doCreateTeleport(config.teleportId, pos, position)
    doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
    addEvent(removal, config.timeToRemove * 1000, position)
    doSendMagicEffect(position,10)
    end
    end
    return TRUE
    end



    OBS: aquela coordenada é para onde o teleport erá te levar.

    agora vá até a pasta monster, abra o arquivo do seu monstro e add a tag:



    <script>
    <event name="teleportmonster"/>
    </script>





    Ficara assim o arquivo xml do seu monstro:


    <?xml version="1.0" encoding="UTF-8"?>
    <monster name="orchid frog" nameDescription="a orchid frog" race="blood" experience="20" speed="230" manacost="0">
    <health now="60" max="60"/>
    <look type="226" head="109" body="14" legs="109" feet="114" corpse="6079"/>
    <targetchange interval="5000" chance="20"/>
    <strategy attack="100" defense="0"/>
    <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag staticattack="90"/>
    <flag targetdistance="1"/>
    <flag runonhealth="0"/>
    </flags>
    <attacks>
    <attack name="melee" interval="2000" skill="3" attack="9"/>
    </attacks>
    <defenses armor="2" defense="3"/>
    <immunities>
    <immunity physical="0"/>
    <immunity energy="0"/>
    <immunity fire="0"/>
    <immunity poison="0"/>
    <immunity lifedrain="0"/>
    <immunity paralyze="0"/>
    <immunity outfit="0"/>
    <immunity drunk="0"/>
    <immunity invisible="0"/>
    </immunities>
    <voices interval="5000" chance="10">
    <voice sentence="Ribbit!Ribbit!"/>
    </voices>
    <loot>
    <item id="2148" countmax="10" chance1="60000" chancemax="1321"/>
    <item id="3976" countmax="7" chance1="53500" chancemax="2120"/>
    </loot>
    <script>
    <event name="teleportmonster"/>
    </script>
    </monster>



    Obs: o arquivo xml demonstrado acima é o do orchid frog

    qlq duvida posta ae
  25. Gostei
    mariatti deu reputação a Kimoszin em (Resolvido) Portal apos matar um bixo   
    Simples, copie o XML do hellgorak, bote outro nome, registre no monster.xml e bote o script nele, vai no remeres adiciona o novo Hellgorak, e substitui no map.

Informação Importante

Confirmação de Termo