Ir para conteúdo

Oneshot

Marquês
  • Total de itens

    1347
  • Registro em

  • Última visita

  • Dias Ganhos

    36

Tudo que Oneshot postou

  1. Ah, você tinha achado a spell muito limitada? Engraçado é que não vi ninguém pensar no algoritmo por trás da spell antes, depois que foi feito e disponibilizado, é muito fácil fazer uma alteração ridícula e falar que a spell estava muito limitada. Acho que estou ficando louco para retrucar algo para alguém banido. Abraços.
  2. O próximo script que eu vou fazer é o Auction NPC, viva aos piratas \o/
  3. Nome: Aura System 2.0 Tipo: Magia Autor: Oneshot Eu prometi, o troco vem cedo. Quer ganhar dinheiro, crie suas próprias coisas e não se baseie nas coisas dos outros. Enfim, sem flames, segue abaixo a magia Aura Spell 2.0. Crie um arquivo chamado aura spell.lua em data/spells/scripts, e coloque o seguinte conteúdo: local AURASYSTEM_STORAGE = 200001 -- STORAGE DE CONTROLE local AURASYSTEM_AURA_DELAY = 0.1 local AURASYSTEM_CONFIG = { DURATION = 30, -- O tempo de duração da aura DELAY = 0.1, -- O delay, quanto menor, mais rápida a aura será. TYPE = "all", -- O tipo de aura. [fire/ice/energy/earth/death/holy/all] DAMAGE = {-100, -200} -- O dano da aura } local AURASYSTEM_DIRECTIONS = { [NORTH] = { {0, 0}, {1, 0}, {1, 1}, {1, 2}, {0, 2}, {-1, 2}, {-1, 1}, {-1, 0} }, [EAST] = { {0, 0}, {0, 1}, {-1, 1}, {-2, 1}, {-2, 0}, {-2, -1}, {-1, -1}, {0, -1} }, [sOUTH] = { {0, 0}, {-1, 0}, {-1, -1}, {-1, -2}, {0, -2}, {1, -2}, {1, -1}, {1, 0} }, [WEST] = { {0, 0}, {0, -1}, {1, -1}, {2, -1}, {2, 0}, {2, 1}, {1, 1}, {0, 1} } } local AURASYSTEM_TEMPLATES = { ["fire"] = {COMBAT_FIREDAMAGE, CONST_ME_FIREATTACK}, ["ice"] = {COMBAT_ICEDAMAGE, CONST_ME_ICEATTACK}, ["earth"] = {COMBAT_EARTHDAMAGE, CONST_ME_SMALLPLANTS}, ["energy"] = {COMBAT_ENERGYDAMAGE, CONST_ME_PURPLEENERGY}, ["holy"] = {COMBAT_HOLYDAMAGE, CONST_ME_HOLYDAMAGE}, ["death"] = {COMBAT_DEATHDAMAGE, CONST_ME_MORTAREA}, ["all"] = { {COMBAT_FIREDAMAGE, CONST_ME_FIREATTACK}, {COMBAT_ICEDAMAGE, CONST_ME_ICEATTACK}, {COMBAT_EARTHDAMAGE, CONST_ME_SMALLPLANTS}, {COMBAT_ENERGYDAMAGE, CONST_ME_PURPLEENERGY}, {COMBAT_HOLYDAMAGE, CONST_ME_HOLYDAMAGE}, {COMBAT_DEATHDAMAGE, CONST_ME_MORTAREA} } } local AURASYSTEM_COUNT = 1 function doPlayerCastAura(cid, position) if getCreatureStorage(cid, AURASYSTEM_STORAGE) == -1 then end local PLAYER_LOOKDIRECTION = getCreatureLookDirection(cid) local tmp = AURASYSTEM_DIRECTIONS[PLAYER_LOOKDIRECTION][AURASYSTEM_COUNT] local position = getPositionByDirection(getThingPosition(cid), PLAYER_LOOKDIRECTION, 1) position.x = position.x + tmp[1] position.y = position.y + tmp[2] if AURASYSTEM_CONFIG.TYPE == "all" then local x = AURASYSTEM_TEMPLATES[AURASYSTEM_CONFIG.TYPE] local r = math.random(1, #x) doAreaCombatHealth(cid, x[r][1], position, 0, AURASYSTEM_CONFIG.DAMAGE[1], AURASYSTEM_CONFIG.DAMAGE[2], x[r][2]) else doAreaCombatHealth(cid, AURASYSTEM_TEMPLATES[AURASYSTEM_CONFIG.TYPE][1], position, 0, AURASYSTEM_CONFIG.DAMAGE[1], AURASYSTEM_CONFIG.DAMAGE[2], AURASYSTEM_TEMPLATES[AURASYSTEM_CONFIG.TYPE][2]) end if getCreatureStorage(cid, AURASYSTEM_STORAGE) > os.time() then addEvent(doPlayerCastAura, AURASYSTEM_CONFIG.DELAY * 1000, cid) end AURASYSTEM_COUNT = AURASYSTEM_COUNT + 1 if AURASYSTEM_COUNT > #AURASYSTEM_DIRECTIONS[PLAYER_LOOKDIRECTION] then AURASYSTEM_COUNT = 1 end end function onCastSpell(cid, var) if getCreatureStorage(cid, AURASYSTEM_STORAGE) > os.time() then return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) end doCreatureSetStorage(cid, AURASYSTEM_STORAGE, os.time() + AURASYSTEM_CONFIG.DURATION) return doPlayerCastAura(cid) end E adicione a seguinte linha no arquivo spells.xml <instant name="Aura" words="aura" lvl="50" mana="100" prem="0" blockwalls="1" needlearn="0" event="script" value="aura spell.lua"/> Para configurar a magia, mexa apenas nessa parte do script: local AURASYSTEM_CONFIG = { DURATION = 30, -- O tempo de duração da aura DELAY = 0.1, -- O delay, quanto menor, mais rápida a aura será. TYPE = "all", -- O tipo de aura. [fire/ice/energy/earth/death/holy/all] DAMAGE = {-100, -200} -- O dano da aura } Segue abaixo o vídeo de demonstração que o coleguinha Jhon992 gravou para gente
  4. Não tenho nada contra venda de scripts, mas fazer "pequenas" modificações em um script meu, chamar de Aura Spell 2.0 e cobrar R$9,90 é sacanagem. Mas, beleza, o troco vem cedo.
    1. Mostrar comentários anteriores  %s mais
    2. SkyDangerous

      SkyDangerous

      Comunidade eu digo administradores

    3. SkyDangerous

      SkyDangerous

      Por isso que ninguém posta mais nada interessante, pq sabe que alguem vai pegar e vender

    4. Skymagnum

      Skymagnum

      Huheuehe sacanagem mesmo

  5. Obrigado, rechdanfr. Comentários assim incentivam bastante o scripter. \o/
  6. lol rere Pois é, SkyMagnum, não vai funcionar mesmo. Tente desse jeito abaixo: function getTypesOnTable(t) local ret = {} for _, v in ipairs(t) do table.insert(ret, type(v)) end return ret end Apesar que eu não entendi qual a verdadeira utilidade dessa função. rs.
  7. Falta muito chão, hein, meu amigo. Pra um bostinha que nem você, que cria calculadoras e um Pong seguindo tutoriais da internet, criar um aplicativo que AINDA NÃO EXISTA e QUE TENHA UTILIDADE... que dó. esse vai ficar milionario Disse tudo
  8. Eu me pergunto qual a dificuldade de subir um pouco a página do fórum e postar esse tipo de coisa na seção de OTserv.
  9. ??? Atraso no quê, velho? Menstruação? Você vai ser papai? Ou ela comprou um par de cornos para você? Edit: Pêsames pelo "fim" do namoro, aliás.
  10. Eita, só uma semana depois que fui ver esse seu post, Ewerton91. Bom, vou dar uma olhada se é algum erro no script ou se você configurou errado. Abração \o
  11. Muita treta. Como dito pelo Vodkart, eu já fui colaborador junto com ele há um bom tempo e comprei uma briga com a equipe porque os colaboradores tinham que trazer muito conteúdo e não podiam fazer nada no fórum que colaboravam, o único privilégio que era dado era criar tópicos sem precisar de aprovação (derp). Até fiquei conhecido como "revoltadinho" na comunidade depois disso. Nesse ano, resolvi voltar como Colaborador, estava realmente com um gás para criar scripts e ajudar a seção a se reerguer com coisas inovadoras. Só que, infelizmente, esse gás uma hora acaba. É isso que muitos não entendem, o ser humano precisa desse gás, chamado incentivo de vez em quando para continuar fazendo seus trabalhos. Muitos entendem essa necessidade de ser incentivado de modo errado, achando que, na verdade, é a necessidade de "como vou parecer no fórum", como dito pelo Augusto na primeira página do tópico. Pô, vai me dizer que você não se sentiria mal, você entra como Colaboradorzinho e de imediato vê outros entrarem de Moderador na equipe. Aí passa um tempo, você lá postando conteúdos e continua como Colaborador, vendo os outros serem promovidos, do nada, para Coordenador. Meio que desanima, não é? Aí por qual motivo eu vou virar e falar "Pô, tô aqui como Colaborador e os outros já são coordenadores", sendo que corro o risco de receber o apelido de "revoltadinho" quando faço isso? Aí eu pedi demissão (denovo) da equipe, só para ver um Colaborador virar Coordenador de Programação, copiando códigos C++ da OTLand e postando aqui. Nada contra, mas isso é hilário.
  12. Não é só no items.otb que deve ser adicionado a propriedade stackable, mas também no tibia.dat. Abraços.
  13. Oneshot

    Fan Bar.

    Tá boa de enfiar no cu sua fan bar e o tópico junto.
  14. Os atributos para isso devem ser colocados no items.xml maxhealthpercent maxmanapercent Não esqueça de registrar o item que você quer no movements.xml.
  15. Pronto, agora Folspa e companhia se reuniram em um tópico só, pior impossível.
  16. Entrei no tópico pronto para fazer essa piada u.u Newtonnotwen, você não percebeu ainda que sua tentativa de parecer culto está surtindo o efeito contrário, né, cara?
  17. O sistema de novos itens do MatheusMkalo não é muito efetivo, pois usa a função doItemSetAttribute para alterar atributos de itens. Mesmo que você adicione tags do movements.xml com um ID ou outro, por usar a função citada acima, o item não terá o atributo magiclevelpoints.
  18. Não adianta, wands não possuem atributos como Attack, Defense ou Armor, que são alterados pelo script.
  19. Muito bom, você está avançando muito rapidamente, garoto. Há outra maneira de fazer essa mesma função sem usar pairs e ipairs e tabelas, consegue fazer? Resposta
  20. Diogo, você não entende que ele está fazendo isso para irritar, ele fica copiando o mesmo post dele que nem um retardado mental.
  21. Por favor, tranquem o tópico. Abraços.
  22. local specialDescriptions = { [1] = {[0] = "a titan", [1] = "a titan"}, [2] = {[0] = "a demigoddess", [1] = "a demigod"}, [3] = {[0] = "a goddess", [1] = "a god"} } local storage = 8181 function onLook(cid, thing, position, lookDistance) if not isPlayer(thing.uid) then return true end local n = getCreatureStorage(thing.uid, storage) if not specialDescriptions[n] then return true end local sex = getPlayerSex(thing.uid) if not specialDescriptions[n][sex] then return true end doPlayerSetSpecialDescription(thing.uid, "\n".. (sex == 0 and "She" or "He") .." is ".. specialDescriptions[n][sex] ..".") return true end Siga o mesmo procedimento passado pelo notle2012, só trocando o script. O meu funcionará um pouco diferente, você só precisa ir colocando valores maiores em uma única storage. Se a storage do jogador for igual a 1, então ele terá o título titan, caso seja igual a 2, passa a ser demigoddess/demigod, e por aí vai. Abraços.
  23. function onUse(cid, item, fromPosition, itemEx, toPosition) if not isInArray({1, 2, 5, 6}, getPlayerVocation(cid)) then doPlayerSendCancel(cid, "Desculpe, apenas Mages podem usar esse item.") doSendMagicEffect(fromPosition, CONST_ME_POFF) return true end if getCreatureMaxMana(cid) > 1807735400 then doPlayerSendCancel(cid, "Desculpe, você já atingiu o máximo de pontos de mana.") doSendMagicEffect(fromPosition, CONST_ME_POFF) return true end setCreatureMaxMana(cid, getCreatureMaxMana(cid) + 500) doSendMagicEffect(fromPosition, 12) doSendAnimatedText(fromPosition, "+500 Mana!", TEXTCOLOR_BLUE) doRemoveItem(item.uid, 1) return true end Abraços.
  • Quem Está Navegando   0 membros estão online

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