Znalazłem na otfans ciekawy skrypt i chce wam go tutaj zaprezentować :P Jego działanie: gdy go założysz, sprawdza czy masz wystarczaj±c± liczbe kasy, jesli masz to podnosi Ci hp i mane o 80% (max mana i max hp) oraz podnosi skille do 120 (mlvl i fishing też) Oprócz tego dla chłopaka (male) animacja jest inna niż dla dziewczyny (female) Trzeba go zapisać jako chaosbangle.lua w movements/scripts/
Spoiler: local outfitMale = { lookType = 12, lookHead = 19, lookBody = 79, lookLegs = 3, lookFeet = 81, lookAddons = 0 } local outfitFemale = { lookType = 12, lookHead = 19, lookBody = 53, lookLegs = 92, lookFeet = 79, lookAddons = 0 } local cointype = 2148 -- Id of the coin the spell will use (2148 = gold coin, 2152 = platinum coin, 2160 = crystal coin) -- local tbcw = 1000 -- coin wasting time interval (miliseconds) -- local ncws = 1 -- number of coins used up during time interval -- local ncni = 10 -- number of coins needed to trigger the transformation -- local stcn = 20 -- number of coins needed to execute script (must be higher than ncni value) -- local warn = 1 -- warns player when runing short on coins, 1 = yes -- local cwar = 20 -- number of coins that triggers the warnings -- local bmaineff = CONST_ME_YELLOW_RINGS local bsecondeff = CONST_ME_BLOCKHIT local bflingeff = CONST_ANI_SMALLHOLY local blandeff = CONST_ME_HOLYAREA local bringwaste = CONST_ME_FIREWORK_YELLOW local bringabsorb = CONST_ME_MAGIC_GREEN local gmaineff = CONST_ME_EXPLOSIONAREA local gsecondeff = CONST_ME_FIREAREA local gflingeff = CONST_ANI_FIRE local glandeff = CONST_ME_FIREWORK_RED local gringwaste = CONST_ME_FIREWORK_RED local gringabsorb = CONST_ME_MAGIC_RED -- Small config section << -- local condition1 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition1, CONDITION_PARAM_TICKS, -1) setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 120) setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICPOINTS, 120) setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 180) setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 180) local condition2 = createConditionObject(CONDITION_HASTE) setConditionParam(condition2, CONDITION_PARAM_TICKS, -1) setConditionFormula(condition2, 2.5, 0, 3.0, 0) function superform1(param) if param.crca == 1 then local pos = getCreaturePosition(param.cid) local sex = getPlayerSex(param.cid) local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255} local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255} local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255} local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255} local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255} local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255} local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255} local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255} if sex == 1 then doSendMagicEffect(pos, bmaineff) doSendMagicEffect(pos, bsecondeff) doSendDistanceShoot(pos, nha, bflingeff) doSendDistanceShoot(pos, sha, bflingeff) doSendDistanceShoot(pos, wha, bflingeff) doSendDistanceShoot(pos, eha, bflingeff) doSendDistanceShoot(pos, nwa, bflingeff) doSendDistanceShoot(pos, nea, bflingeff) doSendDistanceShoot(pos, sea, bflingeff) doSendDistanceShoot(pos, swa, bflingeff) doSendMagicEffect(nha, blandeff) doSendMagicEffect(sha, blandeff) doSendMagicEffect(wha, blandeff) doSendMagicEffect(eha, blandeff) doSendMagicEffect(nwa, blandeff) doSendMagicEffect(nea, blandeff) doSendMagicEffect(sea, blandeff) doSendMagicEffect(swa, blandeff) doSetCreatureOutfit(param.cid, outfitMale, -1) else doSendMagicEffect(pos, gmaineff) doSendMagicEffect(pos, gsecondeff) doSendDistanceShoot(pos, nha, gflingeff) doSendDistanceShoot(pos, sha, gflingeff) doSendDistanceShoot(pos, wha, gflingeff) doSendDistanceShoot(pos, eha, gflingeff) doSendDistanceShoot(pos, nwa, gflingeff) doSendDistanceShoot(pos, nea, gflingeff) doSendDistanceShoot(pos, sea, gflingeff) doSendDistanceShoot(pos, swa, gflingeff) doSendMagicEffect(nha, glandeff) doSendMagicEffect(sha, glandeff) doSendMagicEffect(wha, glandeff) doSendMagicEffect(eha, glandeff) doSendMagicEffect(nwa, glandeff) doSendMagicEffect(nea, glandeff) doSendMagicEffect(sea, glandeff) doSendMagicEffect(swa, glandeff) doSetCreatureOutfit(param.cid, outfitFemale, -1) end doAddCondition(param.cid, condition1) doAddCondition(param.cid, condition2) local mhp = getCreatureMaxHealth(param.cid) local mma = getPlayerMaxMana(param.cid) local chp = getCreatureHealth(param.cid) local cma = getPlayerMana(param.cid) local dhp = mhp - chp local dma = mma - cma doCreatureAddHealth(param.cid, dhp) doPlayerAddMana(param.cid, dma) doPlayerRemoveItem(param.cid, cointype, ncni) param.crcb = 1 param.sex = sex setPlayerStorageValue(param.cid, 50780, 1) addEvent(superform2, 1, param) end end function superform2(param) if param.crca == 1 and param.crcb == 1 and isCreature(param.cid) == TRUE and getPlayerStorageValue(param.cid, 50780) == 1 then local pos = getCreaturePosition(param.cid) doPlayerRemoveItem(param.cid, cointype, ncws) if param.sex == 1 then doSendMagicEffect(pos, bringwaste) doSendMagicEffect(pos, bringabsorb) else doSendMagicEffect(pos, gringwaste) doSendMagicEffect(pos, gringabsorb) end local goldleft = getPlayerItemCount(param.cid, cointype) if goldleft < cwar and warn == 1 then doPlayerSendTextMessage(param.cid, MESSAGE_STATUS_CONSOLE_RED, "Coins left: " ..goldleft.. ".") end if goldleft < ncws then param.crca = 0 param.crcb = 0 setPlayerStorageValue(param.cid, 50780, 0) doPlayerSendTextMessage(param.cid, MESSAGE_EVENT_DEFAULT, "Your bangle has been destroyed!") doPlayerRemoveItem(param.cid, 2127, 1) local pos = getCreaturePosition(param.cid) local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255} local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255} local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255} local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255} local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255} local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255} local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255} local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255} doRemoveCondition(param.cid, CONDITION_OUTFIT) doRemoveCondition(param.cid, CONDITION_ATTRIBUTES) doRemoveCondition(param.cid, CONDITION_HASTE) if param.sex == 1 then doSendMagicEffect(pos, bmaineff) doSendMagicEffect(pos, bsecondeff) doSendDistanceShoot(pos, nha, bflingeff) doSendDistanceShoot(pos, sha, bflingeff) doSendDistanceShoot(pos, wha, bflingeff) doSendDistanceShoot(pos, eha, bflingeff) doSendDistanceShoot(pos, nwa, bflingeff) doSendDistanceShoot(pos, nea, bflingeff) doSendDistanceShoot(pos, sea, bflingeff) doSendDistanceShoot(pos, swa, bflingeff) doSendMagicEffect(nha, blandeff) doSendMagicEffect(sha, blandeff) doSendMagicEffect(wha, blandeff) doSendMagicEffect(eha, blandeff) doSendMagicEffect(nwa, blandeff) doSendMagicEffect(nea, blandeff) doSendMagicEffect(sea, blandeff) doSendMagicEffect(swa, blandeff) else doSendMagicEffect(pos, gmaineff) doSendMagicEffect(pos, gsecondeff) doSendDistanceShoot(pos, nha, gflingeff) doSendDistanceShoot(pos, sha, gflingeff) doSendDistanceShoot(pos, wha, gflingeff) doSendDistanceShoot(pos, eha, gflingeff) doSendDistanceShoot(pos, nwa, gflingeff) doSendDistanceShoot(pos, nea, gflingeff) doSendDistanceShoot(pos, sea, gflingeff) doSendDistanceShoot(pos, swa, gflingeff) doSendMagicEffect(nha, glandeff) doSendMagicEffect(sha, glandeff) doSendMagicEffect(wha, glandeff) doSendMagicEffect(eha, glandeff) doSendMagicEffect(nwa, glandeff) doSendMagicEffect(nea, glandeff) doSendMagicEffect(sea, glandeff) doSendMagicEffect(swa, glandeff) end else addEvent(superform2, tbcw, param) end end end function onEquip(cid, item, slot) local param = {cid = cid, item = item, slot = slot} local gold = getPlayerItemCount(cid, cointype) if gold > stcn then param.crca = 1 addEvent(superform1, 1, param) end end function onDeEquip(cid, item, slot) if isPlayer(cid) and getPlayerStorageValue(cid, 50780) == 1 then doRemoveCondition(cid, CONDITION_OUTFIT) doRemoveCondition(cid, CONDITION_ATTRIBUTES) doRemoveCondition(cid, CONDITION_HASTE) local pos = getCreaturePosition(cid) setPlayerStorageValue(cid, 50780, 0) local sex = getPlayerSex(cid) local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255} local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255} local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255} local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255} local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255} local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255} local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255} local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255} if sex == 1 then doSendMagicEffect(pos, bmaineff) doSendMagicEffect(pos, bsecondeff) doSendDistanceShoot(pos, nha, bflingeff) doSendDistanceShoot(pos, sha, bflingeff) doSendDistanceShoot(pos, wha, bflingeff) doSendDistanceShoot(pos, eha, bflingeff) doSendDistanceShoot(pos, nwa, bflingeff) doSendDistanceShoot(pos, nea, bflingeff) doSendDistanceShoot(pos, sea, bflingeff) doSendDistanceShoot(pos, swa, bflingeff) doSendMagicEffect(nha, blandeff) doSendMagicEffect(sha, blandeff) doSendMagicEffect(wha, blandeff) doSendMagicEffect(eha, blandeff) doSendMagicEffect(nwa, blandeff) doSendMagicEffect(nea, blandeff) doSendMagicEffect(sea, blandeff) doSendMagicEffect(swa, blandeff) else doSendMagicEffect(pos, gmaineff) doSendMagicEffect(pos, gsecondeff) doSendDistanceShoot(pos, nha, gflingeff) doSendDistanceShoot(pos, sha, gflingeff) doSendDistanceShoot(pos, wha, gflingeff) doSendDistanceShoot(pos, eha, gflingeff) doSendDistanceShoot(pos, nwa, gflingeff) doSendDistanceShoot(pos, nea, gflingeff) doSendDistanceShoot(pos, sea, gflingeff) doSendDistanceShoot(pos, swa, gflingeff) doSendMagicEffect(nha, glandeff) doSendMagicEffect(sha, glandeff) doSendMagicEffect(wha, glandeff) doSendMagicEffect(eha, glandeff) doSendMagicEffect(nwa, glandeff) doSendMagicEffect(nea, glandeff) doSendMagicEffect(sea, glandeff) doSendMagicEffect(swa, glandeff) end end end
Następnie otwórz movements.xml i dopisz tam:
Spoiler: <movevent event="Equip" itemid="2127" function="onEquipItem" slot="ring" script="chaosbangle.lua"/> <movevent event="DeEquip" itemid="2127" function="onDeEquipItem" slot="ring" script="chaosbangle.lua"/>
Wybaczcie proszę, to że nie przetłumaczyłem tego w kodzie, ale nie mam dzi¶ dużo czasu i boli mnie głowa :p
Komentować! :)
PS Link do oryginalnego tematu: %#@$#@($*#@($@*#
|