Ir para conteúdo

Caronte

Marquês
  • Total de itens

    1339
  • Registro em

  • Última visita

  • Dias Ganhos

    21

Tudo que Caronte postou

  1. utura.lua local tempo = 10 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo * 1000) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) function onCastSpell(cid, var) heal(cid) return doCombat(cid, combat, var) end function heal(cid) local formula = 100 * getPlayerLevel(cid) for i = 1, tempo do addEvent(doCreatureAddHealth,1000 * i,cid, formula / tempo) end end spells.xml <instant name="Cure Aid" words="utura" lvl="9" mana="20" aggressive="0" selftarget="1" exhaustion="20000" needlearn="0" event="script" value="utura.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> Diminui a formula, pois coloquei muito. e o tempo pode aumentar, está em segundos.
  2. Caronte

    Show Off (Gwix)

    Hummm, seus mapas estão muito bons. estão bem detalhados, bem limpos...
  3. Putss, vou usar esse então, é osso achar tudo na raw...
  4. local tempo = 60 -- tempo em segundos. local effect = {136} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 35 -- quantos ira aumentar o skill de ML local skillfist = 35 -- quantos ira aumentar o skill de Fist local skillsword = 35 -- quantos ira aumentar o skill de Sword local skillaxe = 35 -- quantos ira aumentar o skill de Axe local skillclub = 35 -- quantos ira aumentar o skill de Club local skilldistance = 35 -- quantos ira aumentar o skill de Distance local skillshield = 35 -- quantos ira aumentar o skill de Shield local health = 100 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect1(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) end end end end function onCastSpell(cid, var) local position127 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect1, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. if isPlayer(cid) then doCreatureSay(cid, "Susano", TALKTYPE_MONSTER) end doSendMagicEffect(position127, 110) else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end Pronto. Porque o do player é configurado na própria spell, diferente da dos monstros. você pode configurar ela, ou pegar algumas pré configuradas, olhe: em spells/lib/spells.lua você pode observar isso: --Waves AREA_WAVE4 = { {1, 1, 1, 1, 1}, {0, 1, 1, 1, 0}, {0, 1, 1, 1, 0}, {0, 0, 3, 0, 0} } AREA_SQUAREWAVE5 = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, {0, 1, 0}, {0, 3, 0} } AREA_WAVE5 = { {0, 1, 1, 1, 0}, {1, 1, 1, 1, 1}, {0, 1, 1, 1, 0}, {0, 0, 1, 0, 0}, {0, 0, 3, 0, 0} } --Diagonal waves AREADIAGONAL_WAVE4 = { {0, 0, 0, 0, 1, 0}, {0, 0, 0, 1, 1, 0}, {0, 0, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 0}, {0, 0, 0, 0, 0, 3} } AREADIAGONAL_SQUAREWAVE5 = { {1, 1, 1, 0, 0}, {1, 1, 1, 0, 0}, {1, 1, 1, 0, 0}, {0, 0, 0, 1, 0}, {0, 0, 0, 0, 3} } AREADIAGONAL_WAVE5 = { {0, 0, 0, 0, 1, 0}, {0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 0, 0}, {1, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 3} } --Beams AREA_BEAM1 = { {3} } AREA_BEAM5 = { {1}, {1}, {1}, {1}, {1}, {3} } AREA_BEAM7 = { {1}, {1}, {1}, {1}, {1}, {1}, {1}, {3} } --Diagonal Beams AREADIAGONAL_BEAM5 = { {1, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 3} } AREADIAGONAL_BEAM7 = { {1, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 3} } --Circles AREA_CIRCLE2X2 = { {0, 1, 1, 1, 0}, {1, 1, 1, 1, 1}, {1, 1, 3, 1, 1}, {1, 1, 1, 1, 1}, {0, 1, 1, 1, 0} } AREA_CIRCLE3X3 = { {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 3, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0} } -- Crosses AREA_CROSS1X1 = { {0, 1, 0}, {1, 3, 1}, {0, 1, 0} } AREA_CROSS5X5 = { {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} } AREA_CROSS6X6 = { {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0} } --Squares AREA_SQUARE1X1 = { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } -- Walls AREA_WALLFIELD = { {1, 1, 3, 1, 1} } AREADIAGONAL_WALLFIELD = { {0, 0, 0, 0, 1}, {0, 0, 0, 1, 1}, {0, 1, 3, 1, 0}, {1, 1, 0, 0, 0}, {1, 0, 0, 0, 0}, } São áreas pré configuradas, para serem usadas no script. Por exemplo no exori, você observará isto: AREA_SQUARE1X1 , e não vai esta explicita a área, pois ela já foi feita na lib. você pode montar a sua própria área: 0 = onde a spell não alcançará. 1 = onde a spell alcançará. 2 = onde o player estará sem sobreposição de magia. 3 = onde o player estará com sobreposição de magia.
  5. Há outra meneira, poste o script com a fala para os dois, monstro e player, que é só colocar uma condição. Radius, como o nome já diz, é o raio de cobertura da magia, com ele você define a distancia de SQM que a magia vai ter, partindo do centro para fora... O O O O X O Radius = 1 O O O X X X X X X Radius = 2 X X X
  6. Caronte

    Efeito na Morte

    @, preste atenção nos valores que você atribui, você pegou o parâmetro target, que é um id, e atribuiu valor de uma tabela. @@Dennyz Dias, agora vai funcionar... function onKill(cid, target, lastHit) if isPlayer(target) then doSendMagicEffect(getThingPos(target), 65) return true end return true end
  7. Caronte

    Efeito na Morte

    function onKill(cid, target, lastHit) if isPlayer(target) then doSendMagicEffect(target.pos, 65) return true end return true end
  8. Caronte

    Efeito na Morte

    function onKill(cid, target, lastHit) if isPlayer(target) then doSendMagicEffect(target.pos, 65) end end corrigido. ele esqueceu de dar o then do if...
  9. Dá sim para resetar skills, só depende do modo como você reseta
  10. Caronte

    3 NPC's

    NPC 1 NPC 2 NPC 3: Qualquer erro ou edição, é só falar.
  11. Você quer que deduza o que é para fazer?? eu sei que tem imagens, mas pode ser mais do que realmente é, e nesse caso, uma imagem não vale mais que mil palavras... Escreva claramente o que você quer..
  12. Caronte

    Erro first items

    Tente isto: local firstItems = { [0] = {2173, 2525, 2428, 2124, 2460, 2478, 2643}, [1] = {2173, 2525, 2190, 2124, 2460, 2478, 2643}, [2] = {2173, 2525, 2182, 2124, 2460, 2478, 2643}, [3] = {2173, 2525, 2389, 2124, 2460, 2478, 2643}, [4] = {2173, 2525, 2428, 2124, 2460, 2478, 2643}, } function onLogin(cid) if getPlayerStorageValue(cid, 30001) == -1 then for i = 1, #firstItems[getPlayerVocation(cid)] do doPlayerAddItem(cid, firstItems[getPlayerVocation(cid)][i], 1) end if getPlayerSex(cid) == 0 then doPlayerAddItem(cid, 2465, 1) else doPlayerAddItem(cid, 2465, 1) end local bag = doPlayerAddItem(cid, 10518, 1) doAddContainerItem(bag, 2160, 10) doAddContainerItem(bag, 2554, 1) doAddContainerItem(bag, 2120, 1) doAddContainerItem(bag, 7618, 1) doAddContainerItem(bag, 2383, 1) setPlayerStorageValue(cid, 30001, 1) end return TRUE end
  13. Caronte

    Aulinhas

    Professor tem, mas não tem aluno.
  14. Caronte

    [Sketch] Twd Zombie

    Colorido, qual seria a melhor cor?
  15. Vocês colocam o primeiro código na pasta lib. Já o segundo está chamando a função, então vocês podem colocar onde quiser, globalevents, actions, movements @, explica aí, eu não sei instalar também não
  16. Essa vídeo deve ser anexado nas instruções de postagem...
  17. kkkkk, acho que nem a fábrica do papel higiênico neve dá conta.
  • Quem Está Navegando   0 membros estão online

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