-
Total de itens
1339 -
Registro em
-
Última visita
-
Dias Ganhos
21
Tudo que Caronte postou
-
pedido spells que heala vida igual utura gran
pergunta respondeu ao Dennyz Dias de Caronte em Scripts
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. -
Bem legal as magias, só podia trocar o mapa...
- 11 respostas
-
- avatar lostavatar online
- avatar server
- (e 2 mais)
-
chorar sobre o leite derramado.
-
Hummm, seus mapas estão muito bons. estão bem detalhados, bem limpos...
-
De nada.
-
Putss, vou usar esse então, é osso achar tudo na raw...
-
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.
-
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
-
@, 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
-
function onKill(cid, target, lastHit) if isPlayer(target) then doSendMagicEffect(target.pos, 65) return true end return true end
-
function onKill(cid, target, lastHit) if isPlayer(target) then doSendMagicEffect(target.pos, 65) end end corrigido. ele esqueceu de dar o then do if...
-
Dá sim para resetar skills, só depende do modo como você reseta
-
NPC 1 NPC 2 NPC 3: Qualquer erro ou edição, é só falar.
-
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..
-
Como você realizou essa limpeza?
-
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
-
Colorido, qual seria a melhor cor?
-
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
-
Já colocou o item em items.XML?
-
Essa vídeo deve ser anexado nas instruções de postagem...
-
Gambiarra mesmo eim, kkkkk.
-
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.