Ir para conteúdo

Mateusoo

Campones
  • Total de itens

    78
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Tudo que Mateusoo postou

  1. Vou arrumar a questão do Logout e se o player andar também, o efeito fica na antiga posição. Ai depois posto. Abraços...
  2. Realmente, testei aqui agora, tem alguns problemas. Vou tirar e talvez eu poste novamente quando resolver. Abraço ;]
  3. Bom dia, Posta ai o seu arquivo que está na pasta MODs novamente.
  4. Esse esconde o life e o nick. Já testei. Abraços.
  5. Nome : Mateus Oliveira Idade : 18 Experiência : Em mapeamento acredito que quase NULA, sempre fui ruim em Decorar e tudo mais, levo anos para fazer um mapa aceitavel que mappers fariam em 1h. Oque quer Aprender a fazer nas aulas de Mappeamento ? Quero melhorar a decoração e aprender a como funciona o mapeamento e como é feito ao olhos de quem realmente entende. Tenho vontade de aprender. Tempo Disponivel : O dia todo, qualquer turno.
  6. Olá, Não conhecia, estou fascinado! Abraço!
  7. Reabre a escolinha duh! Por um xtibia melhor! Vamos as ruas! Se tiver alguma novidade, me manda uma PM, tenho muito interesse! Um grande abraço!
  8. Eu me passei e esqueci das chaves... E tambem achei um modo estranho de mostrar o valor se fosse de uma tabela... Nem sabia dos colchetes duplos. Valeu :]
  9. Um tabela? Serio? Isso é contra a LEI! AUHAUHAUHAU Muito bom, adorei isso! Abraço
  10. Como falei no PRIVATE, Experimenta assim: function onLogin(cid) local msg = "Bem Vindo(a) ao BadOT, Compre Já Sua Vip e tenha muito mais vantagens." local msg = msg.."\nComprando a VIP você recebe: Tag [VIP], 5 Vip Coin, +500x de UP, Acesso a Area VIP com Hunts Novas." local msg = msg.."\nIsso tudo por Apenas 10 Reais, Acesse: badot.com , By.: [ADM]Akiiro" local msg = msg.."\nBy.: [ADM]Akiiro" doPlayerPopupFYI(cid, msg) return true end
  11. Deve ser essa linha: setplayerstorageValue(cid, mob.storage, contagem+1) Mude para: Linha 172 se não me engano setPlayerStorageValue(cid, mob.storage, contagem+1) Você terá vários problemas desse se não utilizar a versão disponibilizada pelo Vodkart... Esses problemas com as funções são bestas, mas são chatos pois são muitos... Abraço.
  12. Boa noite, Excelente ideia! Seria interessante professores diferentes também, pois um sempre sabe uma função e forma de utilizar um código que o outro não sabe. Tenho muito interesse! Qualquer dia, qualquer horário! Espero respostas! Um grande abraço e por favor, faça acontecer! ;}
  13. Mano, eu to olhando aqui, você fez o que que a maioria das letras maiusculas foram substituidas por minusculas? Varias funções não estão funcionando, tem que olhar ambos os scripts e corrigir função por função... Acho melhor você pegar o MOD base novamente, e editar COM CUIDADO o que você editou nesse. Tente evitar ferramentas de substituição de letras, por exemplo: Substituir "S" por "s" fará com que todas as funções: getPlayerStorageValue se tornem getPlayerstorageValue o que vai gerar erro. Faça tudo manualmente e não mecha no que você não sabe para que serve, a não ser que você esteja estudando, claro kkkk Vou tentar arrumar esse script aqui, mas te recomendo pegar o MOD do jeito que foi postado e re-editar. Será 1000x mais rapido... Abraço.
  14. Você adicionou a TAG no creaturescripts.xml? Se não, adicione isso: <event type="login" name="noticeDuuh" script="nomedoseuarquivo.lua"/> Editando a parte: script="" colocando o nome do seu arquivo.lua Abraço, testei aqui e funcionou.
  15. Funcionou? Se sim, marca como respondido e pede pra algum moderador mover. abraços.
  16. Olá, Crie o arquivo notice.txt na pasta: DATA/ e escreva tudo que você quiser que apareça no lá dentro. Vá no seu script login.lua na pasta Data/creaturescripts/scripts e adicione o seguinte código antes do ultimo end e acima do return true: file = io.open('data/notice.txt','r') notice = file:read(-1) doShowTextDialog(cid, 7528, notice) file:close() Agora sempre que qualquer player fizer login, vai aparecer tudo o que está escrito dentro do arquivo notice.txt Qualquer problema, posta ai, aguardando resposta. Creditos: Comedinha Pele Notice System - Talkaction que o mesmo desenvolveu. Abraços.
  17. Eu editei o script, use ele EXATAMENTE como está lá, apague tudo do seu e use o que eu lhe passei agora. Aguardando.
  18. Experimente: <?xml version="1.0"?> <npc name="Dark Rodo" script="data/npc/scripts/runes.lua" access="5" lookdir="1"> <health now="1000" max="1000"/> <look type="133" head="0" body="86" legs="0" feet="38" addons="1"/> <interaction range="3" idletime="30" idleinterval="300" defaultpublic="0"> <include file="Dark Rodo.xml"/> <interact keywords="hi" focus="1"> <keywords>hello</keywords> <response text="Hello. How may I help you |NAME|?"/> </interact> </interaction> </npc> Importante lembrar que você deve alterar o: <include file="runes.xml"/> Para o nome do script do seu NPC. Pois poderá dar erro se você incluir algumas funções. Testa ai. Abraço e aguardo respostas.
  19. Olá, Posta o arquivo .xml dele, que está na pasta NPC. ~Edit: O Demon hoje está adiantando segundos na frente de todo mundo, o mesmo que aconteceu com o Duuh aconteceu comigo agora, assim que eu postei a mensagem do Demon apareceu na minha frente! kkkkk @topic Como o Demon explicou, você pode adicionar: <interact keywords="hi" focus="1"> <!--Aqui você coloca palavras alternativas alem do "HI"--> <keywords>hello</keywords> <response text="Hello. How may I help you |NAME|?"/> </interact> Ai se você falar "HI" ou "HELLO" ele vai responder "Hello. How May i Help you |NAME|" para você, edite a vontade. Abraços.
  20. Boa tarde, Posta o script do seu NPC aqui que eu lhe ajudarei. Aguardando, abraço ;]
  21. Otimo, qualquer problema estou por aqui. Obrigado pelo REP, um grande abraço
  22. Olá, Retira do Login.lua. Utilize o daqui: <?xml version="1.0" encoding="UTF-8"?> <mod name="simple Task" version="3.0" author="Vodkart" contact="xtibia.com" enabled="yes"> <config name="task_func"><![CDATA[ tasktabble = { ["tarantula"] = {monster_race={"tarantula"}, storage_start = 200201, storage = 91001,count = 600,exp = 150000,reward = {{2477,1},{7903,1}}}, ["mammoth"] = {monster_race={"mammoth"}, storage_start = 200202, storage = 91002,count = 600,exp = 400000,reward = {{7432,1},{3973,1},{7463,1}}}, ["ice golem"] = {monster_race={"ice golem"}, storage_start = 200203, storage = 91003,count = 600,exp = 1500000}, ["quaras"] = {monster_race={"quara constrictor","quara hydromancer","quara mantassin","quara pincher","quara predator","quara constrictor scout","quara hydromancer scout","quara mantassin scout","quara pincher scout","quara predator scout"}, storage_start = 200204, storage = 91004,count = 600,exp = 1200000,reward = {{2487,1},{7383,1},{2497,1}}}, ["mutated rats"] = {monster_race={"mutated rat"}, storage_start = 200205, storage = 91005,count = 400,exp = 1000000,reward = {{7884,1},{2438,1},{3476,1}}}, ["giant spiders"] = {monster_race={"giant spider"}, storage_start = 200206, storage = 91006,count = 1000,exp = 500000, reward = {{2477,1},{7416,1},{7419,1},{2476,1}}}, ["hydra"] = {monster_race={"hydra"}, storage_start = 200217, storage = 91017,count = 4000, exp = 500000, reward = {{6433,1},{2195,1},{2476,1}}}, ["sea serpent"] = {monster_race={"sea serpent"}, storage_start = 200218, storage = 91018,count = 4000, exp = 70000,reward = {{8887,1},{10521,1}}}, ["pirate one"] = {monster_race={"pirate buccaneer","pirate corsair","pirate cutthroat","pirate ghost","pirate marauder","pirate skeleton"}, storage_start = 200207, storage = 91007,count = 6000,reward = {{6102,1}}}, ["pirate two"] = {monster_race={"pirate buccaneer","pirate corsair","pirate cutthroat","pirate ghost","pirate marauder","pirate skeleton"}, storage_start = 200208, storage = 91008,count = 6000,reward = {{6101,1}}}, ["pirate three"] = {monster_race={"pirate buccaneer","pirate corsair","pirate cutthroat","pirate ghost","pirate marauder","pirate skeleton"}, storage_start = 200209, storage = 91009,count = 6000,reward = {{6099,1}}}, ["pirate four"] = {monster_race={"pirate buccaneer","pirate corsair","pirate cutthroat","pirate ghost","pirate marauder","pirate skeleton"}, storage_start = 200210, storage = 91010,count = 6000,reward = {{6100,1}}}, ["minotaur"] = {monster_race={"minotaur","minotaur mage","minotaur archer"}, storage_start = 200211, storage = 91011,count= 10000}, ["necromancer"] = {monster_race={"necromancer","priestess"}, storage_start = 200212, storage = 91012,count= 8000, exp = 2000}, ["demon"] = {monster_race={"demon"}, storage_start = 200221, storage = 91021,count = 12666, exp = 70000, money = 200000, reward = {{2495,1},{2520,1},{2472,1}}}, } configbosses_task = { {race = "minotaur",playerpos = {x = 32439, y = 31990, z = 9}, FromposTopos = {{x = 32434, y = 31989, z = 9},{x = 32448, y = 32001, z = 9}},time = 5}, {race = "necromancer",playerpos = {x = 32610, y = 32795, z = 8}, FromposTopos = {{x = 32605, y = 32785, z = 8},{x = 32614, y = 32795, z = 8}}, time = 5}, } function issummon(uid) return uid ~= getcreaturemaster(uid) or false end 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 = {false,100000}, money = {false,200000}, items ={false,{{2124,2},{2173,1}}}, premium ={false,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="kill" name="KillTask" event="script"><![CDATA[ domodlib('task_func') function onKill(cid, target, lasthit) if ismonster(target) and not issummon(target) 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 not tonumber(contagem) then return true end if (contagem == -1) then contagem = 1 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> <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></mod> Você mudou todos os "C" para "c" fazendo com que a função: registerCreatureEvent ficasse assim: registercreatureEvent A primeira função existe, porem a segunda não. Cuidado. Abraço.
  23. Por nada, marca ai como resposta para algum moderador mover. Abraço.
  24. Otimo, e tambem pelo o que eu falei, seria chato usar o Item X e o Item Y desaparecer, por ser do mesmo ID. Muito obrigado pela ajuda :] Muito bom, quanto mais gente ajudando melhor não acha? HAHA Valeu pela ajuda Abraço.
  25. Boa tarde, Testa ai agora: -- Script SYtem vip 1.0 -- function onSay(cid, words, param) if(words == "!buyvip") then local itemid = 2159 local count = 10 if doPlayerRemoveItem(cid, itemid, count) then local days = 30 local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.") end elseif(words == "!vipdays") then local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.") elseif(words == "/checkvip") then if getPlayerAccess(cid) == 5 then if not param then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(param) local pid = getPlayerByNameWildcard(param) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60)) doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.") return TRUE end elseif(words == "/addvip") then if getPlayerAccess(cid) == 5 then local t = string.explode(param, ",") if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(t[1]) local days = t[2] local pid = getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end local daysvalue = days*3600*24 local storageplayer = getPlayerStorageValue(player, 13540) local timenow = os.time() local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") setPlayerStorageValue(player, 13540, time) local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.") end elseif(words == "/delvip") then if getPlayerAccess(cid) == 5 then local dec = MESSAGE_INFO_DESCR if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end local C,t = {},string.explode(param, ",") C.pos = getPlayerPosition(cid) C.uid = getCreatureByName(t[1]) C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia. C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip. local pid = getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end if(getPlayerStorageValue(C.uid,13540) < C.time)then doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.') else doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.') setPlayerStorageValue(C.uid,13540,getPlayerStorageValue(C.uid,13540)-C.time) end doSendMagicEffect(C.pos, math.random(28,30)) end end return TRUE end A variavel itemid está o ID do item que será removido, no caso o ID do Scarab Coin e a variavel Count será a quantidade que será removido, coloquei para 10, edite a vontade. Abraço e aguardo respostas. ~Não testado.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...