Ir para conteúdo

Leoxtibia

Visconde
  • Total de itens

    489
  • Registro em

  • Última visita

  • Dias Ganhos

    15

Tudo que Leoxtibia postou

  1. Substitua por esse: function onThink(interval, lastExecution) local cor = 22 -- Defina a cor da mensagem (22 = branco) local mensagens = {"E ae galera Sejam Bem vindos Ao MegaRadbr.Galera o servidor Ainda Não Está Totalmente Completo Está Em Construção Mais Informações Com O {ADM} Master Viciado.", "Qualquer duvida, sujestao ou critica, mantenha o Help Chat aberto e contate um responsavel.", "Galera pesso disculpas pelos transtornos das quedas e lags no servidor, este será arrumado logo,pois ja mandei a OI mandar um tecnico para arrumar a internet", "Para Adiquirir Barras De Ouro Basta Falar Com O {ADM} Master Viciado Preço Cada 10 Barras 50k No Radbr Sv1,sv2,sv3 e sv4 ", "Evento dos Castelos todos os domingos as 19:00. Todos os levels podem participar. Não perderá nada caso morrer na arena de combate. Estamos esperando você na decisão destes Reinados! [Pressione (Ctrl + W) pra apagar a mensagem mais rápida da tela.].", "Ajude a manter a qualidade do Servidor! Evite jogar items no chao. Use as lixeiras.", "Barras De Ouro Serve Para Comprar Skills, Super Divine Itens, Divine Itens e VIP.Vantages De VIP Addons Exclusivo,Stamina Bonus,Cidades VIPS e Hunts VIPS.e pode resetar com menos lvl.", "Para saber oque comprar com as barras de ouro fale !comprar.", "Sistema de montaria está sendo implantado aos poucos breve estará completo para mais informaições digite !notice."} local msg = math.random(1, 6) doBroadcastMessage(mensagens[math.random(1,table.maxn(mensagens))], cor) return TRUE end
  2. É, pedi pra você testar pq não vi no script a linha de resetar o level =S
  3. Bom sistema, parece ser legal mesmo ^^ Parabéns aí cara! Rep+
  4. Com o do Vilden, substitua por esse e configure de acordo com suas coordenadas: function onStepIn(cid, item, position, fromPosition) local cfg = { pos = {x=1, y=2, z=7}, -- local do monstro que será sumonado newpos = {x=10, y=1, z=7}, -- local que o teleport vai levar stg = 4124, -- storage que o player precisará ter name = "Demon" -- monstro que será sumonado } if getPlayerStorageValue(cid,cfg.stg) == 1 then setPlayerStorageValue(cid,cfg.stg,2) doSummonCreature(cfg.name,cfg.pos) doTeleportThing(cid,cfg.newpos) doSendMagicEffect(getPlayerPosition(cid),10) else doPlayerSendTextMessage(cid,25,"Você não pode entrar ou já entrou aqui uma vez.") doTeleportThing(cid,fromPosition) end end Vlw, espero ter ajudado.
  5. Leoxtibia

    Npc De Missão

    Respondendo o primeiro pedido. Em npcs crie um arquivo.xml e cole isto dentro <?xml version="1.0" encoding="UTF-8"?> <npc name="NOME DO NPC" script="data/npc/scripts/NOME DO ARQUIVO.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="134" head="55" body="60" legs="50" feet="75" addons="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Tenho uma missao para voce se voce quiser ela fale {aceitar}." /> </parameters> </npc> Lembre de mudar o nome do Npc e o nome do arquivo que você colocará em data>npcs>scripts. Copie qualquer arquivo, renomeie para o nome de sua preferência e cole isto dentro: 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 crystalid = 2349 -- item que o player deverá ter local storage = 2358 local getstorage = getPlayerStorageValue(cid, storage) local sorrymessage = "Desculpe, voce nao tem o item que eu preciso..." local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'aceitar') then if getstorage == 1 then npcHandler:say("Voce jah completou a mission.", cid) elseif getstorage < 1 then npcHandler:say("Eu quero muito um item escondido nas colinas de Egeu para eu curar a doença de minha filha,mais não sou um guerreiro,voce poderia me {ajudar}?", cid) talkState[talkUser] = 1 end elseif msgcontains(msg, 'ajudar') then if getstorage < 1 then npcHandler:say("Você trouxe o item das colinas de Egeu em troca de 250k? Se sim, fale {yes}.", cid) end elseif msgcontains(msg, 'yes') then if talkState[talkUser] == 1 then if getstorage < 0 then if doPlayerRemoveItem(cid, crystalid, 1) == TRUE then npcHandler:say("Obrigado por trazer o item.", cid) setPlayerStorageValue(cid, storage, 1) doPlayerAddItem(cid, 2160, 25) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 1) == FALSE then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end end end elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then npcHandler:say("OK, Volte quando estiver pronto.", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Lembre de mudar o item necessário nessa linha: local crystalid = 2349 -- id do item que o player deverá ter. Vlw, espero ter ajudado, abraço!
  6. Acho que você não precisa mudar no fromvoc, já que o script verifica se a vocation id é maior que a 8. Então edite nas vocações a partir de 9 <vocation id="9" name="Mago Supremo" ------------- fromvoc="5" lessloss="50">, mudando para fromvoc="1" e veja se funciona. Vlw, espero ter ajudado.
  7. Não, não mexe nessa parte não. Testa o script primeiro, para ver se tá fazendo o que você quer.
  8. Você deve ir em data>npcs>scripts e copiar qualquer arquivo renomeando para qualquer nome de sua preferência, e colar o que o caotic te mandou dentro desse arquivo. Agora na pasta anterior, você deve copiar qualquer arquivo.xml renomear para o nome do seu Npc e colar isto dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="NOME DO SEU NPC" script="data/npc/scripts/nome do seu arquivo.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="134" head="78" body="88" legs="0" feet="88" addons="3"/> </npc> Vlw, espero ter ajudado, abraço! (PS: O REP+ é do caotic)
  9. Em movements>scripts crie um arquivo.lua e cole isto dentro: local hp = 1000 --- quantidade de hp que será adicionada local mp = 500 --- quantidade de mp que será adicionada function onStepIn(cid, item, position, fromPosition) if item.actionid == 4236 then doCreatureAddHealth(cid, hp) doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", TEXTCOLOR_ORANGE) elseif item.actionid == 4237 then doCreatureAddMana(cid, mp) doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", TEXTCOLOR_ORANGE) end end Em movements.xml cole as tags: <movevent type="StepIn" actionid="4236" event="script" value="nomedoseuarquivo.lua" /> <movevent type="StepIn" actionid="4237" event="script" value="nomedoseuarquivo.lua" /> Agora é só colocar o actionid 4236 para hp e 4237 para mana no tile que você quiser. Você também pode mudar o actionid se quiser, mude no script e nas tags. Vlw, espero ter ajudado.
  10. Ambos, vip system e segunda promotion podem ser encontradas nesse tópico: http://www.xtibia.com/forum/topic/187773-talkaction-promotion-para-vips-vip-system-by-kydrai/ Veja se serve para você, vlw abraço.
  11. Se não funcionar o que o dragon falou, faz o seguinte: Faz assim, em movements>scripts crie dois arquivos: expring.lua local rate = 1.1 function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua experiência aumentou em + "..((rate - 1)*100).."%.") doPlayerSetExperienceRate(cid, rate) return true end expring2.lua function onDeEquip(cid, item, slot) doPlayerSetExperienceRate(cid, 1.0) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua taxa de experiência extra terminou.") return true end Em movements.xml você coloca as tags: <movevent type="Equip" itemid="7708" slot="ring" event="script" value="expring.lua"/> <movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="expring2.lua"/> Vlw, espero ter ajudado.
  12. Aí Diego_o, sobre o problema da soulfire vá até o arquivo da runa em spells>scripts> attack e veja nessa linha: addDamageCondition(condition, 10, 2000, -10) A função addDamageConditon é assim addDamageCondition(condition, key, rounds, time, value). Se no seu script da soulfire, estiver igual ao da linha acima, acho que a parte que não tem é key, mas isso não causa danos ao funcionamento da runa não. Tente alterar aquele 2000 pouco a pouco e vê no que dá! =P Enfim, não se sei tem a ver, mas não custa tentar. Vlw, abraço.
  13. Afinal tem ou não tem utilidade? -.- Se alguém me pediu é porque tem utilidade para alguém. O tamanho do meu script é explicado por eu tá começando a scripting agora (leia o tópico antes de criticar). A configuração é adicionar uma linha, só isso. Espero melhorar, ainda estou bem no começo, vou aceitar críticas construtivas.
  14. Aí,vou colocar dois, você escolhe: Vlw, espero ter ajudado.
  15. Você também pode criar um arquivo.lua em actions>scripts e colocar o seguinte dentro: function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerLevel(cid) >= 2000 then doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPos) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você deve ser level 2000 ou maior para passar dessa porta.") end return true end E em actions.xml adicionar a tag: <action uniqueid="XXXX" script="nomedoarquivo.lua"/> Em XXXX você coloca um uniqueid que não esteja em uso e o mesmo uniqueid da porta. Vlw, espero ter ajudado.
  16. @Faelzim Sim. @SkyDangerous Ok, o Faelzim me mandou pm procurando um assim. Como ele, outras pessoas também poderiam querer, achei melhor postar do que deixar guardado, pra tentar ajudar outras pessoas. Mas mesmo assim, é válido o que você disse.
  17. Aí galera, meu segundo script, fiz para responder um pedido e alterei algumas coisas, mas não queria deixar mofando no pc =P Acho que deve ter alguns scripts parecidos mas tentei fazer um de fácil configuração, quanto mais opções melhor não é mesmo? Diante mão, obrigado ao Jhon992 por me ensinar a usar o comando doShowTextDialog (ainda tô começando ^^). Vamos ao script: Em talkactions>scripts crie um arquivo.lua e cole isto dentro: -- Script Loja [Comando !buy] by Leoxtibia -- local minlevel = 50 -- level minimo para usar o comando local idmoeda = 2148 -- id da moeda para comprar os itens -- 2148 é gold coin local compra = { ["superuh"] = {id = 2310, count = 100, price = 10}, --- [nome do item que aparecerá na loja] = id do item, quantidade, preço em idmoeda ["magicprison"] = {id = 2290, count = 100, price = 100} } function onSay(cid, words, param) local shop = compra[param] if (shop) then if getPlayerLevel(cid) >= minlevel then if doPlayerRemoveItem(cid, idmoeda, compra[param:lower()].price) == TRUE then doPlayerAddItem(cid, compra[param:lower()].id, compra[param:lower()].count) doSendMagicEffect(getCreaturePosition(cid),13) doCreatureSay(cid, "Voce comprou " .. compra[param:lower()].count .." " .. param:lower() .. "!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 22,"Você deve ter ".. compra[param:lower()].price .." ".. getItemNameById(idmoeda) .." para comprar esse item.") end else doPlayerSendTextMessage(cid, 22,"Você deve ter level " .. minlevel .. " ou mais para poder comprar na loja.") end end return true end function onSay(cid, words, param) if param == "" then local itensCompra = {"superuh","magicprison"} local text = "" for i=1, #itensCompra do if i == 1 then text = i.." - ".. itensCompra[i] .."\n" else text = text.. i .." - ".. itensCompra[i] .."\n" end end doShowTextDialog(cid,9004,text) return TRUE end end Agora em talkactions.xml cole a tag: <talkaction log="yes" words="!buy" event="script" value="nomedoseuarquivo.lua"/> Para usar o comando é só falar !buy + nome do item. Exemplo: !buy superuh // Para ver os itens da loja use somente !buy. Para adicionar mais itens que poderão ser comprados adicione mais linhas: ["suddendeath"] = {id = 1234, count = 100, price = 100}, Lembrando que a última linha não tem vírgula. Para adicionar os items que serão mostrados na loja, adicione os nomes na linha, sempre "entre aspas": local itensCompra = {"superuh","magicprison", "suddendeath"} Então é isso aí, espero que ajude alguém =D Vlw, abraços.
  18. Calma, ainda estou aprendendo kkk mas vou dar uma olhada nos outros sistemas, se eu conseguir coloco aqui mesmo ^^
  19. Já resolvi esse problema, é porque não funciona o doPlayerSetVocation por talkaction, a vocação não fica, agora eu já troquei usando o setPlayerPromotionLevel. E adicionei para voltar a vocação quando a vip acabar, vlw abraço!
  20. @Vilden Vlw por adicionar o link.. já resolvi esse problema de ter que falar !promote para a vocação sair. @Titanico xD Agora perde, consertei isso =P @Diego_o Isso já foi consertado agora também, pode testar que vai funcionar ^^
  21. E se o script fosse para sqlite? Teria como fazer?
  22. Essa segunda imagem tá muito ruim, se puder melhorar... Mas veja se seu items.xml ta terminando com a tag certa: </items> Eu acho que ali ta </item>, o que é errado.
  23. O comando !vida já foi feito em outro tópico. Segue o link: http://www.xtibia.co...8-scripit-vida/ No server dele não tinha nem a função getCreatureHealth(cid) nem a getPlayerHealth(cid). Faelzim, evite fazer tópicos com a mesma dúvida para que isso que aconteceu não ocorra mais. =D Fica a dica! =P Vlw, abraço!
  • Quem Está Navegando   0 membros estão online

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