Dark Side OTS

Nie tylko o tibii...

  • Nie jesteś zalogowany.
  • Polecamy: Moda

#1 2009-03-13 19:24:02

Relix

http://img22.imageshack.us/img22/3830/userl.jpg

Zarejestrowany: 2009-03-13
Posty: 19
Punktów :   

Miotacz ognia

Skrypt nie mój , znaleziony na innym forum...

Spoiler:


    Wygląd: fireflanz
    Atak: przed siebie 3 kratki, ogień, zależy od skilla
    Atakuje 4 razy
    Podczas ataku gracz mówi: FIRE!

No więc robimy plik o nazwie miotacz ognia.lua w folderze data/actions/scripts, a do niego wklejamy:

Spoiler:


    local combatUp = createCombatObject()
    setCombatParam(combatUp, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combatUp, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
    setCombatParam(combatUp, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatFormula(combatUp, COMBAT_FORMULA_SKILL, 0.2, 10, 0.5, 20)
    local combatRight = createCombatObject()
    setCombatParam(combatRight, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combatRight, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
    setCombatParam(combatRight, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatFormula(combatRight, COMBAT_FORMULA_SKILL, 0.2, 10, 0.5, 20)
    local combatDown = createCombatObject()
    setCombatParam(combatDown, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combatDown, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
    setCombatParam(combatDown, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatFormula(combatDown, COMBAT_FORMULA_SKILL, 0.2, 10, 0.5, 20)
    local combatLeft = createCombatObject()
    setCombatParam(combatLeft, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combatLeft, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
    setCombatParam(combatLeft, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatFormula(combatLeft, COMBAT_FORMULA_SKILL, 0.2, 10, 0.5, 20)
    local arrUp = {
    {1, 1, 1},
    {1, 1, 1},
    {0, 1, 0},
    {0, 1, 0},
    {0, 2, 0}
    }
    local arrRight = {
    {0, 0, 1, 1},
    {2, 1, 1, 1},
    {0, 0, 1, 1}
    }
    local arrDown = {
    {0, 2, 0},
    {0, 1, 0},
    {0, 1, 0},
    {1, 1, 1},
    {1, 1, 1}
    }
    local arrLeft = {
    {1, 1, 0, 0},
    {1, 1, 1, 2},
    {1, 1, 0, 0}
    }
    local areaUp = createCombatArea(arrUp)
    setCombatArea(combatUp, areaUp)
    local areaRight = createCombatArea(arrRight)
    setCombatArea(combatRight, areaRight)
    local areaDown = createCombatArea(arrDown)
    setCombatArea(combatDown, areaDown)
    local areaLeft = createCombatArea(arrLeft)
    setCombatArea(combatLeft, areaLeft)
    function onUse(cid, item, frompos, item2, topos)
    local exh = 2   -- Ile sekund exhausted
    local storage = 15681
    if(os.time() > getPlayerStorageValue(cid,storage)) then
        setPlayerStorageValue(cid,storage,os.time()+exh)
        local x = {cid = cid, var = numberToVariant(cid)}
        fire(x)
        addEvent(fire,300,x)
        addEvent(fire,800,x)
        addEvent(fire,1300,x)
    else
        doPlayerSendCancel(cid,"You are exhausted.")
    end
    end
    function fire(x)
    local combat = combatUp
    local dir = getPlayerLookDir(x.cid)
    if(isPlayer(x.cid) == TRUE) then
        if(dir == WEST) then
            combat = combatRight
        elseif(dir == NORTH) then
            combat = combatDown
        elseif(dir == EAST) then
            combat = combatLeft
        end
        doCreatureSay(x.cid,"FIRE!",TALKTYPE_ORANGE_1)
        return doCombat(x.cid, combat, x.var)
    end
    end

Potem dodajemy do actions.xml, znajdującym się w data/actions taki kod:

Spoiler:



    <action itemid="7959" script="miotacz ognia.lua" />

Od teraz każdy kto użyje fireflanz będzie używał miotacza ognia. Skrypt na exhaustion 2 sekundy, żeby nie spamować tym. Exhaustion można zmienić w polu:

Spoiler:



    local exh = 2

czerwony - ile sekund exhausted

Jeżeli komuś nie działa to spróbujcie tą wersje:

Spoiler:


    local combatUp = createCombatObject()
    setCombatParam(combatUp, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combatUp, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
    setCombatParam(combatUp, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatFormula(combatUp, COMBAT_FORMULA_SKILL, 0.2, 10, 0.5, 20)
    local combatRight = createCombatObject()
    setCombatParam(combatRight, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combatRight, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
    setCombatParam(combatRight, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatFormula(combatRight, COMBAT_FORMULA_SKILL, 0.2, 10, 0.5, 20)
    local combatDown = createCombatObject()
    setCombatParam(combatDown, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combatDown, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
    setCombatParam(combatDown, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatFormula(combatDown, COMBAT_FORMULA_SKILL, 0.2, 10, 0.5, 20)
    local combatLeft = createCombatObject()
    setCombatParam(combatLeft, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combatLeft, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
    setCombatParam(combatLeft, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatFormula(combatLeft, COMBAT_FORMULA_SKILL, 0.2, 10, 0.5, 20)
    local arrUp = {
    {1, 1, 1},
    {1, 1, 1},
    {0, 1, 0},
    {0, 1, 0},
    {0, 2, 0}
    }
    local arrRight = {
    {0, 0, 1, 1},
    {2, 1, 1, 1},
    {0, 0, 1, 1}
    }
    local arrDown = {
    {0, 2, 0},
    {0, 1, 0},
    {0, 1, 0},
    {1, 1, 1},
    {1, 1, 1}
    }
    local arrLeft = {
    {1, 1, 0, 0},
    {1, 1, 1, 2},
    {1, 1, 0, 0}
    }
    local areaUp = createCombatArea(arrUp)
    setCombatArea(combatUp, areaUp)
    local areaRight = createCombatArea(arrRight)
    setCombatArea(combatRight, areaRight)
    local areaDown = createCombatArea(arrDown)
    setCombatArea(combatDown, areaDown)
    local areaLeft = createCombatArea(arrLeft)
    setCombatArea(combatLeft, areaLeft)
    function onUse(cid, item, frompos, item2, topos)
    local exh = 2   -- Ile sekund exhausted
    local storage = 15681
    if(os.time() > getPlayerStorageValue(cid,storage)) then
        setPlayerStorageValue(cid,storage,os.time()+exh)
        local x = {cid = cid, var = numberToVariant(cid), combatUp = combatUp, combatLeft = combatLeft, combatDown = combatDown, combatRight = combatRight}
        fire(x)
        addEvent(fire,300,x)
        addEvent(fire,800,x)
        addEvent(fire,1300,x)
    else
        doPlayerSendCancel(cid,"You are exhausted.")
    end
    end
    function fire(x)
    local combat = x.combatUp
    local dir = getPlayerLookDir(x.cid)
    if(isPlayer(x.cid) == TRUE) then
        if(dir == WEST) then
            combat = x.combatRight
        elseif(dir == NORTH) then
            combat = x.combatDown
        elseif(dir == EAST) then
            combat = x.combatLeft
        end
        return doCombat(x.cid, combat, x.var)
    end
    end

Offline

 

#2 2009-03-13 19:44:04

Nix

http://img27.imageshack.us/img27/2596/administratorm.jpg

Zarejestrowany: 2009-02-17
Posty: 119
Punktów :   

Re: Miotacz ognia

fajny skrypt

daje 8/10 szkoda że nie twój


Masz jakieś pytanie?? Pisz na e-mail

Jeśli chcesz miec u nas reklamę (widoczne w stopce) pisz na e-mail

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
Hotely Koper