Ir para conteúdo

Leoxtibia

Visconde
  • Total de itens

    489
  • Registro em

  • Última visita

  • Dias Ganhos

    15

Tudo que Leoxtibia postou

  1. Se for assim, tá beleza kk. Mas dá no mesmo =P
  2. É verdade brun123, não tinha percebido isso. Mas acho díficil colocar para sumir tão rápido, já que mesmo do seu modo, ele ficaria lá depois de 2 dias ou mais... caso alguém não fosse matá-lo =P Fora que poderia acumular muitos desses monstros no local ^^ Então, é só colocar para sumir um pouco antes do script acontecer novamente porque não corre risco disso acontecer.
  3. Como sou iniciante, irei tentar. Em data/globalevents/scripts crie um arquivo.lua e cole isto dentro: function onThink(interval, lastExecution, thinkInterval) local t = { monster = "Dragon", -- nome do monstro pos = {x=1,y=1,z=1}, -- posição onde irá nascer chance = 30, --- chance para o monstro ser sumonado tempo = 60000 * 10 -- troque o número 10 pelo tempo em minutos para o monstro sumir caso ninguém vá matá-lo } if(math.random(1, 100) <= t.chance) then doBroadcastMessage("Um "..t.monster.." apareceu lá!") pid = doCreateMonster(t.monster, t.pos) addEvent(remove, t.tempo, pid) end return TRUE end function remove(pid) if(isMonster(pid) == true) then doRemoveCreature(pid) end end Em globalevents.xml cole a tag: <globalevent name="CreateMonster" interval="172800" event="script" value="NOMEDOSEUARQUIVO.lua"/> Em interval = "172800" (48 horas) é o tempo em segundos para que o script ocorra novamente.
  4. Cara, você olhou o que eu mandei?Fica dando flood e nem olha o tópico inteiro. Clica em spoiler e testa.
  5. Edite em : resetConf = { exausthed = 60, -- tempo em segundos
  6. Dúvida Sanada. Tópico reportado.
  7. Em data/talkactions/scripts crie um arquivo.lua e cole isto dentro: local t = {{2296,1},{2273,1},{2268,1},{2278,1},{2293,1}} function onSay(cid, words, param) for i=1, #t do doPlayerAddItem(cid, t[i][1], t[i][2]) end doSendAnimatedText(getPlayerPosition(cid), "RUNAS!", COLOR_RED) doSendMagicEffect(getPlayerPosition(cid), 28) return true end Em talkactions.xml: <talkaction words="!runas" script="NOMEDOSEUARQUIVO.lua"/>
  8. Em data/creaturescripts/scripts crie um arquivo.lua e cole isto dentro: local storage = 1111 function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and getPlayerStorageValue(thing.uid, storage) ~= -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player é um Ultra Vip.") end return true end Em creaturescripts/scripts/login.lua cole antes do return true: registerCreatureEvent(cid, "CheckStorage") Em creaturescripts.xml cole a tag: <event type="look" name="CheckStorage" event="script" value="NOMEDOSEUARQUIVO.lua"/>
  9. Simplesmente foda velho. Parabéns pela idéia.
  10. Então você deve ter feito algo de errado cara. Verifique se as posições estão corretas ou veja se dá algum erro no servidor.
  11. Em data/actions/scripts crie um arquivo.lua e cole isto dentro: local t = { level = 50, -- level minimo para poder entrar inicio = -- posical inicial dos players { {x=1621,y=854,z=14}, {x=1622,y=854,z=14}, {x=1623,y=854,z=14}, {x=1624,y=854,z=14}, {x=1625,y=854,z=14} }, fim = -- posição para onde serão teleportados { {x=1561,y=671,z=14}, {x=1562,y=671,z=14}, {x=1563,y=671,z=14}, {x=1564,y=671,z=14}, {x=1565,y=671,z=14} } } function onUse(cid, item, fromPosition, itemEx, toPosition) local test = {} for _, k in ipairs(t.inicio) do local x = getTopCreature(k).uid if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.level) then doPlayerSendCancel(cid, 'Não tem 5 players ou alguém não tem '..t.level..' ou mais.') return true end table.insert(test, x) end for i, pid in ipairs(test) do doSendMagicEffect(t.inicio[i], CONST_ME_POFF) doTeleportThing(pid, t.fim[i], false) doSendMagicEffect(t.fim[i], CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end Edite o level, e confira as posições. É só colocar o respaw do boss pelo seu map editor no local. Depois, em actions.xml adicione a tag: <action actionid="ACTION_ID_DA_ALAVANCA" script="NOMEDOSEUARQUIVO.lua"/>
  12. Leoxtibia

    Talkaction /addsto

    Em data/talkactions/scripts crie um arquivo.lua e cole isto dentro: function onSay(cid, words, param) local t = string.explode(param, ",") if(not t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local tid = getPlayerByNameWildcard(t[1]) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " not found.") return true end if(not t[3]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, " [" .. t[1] .. " - " .. t[2] .. "] = " .. getPlayerStorageValue(tid, t[2])) else setPlayerStorageValue(tid, t[2], t[3]) end return true end Em talkactions.xml cole a tag: <talkaction log="yes" words="/addsto" access="4" event="script" value="NOMEDOSEUARQUIVO.lua"/> Não precisa falar "/removesto" já que o script vai setar uma storage com o value que quiser. Então, para "remover" é só colocar o value que você quer que o player tenha. Exemplo: Dando a storage 3121, value = 10 /addsto Leoxtibia,3121,10 Caso eu queira "remover" é só dar a mesma storage com o value que quero (Supondo que irei "remover" 4) /addsto Leoxtibia,3121,6 O player ficará com o value 6. Espero ter ajudado.
  13. Ele tinha falado para ver se cada player tinha 300, se tivesse teleportava. Achei estranho, já que no título do tópico tem "e Tira Item", qualquer coisa, só dizer =P
  14. Mas brun123, caso ele queira fazer muitos, não precisa adicionar vários arquivos, é só fazer assim: local t = { [3500] = {looktype=127}, [3501] = {looktype=128}, [3502] = {looktype=129} } function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) then local outfit = getCreatureOutfit(cid) outfit.lookType = t[item.actionid].looktype doSetCreatureOutfit(cid, outfit, -1) end return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) and getCreatureCondition(cid, CONDITION_OUTFIT) then doRemoveCondition(cid, CONDITION_OUTFIT) end return true end É só editar aqui: local t = { [ACTION_ID_DO_PISO] = {looktype=LOOKTYPE_DO_OUTFIT}, [3501] = {looktype=128}, [3502] = {looktype=129} } Na tag, em movements.xml coloque assim: <movevent type="StepIn" fromaid="3500" toaid="3502" event="script" value="NOMEDOSEUARQUIVO.lua"/> <movevent type="StepOut" fromaid="3500" toaid="3502" event="script" value="NOMEDOSEUARQUIVO.lua"/> Aqui em fromaid (do actionid) você coloca a primeira actionid do script que você pos lá emcima, e toaid (para o actionid) você coloca a última. Simples assim.
  15. Em data/actions/scripts crie um arquivo.lua e cole isto dentro: Configure o script de acordo com suas posições, id da demonic essence e quantidade. Depois, é só colocar a tag em actions.xml: <action actionid="ACTION_ID_DA_ALAVANCA" script="NOMEDOSEUARQUIVO.lua"/>
  16. Teste assim: Edite em: fromPos,toPos = {x=1,y=1,z=1},{x=1,y=1,z=1} -- posição do canto superior direito, posição do canto inferior esquerdo da arena. Espero ter ajudado.
  17. Veja se este te ajuda: NPC Em data/npcs: Eventer.xml Em data/npcs/scripts: event.lua MODS
  18. Leoxtibia

    Script Storage

    Script porta: Em data/actions/scripts crie um arquivo.lua e cole isto dentro: local storage = {35019,35018} function onUse(cid, item, fromPosition, itemEx, toPosition) for i=1, #storage do if getPlayerStorageValue(cid, storage[i]) <= 0 then return doPlayerSendCancel(cid, "Você não tem permissão para passar dessa porta.") end end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition) return true end Em actions.xml cole a tag: <action actionid="ACTION_ID_DA_PORTA" script="NOMEDOSEUARQUIVO.lua"/> Script portal: Em data/movements/scripts crie um arquivo.lua e cole isto dentro: local storage = {35019,35018,35020} -- storages local npos = {x=1, y=1, z=1} --posição para onde o teleport levará function onStepIn(cid, item, position, fromPosition) for i=1, #storage do if getPlayerStorageValue(cid, storage[i]) > 0 then doTeleportThing(cid,npos) doSendMagicEffect(npos, 10) else doTeleportThing(cid,fromPosition, true) return doPlayerSendCancel(cid, "Você não tem a permissão para entrar aqui.") end end return TRUE end Em movements.xml cole a tag: <movevent type="StepIn" actionid="ACTION_ID_DO_TELEPORT" event="script" value="NOMEDOSEUARQUIVO.lua"/>
  19. Hum, entendi... tem um modo mais fácil, é só você colocar um actionid na entrada do local, e o player só poderá ficar lá pelo tempo configurado. Em data/movements/scripts crie um arquivo.lua e cole isto dentro: local time = 1 -- tempo em minutos para o player ser expulso local newpos = {x=1,y=1,z=} -- local para onde o player será teleportado function onStepIn(cid, item, position, fromPosition) doCreatureSay(cid, "Você tem "..time.." minutos para ser expulso.", TALKTYPE_ORANGE_1) addEvent(function() doTeleportThing(cid, newpos) doSendMagicEffect(newpos, 10) doPlayerPopupFYI(cid, "Você saiu da área") end, time*60*1000) return true end Em movements.xml cole a tag: <movevent type="StepIn" actionid="5700" event="script" value="NOMEDOSEUARQUIVO.lua"/> É só colocar o actionid 5700 no chão da entrada do local, que o player será expulso depois do tempo configurado.
  20. vai ser executado ao usar uma alavanca.. ou usar um item, ao dar um comando, tipo /area.. ou vai acontecer em tal horário, em um intervalo de tempo..?
  21. Ok amigo.. mas é uma action? talkaction? globalevent?
  22. Em data/actions/scripts crie um arquivo.lua e cole isto dentro: function onUse(cid, item, position, fromPosition, toPosition) local pos = {x=1,y=1,z=1} -- local para onde os players serão teleportados local fromPosition,toPosition = {x=1,y=1,z=1},{x=1,y=1,z=1} -- canto superior esquerdo, canto inferior direito for x = fromPosition.x, toPosition.x do for y = fromPosition.y, toPosition.y do local m = getTopCreature({x=x, y=y, z=fromPosition.z}).uid if m ~= 0 and isPlayer(m) and getPlayerGuildId(cid) ~= getPlayerGuildId(m) then doCreatureSay(cid, "Os players das guilds adversárias foram teleportados.", TALKTYPE_ORANGE_1) doTeleportThing(m, pos) doSendMagicEffect(pos, 10) end end end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end Em actions.xml cole a tag: <action actionid="ACTIONID_DA_ALAVANCA" script="NOMEDOSEUARQUIVO.lua"/>
  23. Os erros são basicamente porque ou a tag está com o nome do arquivo errado, ou o arquivo não existe. Quando mostra, por exemplo: cannot open data/talkaction/scripts/addvip.lua: No such file or directory é porque a tag não está "encontrando" o arquivo. Verifique se o arquivo addvip está com o mesmo nome que deveria está na tag. Caso não, renomeie e deixe igual. Quanto à segunda foto, você deve ter tentado editar, e não fechou as tags corretamente, ou retirando um ">", ou fechando a tag de attacks antes de por todos os atacks. Se baseie com um outro monstro que você tenha e você conseguirá consertar. Também tem dois arquivos diferentes com o mesmo nome de monstro: Vip Trainer, é só trocar o nome de um deles. Espero ter ajudado.
  • Quem Está Navegando   0 membros estão online

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