Thread Closed 
 
Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Lindvior ISS Scripts
Author Message
dooflex Offline
Ratman Chieftain
*

Posts: 23
Joined: Mar 2013
Reputation: 0
Version: 1.4.1.102
Post: #1
Lindvior ISS Scripts
Hello Forum,

Thanks to you dedicated scripters out there my & quite a few other people's L2 experience has become quite pleasant. Im making this thread as we just had a new update and well the old scripts wont work anymore Big Grin I have been using this as an OOP iss script and now with a newly awakened spectral dancer the script stops on invite and says target(iss) is not an ISS cos she is now a spectral dancer. Also if i run this script on a pre lindvior iss (not awakened to new classes) she does not buff harmony because the script gets confused with the new class being buffed (tyrr duellist) Could someone please make some tweaks to this and revert? it would be a great help to me and other newbie botters out there post Lindvior Smile

Thank you much.

PHP Code:
-- With safeCode isn't supposed to stop script on possible errors, but 
-- will just silently pause working till cause of error go away
local safeCode = false

-- Distance to search for party members to buff
local SearchDistance = 1000

-- Check if L2Tower is running (not paused)
local CheckIfRunning = true

local Names = {
    Leader = "XXX",-- MA
    Iss = "XXX", -- Name buff
    Kick = "XXX",
}
-- Will it work with entering/leaving party?
-- Well it'
s not really just for OOP anymorebut name remained :)
-- 
Notes
--  * If 
you run script on character specified as "Leader",
--     
then Leader will invite buffer when buffs are needed,
--  * 
Leader will kick player specified as "Kick" if party is full
--  * Unless you set OOPForcePartyLeave buffer will not leave party
--     if it is not fullmeaning either of
--        - 
party is not full,
--        - 
Kick is in party,
--        - 
there is no Kick within SearchDistance,
local OOPMode true
-- How long after last buffing will we leave the party?
local LeaveAfterBuffsTimeout 1*1000 -- 4 sec
local OOPForcePartyLeave 
true
-- Should it follow player specified as LeaderWill follow even if
-- 
Leader is not member of your party.
local OOPFollowLeader true 
-- Not really distance, for now just random point within half of 
-- this distance from leaderWill make it better in final release.
local OOPFollowDistance 100
-- Should it assist player specified as Leader?
-- 
Made it because L2Tower assist is buggy.
-- 
Won't assist if Leader is not in same party as we are.
local OOPAssistLeader = false

-- Irrelevant for user, will throw info into chat if enabled
local debugmode = false

-- "Wizard", "Warrior" and "Knight" stand for type of Harmony to use,
local ClassesContainer = {
    Magic = {
        Buffer = {
            { 17, "Wizard"},    -- Prophet
            { 21, "Warrior"},    -- Swordsinger
            { 34, "Warrior"},    -- Bladedancer
            { 49, "Wizard" },    -- Orc Mystic
            { 50, "Wizard" },    -- Orc Shaman
            { 51, "Warrior" },    -- Overlord
            { 52, "Wizard" },    -- Warcryer
            { 98, "Wizard" },    -- Hierophant
            { 100, "Warrior" },    -- Sword Muse
            { 107, "Warrior" },    -- Spectral Dancer
            { 115, "Wizard" },    -- Dominator
            { 116, "Wizard" },    -- Doomcryer
            { 144, "Warrior"},    -- Iss Enchanter
        },
        Healer = {
            { 15, "Wizard"},    -- Cleric
            { 16, "Wizard"},    -- Bishop
            { 29, "Wizard"},    -- Elven Oracle
            { 30, "Wizard"},    -- Elven Elder
            { 97, "Warrior"},    -- Cardinal
            { 42, "Wizard" },    -- Shillien Oracle
            { 43, "Wizard" },    -- Shillien Elder
            { 105, "Wizard" },    -- Eva'
s Saint
            
112"Wizard" },    -- Shillien Saint
            
146"Wizard" },    -- Aeore Healer
        
},
        
Nuker = {
            { 
10"Wizard"},    -- Human Mystic
            
11"Wizard"},    -- Human Wizard
            
12"Wizard"},    -- Sorceror
            
13"Wizard"},    -- Necromancer
            
25"Wizard"},    -- Elven Mystic
            
26"Wizard"},    -- Elven Wizard
            
27"Wizard"},    -- Spellsinger
            
38"Wizard" },    -- Dark Mystic
            
39"Wizard" },    -- Dark Wizard
            
40"Wizard" },    -- Spellhowler
            
94"Wizard" },    -- Archmage
            
95"Wizard" },    -- Soultaker
            
103"Wizard" },    -- Mystic Muse
            
110"Wizard" },    -- Storm Screamer
            
143"Wizard" },    -- Feoh Wizard
        
},
        
Summoner = {
            { 
14"Warrior"},    -- Warlock
            
28"Knight"},    -- Elemental Summoner
            
41"Warrior" },    -- Phantom Summoner
            
96"Warrior" },    -- Arcana Lord
            
104"Warrior" },    -- Elemental Master
            
111"Warrior" },    -- Spectral Master
                
-- We try to determine Wynn Summoner's Harmony dynamically
                -- if there is no '
nil' then it will not dynamically assign
                -- and use whatever stands here instead, so you can force
                -- different buff or put it manually if dynamical doesn'
t work
            
145"Warrior" },    -- Wynn Summoner
        
},
    },
    
Physical = {
        
Warrior = {
            { 
0"Warrior"},    -- Human Fighter
            
1"Warrior"},    -- Warrior
            
2"Warrior"},    -- Gladiator
            
3"Warrior"},    -- Warlord
            
18"Warrior"},    -- Elven Fighter
            
19"Warrior"},    -- Elven Knight
            
31"Warrior"},    -- Dark Fighter
            
44"Warrior" },    -- Orc Fighter
            
45"Warrior" },    -- Orc Raider
            
46"Warrior" },    -- Destroyer
            
47"Warrior" },    -- Monk
            
48"Warrior" },    -- Tyrant
            
53"Warrior" },    -- Dwarven Fighter
            
56"Warrior" },    -- Artisan
            
57"Warrior" },    -- Warsmith
            
88"Warrior"},    -- Duelist
            
89"Warrior" },    -- Dreadnought
            
113"Warrior" },    -- Titan
            
114"Warrior" },    -- Grand Khavatari
            
118"Warrior" },    -- Maestro
            
123"Warrior" },    -- Male Soldier
            
124"Warrior" },    -- Female Soldier
            
125"Warrior" },    -- Dragoon
            
126"Warrior" },    -- Warder
            
127"Warrior" },    -- Berserker
            
128"Warrior" },    -- Male Soul Breaker
            
129"Warrior" },    -- Female Soul Breaker
            
131"Warrior" },    -- Doombringer
            
132"Warrior" },    -- Male Soul Hound
            
133"Warrior" },    -- Female Soul Hound
            
135"Warrior" },    -- Inspector
            
136"Warrior" },    -- Judicator
            
140"Warrior" },    -- Tyrr Warrior
        
},
        
Dagger = {
            { 
7"Warrior"},    -- Rogue
            
8"Warrior"},    -- Treasure Hunter
            
22"Warrior"},    -- Elven Scout
            
23"Warrior"},    -- Plainswalker
            
35"Warrior"},    -- Assassin
            
36"Warrior"},    -- Abyss Walker
            
54"Warrior" },    -- Scavenger
            
55"Warrior" },    -- Bounty Hunter
            
93"Warrior"},    -- Adventurer
            
101"Warrior" },    -- Wind Rider
            
108"Warrior" },    -- Ghost Hunter
            
117"Warrior"},    -- Fortune Seeker
            
141"Warrior" },    -- Othell Rogue
        
},
        
Archer = {
            { 
9"Warrior"},    -- Hawkeye
            
24"Warrior"},    -- Silver Ranger
            
37"Warrior"},    -- Phantom Ranger
            
92"Warrior" },    -- Sagittarius
            
102"Warrior" },    -- Moonlight Sentinel
            
109"Warrior" },    -- Ghost Sentinel
            
130"Warrior" },    -- Arbalester
            
134"Warrior" },    -- Trickster
            
142"Warrior" },    -- Yul Archer
        
},
    },
    
Tank = {
        
Knight = {
            { 
4"Knight"},    -- Human Knight
            
5"Knight"},    -- Paladin
            
6"Knight"},    -- Dark Avenger
            
20"Knight"},    -- Temple Knight
            
32"Knight"},    -- Palus Knight
            
33"Warrior"},    -- Shillien Knight
            
90"Knight" },    -- Phoenix Knight
            
91"Knight" },    -- Hell Knight
            
99"Knight" },    -- Eva's Templar
            { 106, "Knight" },    -- Shillien Templar
            { 139, "Knight" },    -- Sigel Knight
        },
    }
}

--[[
    -- If there are multiple values with same name it means it will search for the most nested one (the one furthest to right)
    -- Buff template:
local BuffsContainer = {
    -- static minimum time left when we will rebuff, searchest for the most nested one
    MinTimeLeft = 1000,
    -- dynamic minimum time left when we will rebuff, 
    -- Length * multiplier determines when we will rebuff, 
    -- so 30 min with 0.1 multiplier makes it rebuffing at 3 min left on buff
    LengthToMinTimeLeftMultiplier = 0.2, 
    SomeGroupedUpBuffs = {
        SomeBuffName = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            -- maximum length of buff in milliseconds
            Length = 300000, -- this makes 300 sec = 5 min
            -- Skill Ids which can apply this buff
            Skills = {
                12345,
                67890,
            },
            -- Ids of skills that apply same buff effect (so we don'
try cast buff if we cannot override),
            -- 
Must contain also all Skills Ids,
            -- 
Basically it checks if target holds any of Buffs, if it doesn't it tries to use any of Skills to apply them
            Buffs = {
                12345,
                67890,
                54321,
            },
        },
    },
]]

local BuffsContainer = {
    MinTimeLeft = 1000,
    LengthToMinTimeLeftMultiplier = 1/5,
    Melody = {
        MinTimeLeft = nil,
        LengthToMinTimeLeftMultiplier = nil,
        Length = 1800000, -- 30 min
        Horn = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Length = nil,
            Skills = { 11517 },
            NeedTarget = false,
            Buffs = {
                9198,    -- Elixir: Horn Melody
                9218,    -- Elixir of Blessing - Horn Melody
                9227,    -- Mentor'
s Poem of Horn
                9273
,    -- Horn Melody PC Cafe
                9280
,    -- Horn Melody Heavenly Cocktail
                9331
,    -- Horn Melody Refined Cocktail
                11517
,    -- Horn Melody
                14738
,    -- Olympiad Horn Melody
                14779
,    -- Master's Blessing - Horn Melody
                14791,    -- Master'
s Blessing Horn Melody (Range)
            },
        },
        
Drum = {
            
MinTimeLeft nil,
            
LengthToMinTimeLeftMultiplier nil,
            
Length nil,
            
Skills = { 11518 },
            
NeedTarget false,
            
Buffs = {
                
9199,    -- ElixirDrum Melody
                9219
,    -- Elixir of Blessing Drum Melody
                9228
,    -- Mentor's Poem of Drum
                9274,    -- Drum Melody - PC Cafe
                9281,    -- Drum Melody - Heavenly Cocktail
                9332,    -- Drum Melody - Refined Cocktail
                11518,    -- Drum Melody
                14739,    -- Olympiad - Drum Melody
                14780,    -- Master'
s Blessing Drum Melody
                14792
,    -- Master's Blessing - Drum Melody (Range)
                22213,    -- Mysterious Scroll - Drum Melody
            },
        },
        PipeOrgan = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Length = nil,
            Skills = { 11519 },
            NeedTarget = false,
            Buffs = {
                9201,    -- Elixir: Pipe Organ Melody
                9221,    -- Elixir of Blessing - Pipe Organ Melody
                9230,    -- Mentor'
s Poem of Organ
                9276
,    -- Pipe Organ Melody PC Cafe
                9283
,    -- Pipe Organ Melody Heavenly Cocktail
                9334
,    -- Pipe Organ Melody Refined Cocktail
                11519
,    -- Pipe Organ Melody
                14607
,    -- Cry of Fate Pipe Organ Melody
                14693
,    -- Cry of Fate Pipe Organ Melody
                14740
,    -- Olympiad Pipe Organ Melody
                14781
,    -- Master's Blessing - Pipe Organ Melody
                14793,    -- Master'
s Blessing Pipe Organ Melody (Range)
                
23364,    -- Tree's Blessing - Pipe Organ Melody
                23365,    -- Tree'
s Blessing Pipe Organ Melody
                23366
,    -- Tree's Blessing - Pipe Organ Melody
                23367,    -- Tree'
s Blessing Pipe Organ Melody
                23368
,    -- Tree's Blessing - Pipe Organ Melody
            },
        },
        Guitar = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Length = nil,
            Skills = { 11520 },
            NeedTarget = false,
            Buffs = {
                9202,    -- Elixir: Guitar Melody
                9222,    -- Elixir of Blessing - Guitar Melody
                9231,    -- Mentor'
s Poem of Guitar
                9277
,    -- Guitar Melody PC Cafe
                9284
,    -- Guitar Melody Heavenly Cocktail
                9335
,    -- Guitar Melody Refined Cocktail
                11520
,    -- Guitar Melody
                14741
,    -- Olympiad Guitar Melody
                14782
,    -- Master's Blessing - Guitar Melody
                14794,    -- Master'
s Blessing Guitar Melody (Range)
                
23369,    -- Tree's Blessing - Guitar Melody
                23370,    -- Tree'
s Blessing Guitar Melody
                23371
,    -- Tree's Blessing - Guitar Melody
                23372,    -- Tree'
s Blessing Guitar Melody
                23373
,    -- Tree's Blessing - Guitar Melody
            },
        },
        Harp = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Length = nil,
            Skills = { 11521 },
            NeedTarget = false,
            Buffs = {
                9203,    -- Elixir: Harp Melody
                9223,    -- Elixir of Blessing - Harp Melody
                9232,    -- Mentor'
s Poem of Harp
                9278
,    -- Harp Melody PC Cafe
                9285
,    -- Harp Melody Heavenly Cocktail
                9336
,    -- Harp Melody Refined Cocktail
                11521
,    -- Harp Melody
                14742
,    -- Olympiad Harp Melody
                14783
,    -- Master's Blessing - Harp Melody
                14795,    -- Master'
s Blessing Harp Melody (Range)
                
23374,    -- Tree's Blessing - Harp Melody
                23375,    -- Tree'
s Blessing Harp Melody
                23376
,    -- Tree's Blessing - Harp Melody
                23377,    -- Tree'
s Blessing Harp Melody
                23378
,    -- Tree's Blessing - Harp Melody
            },
        },
        Lute = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Length = nil,
            Skills = { 11522 },
            NeedTarget = false,
            Buffs = {
                9200,    -- Elixir: Lute Melody
                9220,    -- Elixir of Blessing - Lute Melody
                9229,    -- Mentor'
s Poem of Lute
                9275
,    -- Lute Melody PC Cafe
                9282
,    -- Lute Melody Heavenly Cocktail
                9333
,    -- Lute Melody Refined Cocktail
                11522
,    -- Lute Melody
                14743
,    -- Olympiad Lute Melody
                14784
,    -- Master's Blessing - Lute Melody
                14796,    -- Master'
s Blessing Lute Melody (Range)
                
23359,    -- Tree's Blessing - Lute Melody
                23360,    -- Tree'
s Blessing Lute Melody
                23361
,    -- Tree's Blessing - Lute Melody
                23362,    -- Tree'
s Blessing Lute Melody
                23363
,    -- Tree's Blessing - Lute Melody
            },
        },
    },
    Sonata = {
        MinTimeLeft = nil,
        LengthToMinTimeLeftMultiplier = nil,
        Length = 300000, -- 5 min
        Prevailing = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Length = nil,
            Skills = { 11529 },
            NeedTarget = false,
            Buffs = {
                11529,    -- Prevailing Sonata
                14993,    -- Master'
s Blessing Prevailing Sonata
                14996
,    -- Master's Blessing - Prevailing Sonata (range)
            },
        },
        Daring = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Length = nil,
            Skills = { 11530 },
            NeedTarget = false,
            Buffs = {
                11530,    -- Daring Sonata
                14994,    -- Master'
s Blessing Daring Sonata
                14997
,    -- Master's Blessing - Daring Sonata (range)
            },
        },
        Refreshing = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Length = nil,
            Skills = { 11532 },
            NeedTarget = false,
            Buffs = {
                11532,    -- Refreshing Sonata
                14995,    -- Master'
s Blessing Refreshing Sonata
                14998
,    -- Master's Blessing - Refreshing Sonata (range
            },
        },
    },
    Protection = {
        MinTimeLeft = nil,
        LengthToMinTimeLeftMultiplier = nil,
        Length = 1800000, -- 30 min
        Elemental = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Skills = { 11565 },
            NeedTarget = false,
            Buffs = {
                1352,    -- Elemental Protection
                11565,    -- Elemental Protection
                11790,    -- Superior Elemental Protection
                23247,    -- Master'
s Blessing Elemental Protection
                23295
,    -- Master's Blessing - Elemental Protection
            },
        },
        Divine = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Skills = { 11566, 803 },
            NeedTarget = false,
            Buffs = {
                11566,    -- Divine Protection
                1353,    -- Divine Protection
                803,    -- Healer Ability - Divine Protection
            },
        },
        Mental = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Skills = { 11567 },
            NeedTarget = false,
            Buffs = {
                11567,    -- Mental Protection
            },
        },
    },
    Harmony = {
        MinTimeLeft = nil,
        Length = 1800000, -- 30 min
        Knight = {
            MinTimeLeft = nil,
            LengthToMinTimeLeftMultiplier = nil,
            Length = nil,
            Skills = { 11523 },
            NeedTarget = true,
            Buffs = {
                9376,    -- Mentor Guardian'
s Harmony
                11523
,    -- Knight's Harmony
                14744,    -- Olympiad - Guardian'
s Harmony
                14785
,    -- Master's Blessing - Guardian's Harmony
                14797
,    -- Master's Blessing - Guardian's Harmony (Range)
            },
        },
        
Warrior = {
            
MinTimeLeft nil,
            
LengthToMinTimeLeftMultiplier nil,
            
Length nil,
            
Skills = { 11524 },
            
NeedTarget true,
            
Buffs = {
                
9378,    -- Mentor's Berserker's Harmony
                11524
,    -- Warrior's Harmony
                14745,    -- Olympiad - Berserker'
s Harmony
                14786
,    -- Master's Blessing - Berserker's Harmony
                14798
,    -- Master's Blessing - Berserker's Harmony (Range)
            },
        },
        
Wizard = {
            
MinTimeLeft nil,
            
LengthToMinTimeLeftMultiplier nil,
            
Length nil,
            
Skills = { 11525 },
            
NeedTarget true,
            
Buffs = {
                
9377,    -- Mentor's Magician's Harmony
                11525
,    -- Wizard's Harmony
                14746,    -- Olympiad - Magician'
s Harmony
                14787
,    -- Master's Blessing - Magician's Harmony
                14799
,    -- Master's Blessing - Magician's Harmony (Range)
            },
        },
    },
}

function 
GetRebuffTimeLeftbuffsCskillId)
    if 
buffsC and tar and skillId or not safeCode then
        
if type(buffsC) == "table" then
            
for Type,vT in pairs(buffsC) do
                if 
type(vT) == "table" then
                    
for lBuff,vlB in pairs(vT) do
                        if 
type(vlB) == "table" then
                            
for i=1,#vlB.Skills do
                                
if vlB.Skills[i] == skillId then
                                    local l 
vlB.Length or vT.Length or 0
                                    local m 
vlB.LengthToMinTimeLeftMultiplier or vT.LengthToMinTimeLeftMultiplier or buffsC.LengthToMinTimeLeftMultiplier or 0
                                    local mtl 
vlB.MinTimeLeft or vT.MinTimeLeft or buffsC.MinTimeLeft or 0
                                    
return math.max(mmtl)
                                
end
                            end
                        end
                    end
                end
            end
        end
    end
    
return nil
end

function GetHarmonyTypeclassesCtar )
    if 
tar and classesC or not safeCode then
        
if type(classesC) == "table" then
            
for Type,vT in pairs(classesC) do
                if 
type(vT) == "table" then
                    
for SubType,vS in pairs(vT) do
                        if 
type(vS) == "table" then
                            
for i=1,#vS do
                                
tar:GetClass()
                                if 
== vS[i][1then
                                    harmony 
vS[i][2]
                                    if 
== 145 and not harmony then    -- Wynn Summoner
                                        harmony 
DetermineWynnHarmonytar:GetName() )
                                        return 
harmony
                                    end
                                    
return harmony
                                end
                            end
                        end
                    end
                end
            end
        end
    end
    
return nil
end

function PetBelongsToPartypet )
    if 
pet then
        party 
GetPartyList()
        for 
p in party.list do
            if 
p:GetName() == pet:GetMasterName() then
                
return true
            end
        end
    end
    
return false
end

function DetermineWynnHarmonyname )
    
local bearCount 0     -- 14929    Armored Bear
    local cougarCount 
0     -- 14930    Saber Tooth Cougar
    local soulReaperCount 
0    -- 14931    Soul Reaper
    
if name then
        pets 
GetPetList()
        for 
p in pets.list do
            if 
PetBelongsToParty(pthen
                id 
p:GetNpcId()
                if 
id == 14929 then
                    bearCount 
bearCount 1
                
elseif id == 14930 then
                    cougarCount 
cougarCount 1
                
elseif id == 14931 then
                    soulReaperCount 
soulReaperCount 1
                end
            end
        end
    end
    
if bearCount 0 then
        
return "Knight"
    
elseif cougarCount soulReaperCount then
        
return "Warrior"
    
else
        return 
"Wizard"
    
end
end

function BuffInfobuffsCtarskillId )
    if 
buffsC and tar and skillId or not safeCode then
        
if type(buffsC) == "table" then
            
for Type,vT in pairs(buffsC) do
                if 
type(vT) == "table" then
                    
for lBuff,vlB in pairs(vT) do
                        if 
type(vlB) == "table" then
                            
for i=1,#vlB.Skills do
                                
if vlB.Skills[i] == skillId then
                                    
if type(vlB.Buffs) == "table" then
                                        timeLeft 
86400000
                                        
for j=1,#vlB.Buffs do
                                            
buff tar:GetBuff(vlB.Buffs[j])
                                            if 
buff then
                                                timeLeft 
buff.endTime GetTime()
                                                return 
truevlB.NeedTargetvlB.Buffs[j], timeLeft
                                            end
                                        end
                                        
return falsevlB.NeedTargetnilnil
                                    end
                                end
                            end
                        end
                    end
                end
            end
        end
    end
    
return false
end

function CastBuffskillsbuffsCtariddistjustCheck )
    if 
skills and buffsC and tar and tar:GetHp() ~= and id and dist or not safeCode then
        local hasBuff
needTarget_timeLeft BuffInfobuffsCtarid )
        
local rtl GetRebuffTimeLeftbuffsCid)
        if 
not hasBuff or rtl and timeLeft and timeLeft <= rtl and timeLeft 0 then
            
if debugmode then ShowToClient(tar:GetName(), ""..tostring(hasBuff).." "..rtl.." "..tostring(timeLeft)) end
            
if justCheck then
                
return true
            end
            local skill 
skills:FindById(id)
            if 
skill and skill:CanBeUsed() then
                
for d=dist-50,50,-100 do
                    if 
not tar or tar:GetHpPercent() == 0 then
                        
return false
                    end
                    
if tar:GetDistance() > dist or not tar:CanSeeMe() then
                        loc 
tar:GetLocation()
                        
MoveTo(loc.Xloc.Yloc.Zd)
                        
tar GetUserById(tar:GetId())
                    
end
                end
                
if needTarget then
                    Target
(tar)
                    for 
i=1,do
                        
myTar GetTarget()
                        if 
myTar and myTar:GetId() == tar:GetId() then
                            
if debugmode then ShowToClient(tar:GetName(), ""..idend
                            UseSkillRaw
(id,false,false)
                            return 
true
                        end
                        Sleep
(100)
                    
end
                
else
                    if 
debugmode then ShowToClient(tar:GetName(), ""..idend
                    UseSkillRaw
(id,false,false)
                    return 
true
                end
            end
        end
    end
    
return false
end

function BuffHarmonyskillsbuffsCclassesCtarjustCheck )
    if 
skills and buffsC and classesC and tar and harmonies or not safeCode then
        local ht 
GetHarmonyType(classesCtar)
        if 
ht or not safeCode then
            local harmony 
buffsC.Harmony[ht]
            for 
i=1,#harmony.Skills do
                
if CastBuffskillsbuffsCtarharmony.Skills[i], 900justCheck then
                    
return true
                end
            end
        end
    end
    
return false
end

local LastBuffTime 
GetTime()
function 
BuffTargetskillsbuffsCclassesCtarjustCheck )
    if 
skills and buffsC and classesC and tar or not safeCode then
        
if type(buffsC) == "table" then
            
for BT,vBT in pairs(buffsC) do
                if 
BT == "Harmony" then
                    
if BuffHarmonyskillsbuffsCclassesCtarjustCheck then
                  LastBuffTime 
GetTime()
                        return 
true
                    end
                
else
                    if 
type(vBT) == "table" then
                        
for kB,vB in pairs(vBT) do
                            if 
type(vB) == "table" and type(vB.Skills) == "table" then
                                
for i=1,#vB.Skills do
                                    
if CastBuffskillsbuffsCtarvB.Skills[i], 900justCheck then
                              LastBuffTime 
GetTime()
                                        return 
true
                                    end
                                end
                            end
                        end
                    end
                end
            end
        end
    end
    
return false
end

function BuffPartyskillsbuffsCclassesCdistancejustChecknames )
    if 
skills and buffsC and classesC and distance and (names or not justCheck) or not safeCode then
        local me 
GetMe()
        if 
BuffTargetskillsbuffsCclassesCmejustCheck then
            
return true
        end
        local party 
GetPartyList()
        for 
p in party.list do
            if 
not (names and not (justCheck and p:GetName() == names.Kick)) and p:GetDistance() < distance and 
                
BuffTargetskillsbuffsCclassesCpjustCheck then
                
return true
            end
        end
    end
    
return false
end

function PartyNeedBuffsskillsbuffsCclassesCdistancejustChecknames )
    return 
BuffPartyskillsbuffsCclassesCdistancetruenames )
end


----------------------------------------------------------------------
-------------------------- 
OOP Mode PART -----------------------------
----------------------------------------------------------------------
function 
GetPartyCount()
    
party GetPartyList()
    
local i 0
    
for p in party.list do
        
i+1
    end
    
return i
end

function RandomizeLocationlocxSpreadySpreadzSpread )
    if 
loc then
        math
.randomseed(GetTime())
        
math.random()
        
local x loc.X
        local y 
loc.Y
        local z 
loc.Z
        x 
- ( xSpread )
        
- ( ySpread )
        
- ( zSpread )
        
        
math.random(xSpread)
        
math.random(ySpread)
        
math.random(zSpread)
        
        return 
xyz
    end
end

function BuffPartyAndLeaveskillsbuffsCclassesCdistancenames )
    if 
PartyNeedBuffsskillsbuffsCclassesCdistance then
        BuffParty
skillsbuffsCclassesCdistance )
    elseif 
GetPartyMaster() then
        local shouldLeave 
false
        local pc 
0
        
if not OOPForcePartyLeave then
            local kick 
GetUserByName(names.Kick)
            
shouldLeave kick and kick:GetDistance() < distance
            local party 
GetPartyList()
            for 
p in party.list do
                
pc pc 1
                
if names.Kick == p:GetName() then
                    shouldLeave 
nil
                    
break
                
end
            end
        end
        
if (OOPForcePartyLeave or (shouldLeave and pc == 6)) and GetTime() - LastBuffTime LeaveAfterBuffsTimeout then
            LeaveParty
()
        
end
    end
end

function Kicknames )
    
local me GetMe()
    if 
me and names and names.Leader == me:GetName() and names.Kick or not safeCode then
        
if GetPartyCount() == 6 then
            Command
("/dismiss " .. names.Kick)
            return 
true
        end
    end
    
return false
end

function Invitenames )
    if 
me and names and names.Leader == me:GetName() and names.Iss or not safeCode then
    tar 
GetPlayerList():GetByName(names.Iss)
        if 
tar and not tar:IsMyPartyMember() then
            
if Kick(namesthen
                Sleep
(1500)
            
end
            
if GetPartyCount() == 6 then
                
return false
            end
            Command
("/invite ".. names.Iss)
            return 
true
        end
    end
    
return false
end

function Reinvitenames )
    if 
me and names and names.Leader == me:GetName() and names.Kick or not safeCode then
        tar 
GetPlayerList():GetByName(names.Kick)
        if 
tar and not tar:IsMyPartyMember() then
            Command
("/invite ".. names.Kick)
        
end
    end
end
----------------------------------------------------------------------
----------------------- 
End of OOP Mode PART -------------------------
----------------------------------------------------------------------
function 
GetTargetByIdid )
    
local users GetUsersList()
end


function Main()
    
local me GetMe()
    if 
me then
        
if OOPMode and me:GetName() == Names.Leader then
            
if PartyNeedBuffs(GetSkills(), BuffsContainerClassesContainerSearchDistancethen
                Invite
(Names)
            else
                
Reinvite(Names)
            
end
        
elseif me:GetName() == Names.Iss or not OOPMode then
            
if me:GetClass() ~= 144 then
                ShowToClient
("""You are not Iss Enchanter!")
                return 
false
            end
            local leader 
GetPlayerList():GetByName(Names.Leader)
            if 
leader and OOPMode then
                
-- Assisting
                local pm 
GetPartyMaster()
                
local lid leader:GetId()
                
local lt GetUserById(leader:GetTarget())
                
local chk OOPAssistLeader and lt and not lt:IsFriend()
                if (
leader:IsMyPartyMemberMaster() or leader:IsMyPartyMember()) and chk then
                    Target
(lt)
                
end
                
-- Following
                
if not pm or OOPFollowLeader and not chk then
                    Target
(lid)
                    
local tar GetTarget()
                    if 
OOPFollowLeader and tar and tar:GetId() == lid and tar:GetDistance() > OOPFollowDistance then
                        local x
,y,RandomizeLocation(tar:GetLocation(),0,0,0)
                        
MoveTo(x,y,zOOPFollowDistance)
                    
end
                end
                
return BuffPartyAndLeave(GetSkills(), BuffsContainerClassesContainerSearchDistanceNames)
            else
                return 
BuffParty(GetSkills(), BuffsContainerClassesContainerSearchDistance)
            
end
        end
    end
    
return false
end

repeat
    
if not CheckIfRunning or not IsPaused() then
        Main
()
    
end
    Sleep
(900)
until false 

PS: Devs kudos on having a new version up and running so soon Smile
(This post was last modified: 05-30-2013 17:18 PM by dooflex.)
05-30-2013 17:16 PM
Find all posts by this user
Blimpador Offline
Expired VIP Member
**

Posts: 46
Joined: Jun 2012
Reputation: 1
Version: 1.4.2.142
Post: #2
RE: Lindvior ISS Scripts
Having the same problem.

I don tknow how to check the ID:\
05-30-2013 20:28 PM
Find all posts by this user
infernum Offline
Goblin Grave Robber
*

Posts: 15
Joined: May 2012
Reputation: 0
Version: 1.4.2.133
Post: #3
RE: Lindvior ISS Scripts
OMG ppl, just search the forum, there are a post with explanation about how to reedit that script Confused...
05-30-2013 23:40 PM
Find all posts by this user
magnus43 Offline
Expired VIP Member
**

Posts: 4
Joined: Jul 2012
Reputation: 0
Version: 1.4.3.143
Post: #4
RE: Lindvior ISS Scripts
where?can you show us the link cause i couldn't find it..
05-31-2013 00:02 AM
Find all posts by this user
Thread Closed 


Possibly Related Threads...
Thread: Author Replies: Views: Last Post
Rainbow Solo iss+summoner scripts combo welkinds 119 129,869 12-09-2015 02:18 AM
Last Post: redline10
  Premium+scripts questions krums 13 1,829 07-10-2015 08:19 AM
Last Post: TheQQmaster
  WTB Auto accept mail scripts or plugins king200527 0 506 07-07-2015 11:39 AM
Last Post: king200527
  Start and Stop Scripts benbt91 4 1,220 03-20-2015 14:05 PM
Last Post: kerberos464
  WTB scripts/setup for exp 85 group krevty 1 636 01-03-2015 13:20 PM
Last Post: amiroooo
  Do you use PVP scripts/plugins? Vinter 2 1,260 11-07-2014 17:54 PM
Last Post: Vinter
  Scripts chaolong 3 931 10-19-2014 20:37 PM
Last Post: chaolong
WTB Buy 1-85 Scripts chaolong 7 1,407 09-25-2014 07:28 AM
Last Post: kerberos464
  Scripts Archerakosss 5 1,190 09-06-2014 09:34 AM
Last Post: dumwian
  Where did you guys learn to write scripts? jamesisawesom 2 1,091 07-30-2014 16:21 PM
Last Post: eustach3



User(s) browsing this thread: 1 Guest(s)