capucine
Expired VIP Member
 
Posts: 1,083
Joined: Jan 2013
Reputation: 208
Version:
1.4.2.142
|
RE: Nuke attack problem.
I'll try find that Feoh Script again and post it here...
L2Tower Gui works for pretty much all class, only Feoh are bugged, that's why we use /nukefix
ok, I found the script... It was made for FEOH Dark Elf so if your FEOH is from another race, make sure to modify the script with YOUR skills id...
+2 rep me if it helped you...!
LUA Programming
MySkills = GetSkills();
Me = GetMe();
ArcaneBarrierID = 11065;
StormSkillID = 11040;
BlastSkillID = 11034;
MassDevilCurseSkillID = 11048;
DoubleCastingSkillID = 11068;
WizardSpiritSkillID = 11046;
SpikeSkillID = 11011;
CrashSkillID = 11017;
DestructionSkillID = 11023;
ElementalBurstID = 11106;
BodyToMindSkillID = 11064;
DevilCurseID = 11047;
SavageID = 1914;
MagicalEvasionID = 11057;
MagicalChargeID = 11094;
MyMpPercent = 10;
MyHpPercent = 65;
function UseSkillAttack(skillID) --Function to use skill atk
local MyTarget = GetTarget();
if (CheckTargetCanBeUsedSkill(MyTarget)) then
local Skill = GetSkills():FindById(skillID);
if (Skill ~= nil) and (Skill:IsSkillAvailable()) then
UseSkillRaw(skillID, false, false);
Sleep(300);
end;
end;
end;
function UseSkill(skillID, target)
if (CheckTargetCanBeUsedSkill(target)) then
local Skill = MySkills:FindById(skillID);
if (Skill ~= nil) and (Skill:IsSkillAvailable()) then
UseSkillRaw(skillID, false, false);
Sleep(200);
end;
end;
end;
function CheckTargetCanBeUsedSkill(target)
if (target~=nil) and not (target:IsMe()) and (target:IsMonster()) and not (target:IsAlikeDeath()) and not (target:IsPlayer()) then
return true;
else
return false;
end;
end;
function UseBuff()
if (me ~= nil) and not (me:IsAlikeDeath()) then
if (MySkills:FindById(100) ~= nil) and not me:GotBuff(1935) then
UseSkillRaw(1935,false,false);
Sleep(500);
end;
if (me ~= nil) and not (me:IsAlikeDeath()) then
if not me:GotBuff(1914) then
UseSkillRaw(1914,false,false);
Sleep(1000);
end;
end;
if (me ~= nil) and not (me:IsAlikeDeath()) then
if not me:GotBuff(11068) then
UseSkillRaw(11068,false,false);
Sleep(1000);
end;
end;
-- if (MySkills:FindById(DoubleCastingSkillID) ~= nil) and (MySkills:FindById(DoubleCastingSkillID):IsSkillAvailable()) and (MySkills:FindById(WizardSpiritSkillID) ~= nil) and (MySkills:FindById(WizardSpiritSkillID):IsSkillAvailable()) then
-- UseSkillRaw(DoubleCastingSkillID, false, false);
-- Sleep(2000)
-- UseSkillRaw(WizardSpiritSkillID, false, false);
-- Sleep(500)
-- end;
end;
end;
function BodyToMind()
if not me:GotBuff(11758) and not me:GotBuff(11759) and not me:GotBuff(1918) then
local Skill = MySkills:FindById(BodyToMindSkillID);
if (Skill ~= nil) and (Skill:IsSkillAvailable()) and (Skill:CanBeUsed()) then
UseSkillRaw(BodyToMindSkillID, false, false);
Sleep(300);
end;
end;
end;
function ArcaneBarrier()
if not me:GotBuff(11758) and not me:GotBuff(11759) and not me:GotBuff(1918) then
local Skill = MySkills:FindById(ArcaneBarrierID);
if (Skill ~= nil) and (Skill:IsSkillAvailable()) and (Skill:CanBeUsed()) then
UseSkillRaw(ArcaneBarrierID, false, false);
Sleep(300);
end;
end;
end;
isHitting = false;
ShowToClient("Script","Feoh All skill started.");
function Main()
me = GetMe();
MySkills = GetSkills();
UseBuff();
MyTarget = GetTarget();
if (me ~= nil) and not (me:IsAlikeDeath()) then
if(math.floor(Me:GetMpPercent())<= MyMpPercent) then
BodyToMind();
end;
if(math.floor(Me:GetHpPercent())<= MyHpPercent) then
ArcaneBarrier(); -- Arcane Barrier
end;
if (MyTarget~=nil) and not (MyTarget:GotBuff(DevilCurseID)) and (MyTarget:IsMonster()) and not (MyTarget:IsAlikeDeath()) and not (MyTarget:IsPlayer()) then
UseSkill(MassDevilCurseSkillID, MyTarget);
end;
if (MyTarget~=nil) and (MyTarget:GotBuff(DestructionSkillID)) and (MyTarget:IsMonster()) and not (MyTarget:IsAlikeDeath()) and not (MyTarget:IsPlayer()) then
UseSkill(ElementalBurstID, MyTarget);
end;
UseSkill(DestructionSkillID, MyTarget);
UseSkill(ElementalBurstID, MyTarget);
UseSkill(StormSkillID, MyTarget);
UseSkill(BlastSkillID, MyTarget);
-- UseSkill(CrashSkillID, MyTarget);
-- UseSkill(SpikeSkillID, MyTarget);
end;
isHitting = false;
end;
nobSomeone = false;
item = "Spirit Ore";
function GetItemAmountByName(name)
local invList = GetInventory();
for item in invList.list do
if (item.Name == name) then
ShotsDisId = item.displayId;
return item.ItemNum;
end;
end;
return 0;
end;
function Noblesse(target)
nobSomeone = true;
if (GetSkills():FindById(1323):CanBeUsed()) and (GetItemAmountByName(item) > 5) then
Command("/target "..target:GetName());
Sleep(300);
UseSkillRaw(1323, false, false);
Sleep(1500);
ClearTargets();
CancelTarget(false);
CancelTarget(false);
CancelTarget(false);
end;
nobSomeone = false;
end;
function CheckNoblesseMyself()
local me = GetMe()
if not (me:GotBuff(1323)) and not (me:IsAlikeDeath()) then
Noblesse(me);
Sleep(500);
end;
end;
function CheckNoblesseParty()
local partyList = GetPartyList();
for user in partyList.list do
if not (user:GotBuff(1323)) and not (user:IsAlikeDeath()) then
Noblesse(user);
Sleep(500);
end;
end;
end;
function NoblessAllParty()
local Me = GetMe();
if not(Me:IsAlikeDeath()) and (GetItemAmountByName(item) > 5) then
CheckNoblesseMyself();
Sleep(500);
CheckNoblesseParty();
Sleep(500);
end;
end;
repeat
if not IsPaused() then
--if (nobSomeone) then
--Sleep(200);
--else
--NoblessAllParty();
--end;
--if (isHitting) then
--Sleep(500);
--else
--isHitting = true;
Main();
--end;
end;
until false;
(This post was last modified: 04-08-2015 16:39 PM by capucine.)
|
|