Skrypty & Kody mana="getPlayerLevel(cid) ITP."

Status
Zamknięty.

Furiata

Advanced User
Zarejestrowany
Dołączył
Listopad 15, 2010
Posty
193
Liczba reakcji
15
Hejka
Potrzebuje pomocy z spells.xml
Dok?adnie chodzi mi o to, ?ebym m?g? uk?ada? w?asne formu?y odno?nie ilo?ci many i nie mam poj?cia jak si? za to zabra?
Pr?bowa?em na ko?cu spelli dodawa? takie co? ale nie sprawdza si? to. Wymagana ilo?? many i tak jest pobierana z spells.xml a to tylko pobiera "dodatkow?" ilo?? many niezale?nie od tego, czy "formu?a" wymaga wi?kszej ilo?ci many.
[lua]function onCastSpell(cid, var)
doPlayerAddMana(cid, -'jaka? tam formula')
return doCombat(cid, combat, var)"
end[/lua]

Przyk?adowo w spells.xml zamiast mana="300" chcia?bym m?c wpisywa? np. mana = "level / 100 + 50" itp. ale nie mam poj?cia jak to zrobi? aby to dzia?a?o

Notka moderatorska:
Uzywaj tagow [lua] do zaznaczania kodu, tak jest przejrzysciej.
 
Odp: mana="getPlayerLevel(cid) ITP."

Odp: mana="getPlayerLevel(cid) ITP."

Przyk?adowy skrypt na czar Ultimate Healing:
[lua]local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
min = 1000
max = 1000

return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
[/lua]
I mo?esz sobie ustawi? min/max ile ma uha?.
#edit
chyba, ?e nie o to chodzi xD
 
Ostatnia edycja:
Odp: mana="getPlayerLevel(cid) ITP."

W takim razie spells.xml ustaw mana="0", a w skrypcie zabieraj mane.
Zerknij na to.
[lua]local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 34)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.9, 1, -1.8, 1)

function onCastSpell(cid, var)
local mana = getPlayerLevel(cid) / 100 + 50 -- wymagana mana do czaru, tutaj wpisz sobie dowolna formule.
if getCreatureMana(cid) >= mana then -- sprawdza, czy gracz ma wiecej, badz rowno many
doCombat(cid, combat, var) -- castuje czar
doCreatureAddMana(cid, -mana) -- odbiera mane
else
doPlayerSendCancel(cid, "You do not have enough mana.")
end
return true
end[/lua]
 
Odp: mana="getPlayerLevel(cid) ITP."

Dzi?kuje bardzo. By?em pewny, ?e b?d? musia? kompilowa? silnik na nowo ?eby rozwi?za? ten problem ;)
 
Status
Zamknięty.
Back
Do góry