Edzio021
Active User
Witam na pocz?tku napisze skrypt nie jest m?j ale szuka go wiele os?b wi?c go dodaje..Jest to r??d?ka kt?ra nazywa sie StarWand..Ta r??d?ka przydaje si? na wielu Ots-ach jako item do sms shopa 
a wi?c zaczynamy
Fotka r??d?ki jak wygl?da w grze:
Wchodzimy w nazwa pliku z ots-em/data/items/items.xml znajdz item 7735 i zamieniamy na to:
Nast?pnie wejdz do W nazwa pliku z ots-em/data/weapons/weapons.xml dodaj to:
i na koniec wejdz wejdz nazwa pliku z ots-em/data/weapons/scripts/ stworz plik o nazwie starshoter.lua i wklekj do niego to
W pliku wy?ej mamy takie linijki jak: Prosze przecztac mo?e sie przyda
Footka:
Napisze jeszcze raz skrypt nie jest m?j..Lecz troszke go poprawi?em i sprawdzi?em dzia?a w 100%.Je?li b?dziesz mia? jaki? problem ze skryptem napisz to cos poradzimy
a wi?c zaczynamy
Fotka r??d?ki jak wygl?da w grze:
Wchodzimy w nazwa pliku z ots-em/data/items/items.xml znajdz item 7735 i zamieniamy na to:
<item id="7735" article="the" name="star wand">
<attribute key="description" value="This holy wand radiates huge ammount of light."/>
<attribute key="weight" value="20"/>
<attribute key="attack" value="1"/>
<attribute key="hitChance" value="100"/>
<attribute key="weaponType" value="wand"/>
<attribute key="range" value="7"/>
</item>
Nast?pnie wejdz do W nazwa pliku z ots-em/data/weapons/weapons.xml dodaj to:
<wand id="7735" script="starshoter.lua">
<vocation name="Druid"/>
<vocation name="Elder Druid"/>
<vocation name="Sorcerer"/>
<vocation name="Master Sorcerer"/>
</wand>
i na koniec wejdz wejdz nazwa pliku z ots-em/data/weapons/scripts/ stworz plik o nazwie starshoter.lua i wklekj do niego to
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 0)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.2, -25, -0.2, -3)
local manaNeededPerTarget = 20
local hitExtraTargets = 3
local hitExtraTargetsInRange = 2
function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers)
local creaturesList = {}
for x = -radiusx, radiusx do
for y = -radiusy, radiusy do
if not (x == 0 and y == 0) then
if getTilePzInfo({x = position.x+x, y = position.y+y, z = position.z}) ~= TRUE then
creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE})
if (creature.type == 1 and showPlayers == 1) or (creature.type == 2 and showMonsters == 1) then
table.insert(creaturesList, creature.uid)
end
end
end
end
end
return creaturesList
end
function onUseWeapon(cid, var)
local ret = doCombat(cid, combat, var)
if(ret == LUA_ERROR) then
return LUA_ERROR
end
doCreatureAddMana(cid, -manaNeededPerTarget)
local target = variantToNumber(var)
local hitplayers = 0
if(target ~= 0) then
if(isPlayer(target) == TRUE) then
hitplayers = 1
end
local nowHit = 0
local randomId = 0
local otherTargets = getCreaturesInRange(getCreaturePosition(target), hitExtraTargetsInRange, hitExtraTargetsInRange, 1, hitplayers)
if(#otherTargets > 0) then
for i = 1, hitExtraTargets do
if(getCreatureMana(cid) > manaNeededPerTarget) then
randomId = math.random(1, #otherTargets)
nowHit = otherTargets[randomId]
if(isCreature(nowHit) == TRUE) then
table.remove(otherTargets, randomId)
ret = doCombat(cid, combat, numberToVariant(nowHit))
if(ret ~= LUA_ERROR) then
doCreatureAddMana(cid, -manaNeededPerTarget)
end
end
if(#otherTargets == 0) then
break
end
else
break
end
end
end
end
return TRUE
end
W pliku wy?ej mamy takie linijki jak: Prosze przecztac mo?e sie przyda
local manaNeededPerTarget = 20 - tyle many bierze jak trafia w jeden cel (trafi w 3 cele to wezmie 60 many)
local hitExtraTargets = 3 - ile celi maksymalnie moze trafic
local hitExtraTargetsInRange = 2 - w jakim zasiegu od celu 'glownego' ma szukac innych celi
Kiedy gracz wali w potwora to tylko inne potwory sa atakowane (skull nie zlapie).
Kiedy gracz wali w czlowieka to inni gracze i potwory sa atakowane (jak wali w kogos z skullem to moze walnac w kogos bez skull i zalapac skulla, raczej nie dla low level bron do ataku ludzi).
Sila ataku zalezy od mlvl i level.
Footka:
Napisze jeszcze raz skrypt nie jest m?j..Lecz troszke go poprawi?em i sprawdzi?em dzia?a w 100%.Je?li b?dziesz mia? jaki? problem ze skryptem napisz to cos poradzimy