Ir para conteúdo

Leoxtibia

Visconde
  • Total de itens

    489
  • Registro em

  • Última visita

  • Dias Ganhos

    15

Tudo que Leoxtibia postou

  1. Desculpa aí, minha net tinha caído ontem. Eu tinha colocado depois do end do for, mas não funcionou. =S
  2. Sim, troquei sim. Acho que coloquei aquela parte no local errado, teria como mostrar o certo?
  3. Testei, mas não funcionou =S Não deu nenhum erro também. Aqui vai o script: No caso, quero que dê a storage 6456.^^
  4. Sim, eu tentei algo do tipo, com algumas coisas a mais. for lugarx = 33,46 do for lugary = 98,107 do lugarpos = {x=lugarx, y=lugary, z=8, stackpos=253} lugarcreature = getThingfromPos(lugarpos) Mas não sei como fazer para verificar se os monstros já estão mortos, e adicionar o storage a todos os players da área =S
  5. Aí, será que alguém poderia me dizer como faço para checkar se tem monstros em uma certa área, e caso não tenha, dar storage aos players que estão na área? O script é uma action que sumona os monstros em uma área, e em seguida...deve dar storage aos players que estão dentro dessa área, caso todos os monstros tenham sidos mortos. Se alguém puder...ajuda aí ^^
  6. Você deve adicionar em items.xml duas tags para o item que você quer que tenha as cargas. <attribute key="charges" value="10" /> -- Nessa linha troque o 10, pela quantidade de cargas que você deseja. <attribute key="showcharges" value="1" /> -- Quer que mostre as cargas ao dar look no item? Exemplo de item: <item id="0000" article="a" name="Exemplo"> <attribute key="weight" value="630" /> <attribute key="charges" value="10" /> <attribute key="showcharges" value="1" /> </item> Agora em data>actions>scripts você cria um arquivo.lua e coloca isto: local lugar = {x=1,y=1,z=1} -- edita a posicão para que o player poderá ir function onUse(cid, item, frompos, item2, topos) doChangeTypeItem(item.uid, item.type - 1) doTeleportThing(cid, lugar) doSendMagicEffect(lugar, 10) end Em actions.xml você adiciona a tag: <action itemid="IDDOITEM" script="NOMEDOSEUARQUIVO.lua"/>
  7. É só você apagar as duas linhas do config.lua idleWarningTime = 14 * 60 * 1000 idleKickTime = 15 * 60 * 1000 E o char não fica offline. Vlw, abraço.
  8. Ótima ideia e ótimo script cara. Parabéns mesmo. Rep+
  9. É só você ir no config.lua e encontrar a linha idleKickTime = 15 * 60 * 1000. O 15 são os minutos que o player pode passar afk, é só você editar para o tempo que você quiser.
  10. Em data>npcs, crie um arquivo.xml e cole isto dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Citizen Seller" script="data/npc/scripts/nomedoseuarquivo.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="134" head="78" body="88" legs="0" feet="88" addons="3"/> </npc> Depois, em data>npcs>scripts, crie um arquivo.lua e cole isto dentro: Esse aí foi do citizen, depois é só vc ir criando novos arquivos xml, modificando nome do npc e o nome do arquivo e trokar o que está dentro de ---Parte do Addon[Citizen]-- pelos outros addons, além de modificar nessa linha text = 'Posso te dar o citizen addon.', o nome do addon.
  11. Usa assim: function onSay(cid, words, param) if getPlayerBlessing(cid, 1) or getPlayerBlessing(cid, 2) or getPlayerBlessing(cid, 3) or getPlayerBlessing(cid, 4) or getPlayerBlessing(cid, 5) then doPlayerSendCancel(cid,'You have already got one or more blessings!') else if vip.hasVip(cid) == TRUE then if doPlayerRemoveMoney(cid, 50000) == TRUE then doPlayerAddBlessing(cid, 1) doPlayerAddBlessing(cid, 2) doPlayerAddBlessing(cid, 3) doPlayerAddBlessing(cid, 4) doPlayerAddBlessing(cid, 5) doSendMagicEffect(getPlayerPosition(cid), 49) doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE, 'You have been blessed by the gods!') else doPlayerSendCancel(cid, "You need 50.000 gold coins to get blessed!") end else doPlayerSendCancel(cid, "Only vip players can use the comand.") end end return TRUE end
  12. Testa com essa minha e vê se funciona: local table = { [5] = {price = 10, minlevel = 100}, -- [vocação] -- preço da promotion (em crystal coins) e minimo de level para usar o comando [6] = {price = 10, minlevel = 100}, [7] = {price = 10, minlevel = 100}, [8] = {price = 10, minlevel = 100} } local moeda = 2160 -- id da moeda (2160 é crystal coin) function onSay(cid, words, param) if table[getPlayerVocation(cid)] then if getPlayerLevel(cid) >= table[getPlayerVocation(cid)].minlevel then if doPlayerRemoveItem(cid, moeda, table[getPlayerVocation(cid)].price) == TRUE then setPlayerPromotionLevel(cid, 1) doSendMagicEffect(getCreaturePosition(cid),13) doCreatureSay(cid, "Voce foi promovido!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 24, "Você não tem ".. table[getPlayerVocation(cid)].price .." ".. getItemNameById(moeda) ..".") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end else doPlayerSendTextMessage(cid, 24, "Você deve ter level ".. table[getPlayerVocation(cid)].minlevel .." ou mais para usar o comando.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end end end
  13. Não sei se é isso mesmo que você quis, porque primeiro você fala em premmy, depois fala em VIP. Fiz adicionando dias de premmy: Em data>actions>scripts crie um arquivo.lua e cole isto dentro: local items = {1111, 1212, 1313, 1414, 1515, 1616} -- Item que dará dias de premmy local days = {15, 30, 60, 90, 365, 9999} -- Dias que o item dará local text = "Você ganhou premium days." function onUse(cid, item, position, fromPosition, item2, toPosition) for i = 1,6 do if item.itemid == items[i] and doPlayerAddPremiumDays(cid, days[i]) then doRemoveItem(cid, item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, text) doSendAnimatedText(getPlayerPosition(cid), "PREMMY!", TEXTCOLOR_BLUE) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_GIFT_WRAPS) end end return true end Em actions.xml cole a tag: <action itemid="1111;1212;1313;1414;1515;1616" event="script" value="nomedoseuarquivo.lua"/> Substitua os items que você quer no script e na tag, além do nome do arquivo. Só uma coisa, aqui nessa linha: local items = {1111, 1212, 1313, 1414, 1515, 1616} ... o primeiro item dará a primeira quantidade de dias de premmy. No caso, o item 1111, dará 15 dias, o 1212..dará 30 dias. Vlw, espero ter ajudado.
  14. Leoxtibia

    Fly System

    Sim, testa primeiro.
  15. Substitua seu arquivo.lua por este: Você vai precisar editar somente aqui, para onde o NPC levará: premmy = {x=1, y=1, z=7}
  16. Deu algum erro no servidor? O normal não é /n? Testa com /n.
  17. Aí você vai adicionar seu NPC pelo map editor. Vá em File>Import e encontre o arquivo.xml do seu NPC. Depois em Creature Pallete>Npcs procure seu Npc e é só colocar ele no Map.
  18. Aí está: function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 15 -- dias que serão adicionados local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13701) local timenow = os.time() if getPlayerStorageValue(cid, 13701) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end if getPlayerStorageValue(cid, 4398) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13701, time) setPlayerStorageValue(cid, 4398, 1) local quantity = math.floor((getPlayerStorageValue(cid, 13701) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já ganhou os dias de VIP.") return TRUE end end
  19. A linha que diz quanto tempo o player pode ficar afk está no seu config.lua -> idleKickTime = 15 * 60 * 1000. O 15 são os minutos que o player pode passar afk, então o seu deve estar muito alto, é só editar.
  20. Em data>npcs crie um arquivo.xml, renomeie para o nome do seu npc e cole isto dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="NOMEDOSEUNPC" script="data/npc/scripts/NOMEDOSEUARQUIVO.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="134" head="114" body="94" legs="57" feet="0"/> <parameters> <parameter key="message_greet" value="Ola. Para mais informacoes de meus servicos diga {travel}." /> <parameter key="message_farewell" value="Tchau." /> <parameter key="message_walkaway" value="Tchau." /> </parameters> </npc> Agora em data>npcs>scripts crie um arquivo.lua e cole isto dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start 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 -- OTServ event handling functions end -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'premmy'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer mesmo viajar?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 0, destination = {x=1100, y=562, z=9} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'}) keywordHandler:addKeyword({'travel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Eu posso te teleportar. Fale \'premmy\'.'}) -- Makes sure the npc reacts when you say hi, bye etc. npcHandler:addModule(FocusModule:new()) Você vai precisar somente mudar as coordenadas para onde o npc levará, nessa parte: destination = {x=1100, y=562, z=9}. Vlw, espero ter ajudado, abraços.
  21. Fiz um aqui, não testei mas acho que vai funcionar. Em actions>scripts crie um arquivo.lua e coloque isto dentro: local items = {8302, 8292, 8299} -- Item que dará exp local getexp = {50000, 20000, 10000} -- Exp que o item dará local text = "Você ganhou experiência." function onUse(cid, item, position, fromPosition, item2, toPosition) for i = 1,3 do if item.itemid == items[i] and doPlayerAddExp(cid, getexp[i]) then doRemoveItem(cid, item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, text) doSendAnimatedText(getPlayerPosition(cid), "EXP!", TEXTCOLOR_BLUE) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_GIFT_WRAPS) end end return true end Agora em actions.xml coloque a tag: <action itemid="8302;8292;8299" event="script" value="nomedoseuarquivo.lua"/> Só explicar uma coisa, o primeiro item que no caso é 8302, dará a primeira exp que é 50k, o segundo item, dará a segunda exp que é 20k e assim sucessivamente. Vlw, espero ter ajudado.
  • Quem Está Navegando   0 membros estão online

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