Прошу помочь разобраться с ботом для русской версии. (колдун) Что нужно поменять? https://www.thebuddyforum.com/arche...206-ffm-combatroutine-requiem-sorrowsong.html Заранее спасибо
Нужно поменять название спеллов, с английского на русский пример --> "Insulating Lens" на "Магический щит", и так все используемые спеллы.
У меня другая просьба, русскоязычные кодеры помогите переделать скрипт мининга под русскую версию... Code: using System; using System.Drawing; using System.Threading; using System.Collections.Generic; using System.Linq; using ArcheBuddy.Bot.Classes; using System.Windows.Forms; using System.Threading.Tasks; using System.Net; using System.IO; using System.Text; using System.ComponentModel; namespace DefaultNameSpace{ public class DefaultClass : Core { public static string GetPluginAuthor() { return "Galio"; } public static string GetPluginVersion() { return "1.0.0.0"; } public static string GetPluginDescription() { return "Simple Miner"; } private Gps gps; //Call on plugin start public void PluginRun() { int yes = 1; int Continue = 1; gps = new Gps(this); gps.LoadDataBase(Application.StartupPath + "\\Plugins\\Mining\\mine.db3"); gps.GpsMove("Mine"); List<Creature> mobs = getAggroMobs(); RoundZone z = new RoundZone(me.X,me.Y,40); while(Continue ==1) { while(yes < 100) { if(getAggroMobs().Count > 0) { Log("NOOOO"); gps.GpsMove("Safe"); Thread.Sleep(800); PluginRun(); } if(hpp() < 80) { Log("NOO"); gps.GpsMove("Safe"); Thread.Sleep(800); PluginRun(); } CollectItemsInZone("Fortuna Vein","Mining: Spend up to 20 Labor to extract ore.",z); CollectItemsInZone("Iron Vein","Mining: Spend up to 10 Labor to extract ore.",z); yes++; if(yes >= 100) { gps.GpsMove("Safe"); Thread.Sleep(700); yes = 1; } } } } //Call on plugin stop public void PluginStop() { } } } Меняю "Iron Vein" на "Залежи железа" и бот ни как не реагирует, хотя при замене названий боевых скиллов всё норм пашут. Может как нибудь по id можно в скрипте указать?
Determination Blessing Mana Force Mana Stars Hell Spear Summon Crows Crippling Mire Absorb Lifeforce Эти не смог перевести(либо я слепой) Поможете?)
Еще при компиляции ошибку выдает .cs(721,1) : error CS1022: Type or namespace definition, or end-of-file expected Кто знает как исправить Code: using System; using System.Drawing; using System.Windows.Forms; using System.Threading; using System.Collections.Generic; using System.Linq; using ArcheBuddy.Bot.Classes; namespace Follower { public class LazyRaider : Core { private string lensBuff, resurgenceBuff, hummingbirdDittyBuff, arazebsBoonBuff, mirrorLightBuff, criticalDiscordBuff; private bool debug = true; private bool manaForce, insulatingLens, magicCircle, manaStars, hellSpear, rhythmicRenewal, summonCrows, absorbLifeforce, dissonant, startlingStrain, cripplingMire, freezingArrow, flamebolt, mirrorLight, resurgence, hummingbirdDitty, arazebsBoon, ferventHealing, criticalDiscord; public static string GetPluginAuthor() { return "Totalschaden"; } public static string GetPluginVersion() { return "0.0.1"; } public static string GetPluginDescription() { return "FFM CombatRoutine for ProGrinder Plugin"; } public void UseSkillAndWait(string skillName, bool selfTarget = false) { while (me.isCasting || me.isGlobalCooldown) Thread.Sleep(100); if (!UseSkill(skillName, true, selfTarget)) { if (me.target != null && GetLastError() == LastError.NoLineOfSight) { if (dist(me.target) <= 5) ComeTo(me.target, 2); else if (dist(me.target) <= 10) ComeTo(me.target, 3); else if (dist(me.target) < 20) ComeTo(me.target, 8); else ComeTo(me.target, 8); } } while (me.isCasting || me.isGlobalCooldown) Thread.Sleep(100); } public void GetLensBuffRank () { if (debug) Log("Try to Find Lens Buff Rank 1"); if (getBuff("Insulating Lens (Rank 1)") != null) { if (debug) Log("Found Lens Buff Rank 1"); lensBuff = "Insulating Lens (Rank 1)"; return; } if (debug) Log("Try to Find Lens Buff Rank 2"); if (getBuff("Insulating Lens (Rank 2)") != null) { if (debug) Log("Found Lens Buff Rank 2"); lensBuff = "Insulating Lens (Rank 2)"; return; } if (debug) Log("Try to Find Lens Buff Rank 3"); if (getBuff("Insulating Lens (Rank 3)") != null) { if (debug) Log("Found Lens Buff Rank 3"); lensBuff = "Insulating Lens (Rank 3)"; return; } if (debug) Log("Try to Find Lens Buff Rank 4"); if (getBuff("Insulating Lens (Rank 4)") != null) { if (debug) Log("Found Lens Buff Rank 4"); lensBuff = "Insulating Lens (Rank 4)"; return; } if (debug) Log("Try to Find Lens Buff Rank 5"); if (getBuff("Insulating Lens (Rank 5)") != null) { if (debug) Log("Found Lens Buff Rank 5"); lensBuff = "Insulating Lens (Rank 5)"; return; } if (debug) Log("Try to Find Lens Buff Rank 6"); if (getBuff("Insulating Lens (Rank 6)") != null) { if (debug) Log("Found Lens Buff Rank 6"); lensBuff = "Insulating Lens (Rank 6)"; return; } if (debug) Log("Try to Find Lens Buff Rank 7"); if (getBuff("Insulating Lens (Rank 7)") != null) { if (debug) Log("Found Lens Buff Rank 7"); lensBuff = "Insulating Lens (Rank 7)"; return; } if (debug) Log("Try to Find Lens Buff Rank 8"); if (getBuff("Insulating Lens (Rank 8)") != null) { if (debug) Log("Found Lens Buff Rank 8"); lensBuff = "Insulating Lens (Rank 8)"; return; } if (debug) Log("Try to Find Lens Buff Rank 9"); if (getBuff("Insulating Lens (Rank 9)") != null) { if (debug) Log("Found Lens Buff Rank 9"); lensBuff = "Insulating Lens (Rank 9)"; return; } if (debug) Log("Try to Find Lens Buff Rank 10"); if (getBuff("Insulating Lens (Rank 10)") != null) { if (debug) Log("Found Lens Buff Rank 10"); lensBuff = "Insulating Lens (Rank 10)"; return; } } public void GetResurgenceBuff () { if (debug) Log("Try to Find Resurgence Buff Rank 1"); if (getBuff("Resurgence") != null) { if (debug) Log("Found Resurgence Buff Rank 1"); resurgenceBuff = "Resurgence"; return; } if (debug) Log("Try to Find Resurgence Buff Rank 2"); if (getBuff("Resurgence (Rank 2)") != null) { if (debug) Log("Found Resurgence Buff Rank 2"); resurgenceBuff = "Resurgence (Rank 2)"; return; } if (debug) Log("Try to Find Resurgence Buff Rank 3"); if (getBuff("Resurgence (Rank 3)") != null) { if (debug) Log("Found Resurgence Buff Rank 3"); resurgenceBuff = "Resurgence (Rank 3)"; return; } if (debug) Log("Try to Find Resurgence Buff Rank 4"); if (getBuff("Resurgence (Rank 4)") != null) { if (debug) Log("Found Resurgence Buff Rank 4"); resurgenceBuff = "Resurgence (Rank 4)"; return; } if (debug) Log("Try to Find Resurgence Buff Rank 5"); if (getBuff("Resurgence (Rank 5)") != null) { if (debug) Log("Found Resurgence Buff Rank 5"); resurgenceBuff = "Resurgence (Rank 5)"; return; } if (debug) Log("Try to Find Resurgence Buff Rank 6"); if (getBuff("Resurgence (Rank 6)") != null) { if (debug) Log("Found Resurgence Buff Rank 6"); resurgenceBuff = "Resurgence (Rank 6)"; return; } if (debug) Log("Try to Find Resurgence Buff Rank 7"); if (getBuff("Resurgence (Rank 7)") != null) { if (debug) Log("Found Resurgence Buff Rank 7"); resurgenceBuff = "Resurgence (Rank 7)"; return; } if (debug) Log("Try to Find Resurgence Buff Rank 8"); if (getBuff("Resurgence (Rank 8)") != null) { if (debug) Log("Found Resurgence Buff Rank 8"); resurgenceBuff = "Resurgence (Rank 8)"; return; } if (debug) Log("Try to Find Resurgence Buff Rank 9"); if (getBuff("Resurgence (Rank 9)") != null) { if (debug) Log("Found Resurgence Buff Rank 9"); resurgenceBuff = "Resurgence (Rank 9)"; return; } if (debug) Log("Try to Find Resurgence Buff Rank 10"); if (getBuff("Resurgence (Rank 10)") != null) { if (debug) Log("Found Resurgence Buff Rank 10"); resurgenceBuff = "Resurgence (Rank 10)"; return; } } public void GetHummingbirdDittyBuff () { if (debug) Log("Try to Find Hummingbird Ditty Buff Rank 1"); if (getBuff("Hummingbird Ditty (Rank 1)") != null) { if (debug) Log("Found Hummingbird Ditty Buff Rank 1"); hummingbirdDittyBuff = "Hummingbird Ditty (Rank 1)"; return; } if (debug) Log("Try to Find Hummingbird Ditty Buff Rank 2"); if (getBuff("Hummingbird Ditty (Rank 2)") != null) { if (debug) Log("Found Hummingbird Ditty Buff Rank 2"); hummingbirdDittyBuff = "Hummingbird Ditty (Rank 2)"; return; } if (debug) Log("Try to Find Hummingbird Ditty Buff Rank 3"); if (getBuff("Hummingbird Ditty (Rank 3)") != null) { if (debug) Log("Found Hummingbird Ditty Buff Rank 3"); hummingbirdDittyBuff = "Hummingbird Ditty (Rank 3)"; return; } if (debug) Log("Try to Find Hummingbird Ditty Buff Rank 4"); if (getBuff("Hummingbird Ditty (Rank 4)") != null) { if (debug) Log("Found Hummingbird Ditty Buff Rank 4"); hummingbirdDittyBuff = "Hummingbird Ditty (Rank 4)"; return; } if (debug) Log("Try to Find Hummingbird Ditty Buff Rank 5"); if (getBuff("Hummingbird Ditty (Rank 5)") != null) { if (debug) Log("Found Hummingbird Ditty Buff Rank 5"); hummingbirdDittyBuff = "Hummingbird Ditty (Rank 5)"; return; } if (debug) Log("Try to Find Hummingbird Ditty Buff Rank 6"); if (getBuff("Hummingbird Ditty (Rank 6)") != null) { if (debug) Log("Found Hummingbird Ditty Buff Rank 6"); hummingbirdDittyBuff = "Hummingbird Ditty (Rank 6)"; return; } if (debug) Log("Try to Find Hummingbird Ditty Buff Rank 7"); if (getBuff("Hummingbird Ditty (Rank 7)") != null) { if (debug) Log("Found Hummingbird Ditty Buff Rank 7"); hummingbirdDittyBuff = "Hummingbird Ditty (Rank 7)"; return; } if (debug) Log("Try to Find Hummingbird Ditty Buff Rank 8"); if (getBuff("Hummingbird Ditty (Rank 8)") != null) { if (debug) Log("Found Hummingbird Ditty Buff Rank 8"); hummingbirdDittyBuff = "Hummingbird Ditty (Rank 8)"; return; } if (debug) Log("Try to Find Hummingbird Ditty Buff Rank 9"); if (getBuff("Hummingbird Ditty (Rank 9)") != null) { if (debug) Log("Found Hummingbird Ditty Buff Rank 9"); hummingbirdDittyBuff = "Hummingbird Ditty (Rank 9)"; return; } if (debug) Log("Try to Find Hummingbird Ditty Buff Rank 10"); if (getBuff("Hummingbird Ditty (Rank 10)") != null) { if (debug) Log("Found Hummingbird Ditty Buff Rank 1"); hummingbirdDittyBuff = "Hummingbird Ditty (Rank 10)"; return; } } public void GetArazebsBoonBuff () { if (debug) Log("Try to Find Arazeb's Boon Buff Rank 1"); if (getBuff("Arazeb's Boon (Rank 1)") != null) { if (debug) Log("Found Arazeb's Boon Buff Rank 1"); arazebsBoonBuff = "Arazeb's Boon (Rank 1)"; return; } if (debug) Log("Try to Find Arazeb's Boon Buff Rank 2"); if (getBuff("Arazeb's Boon (Rank 2)") != null) { if (debug) Log("Found Arazeb's Boon Buff Rank 2"); arazebsBoonBuff = "Arazeb's Boon (Rank 2)"; return; } if (debug) Log("Try to Find Arazeb's Boon Buff Rank 3"); if (getBuff("Arazeb's Boon (Rank 3)") != null) { if (debug) Log("Found Arazeb's Boon Buff Rank 3"); arazebsBoonBuff = "Arazeb's Boon (Rank 3)"; return; } if (debug) Log("Try to Find Arazeb's Boon Buff Rank 4"); if (getBuff("Arazeb's Boon (Rank 4)") != null) { if (debug) Log("Found Arazeb's Boon Buff Rank 4"); arazebsBoonBuff = "Arazeb's Boon (Rank 4)"; return; } if (debug) Log("Try to Find Arazeb's Boon Buff Rank 5"); if (getBuff("Arazeb's Boon (Rank 5)") != null) { if (debug) Log("Found Arazeb's Boon Buff Rank 5"); arazebsBoonBuff = "Arazeb's Boon (Rank 5)"; return; } if (debug) Log("Try to Find Arazeb's Boon Buff Rank 6"); if (getBuff("Arazeb's Boon (Rank 6)") != null) { if (debug) Log("Found Arazeb's Boon Buff Rank 6"); arazebsBoonBuff = "Arazeb's Boon (Rank 6)"; return; } if (debug) Log("Try to Find Arazeb's Boon Buff Rank 7"); if (getBuff("Arazeb's Boon (Rank 7)") != null) { if (debug) Log("Found Arazeb's Boon Buff Rank 7"); arazebsBoonBuff = "Arazeb's Boon (Rank 7)"; return; } if (debug) Log("Try to Find Arazeb's Boon Buff Rank 8"); if (getBuff("Arazeb's Boon (Rank 8)") != null) { if (debug) Log("Found Arazeb's Boon Buff Rank 8"); arazebsBoonBuff = "Arazeb's Boon (Rank 8)"; return; } if (debug) Log("Try to Find Arazeb's Boon Buff Rank 9"); if (getBuff("Arazeb's Boon (Rank 9)") != null) { if (debug) Log("Found Arazeb's Boon Buff Rank 9"); arazebsBoonBuff = "Arazeb's Boon (Rank 9)"; return; } if (debug) Log("Try to Find Arazeb's Boon Buff Rank 10"); if (getBuff("Arazeb's Boon (Rank 10)") != null) { if (debug) Log("Found Arazeb's Boon Buff Rank 10"); arazebsBoonBuff = "Arazeb's Boon (Rank 10)"; return; } } public void GetMirrorLightBuff() { if (debug) Log("Try to Find Mirror Light Buff"); if (getBuff("Blessing") != null) { if (debug) Log("Found Mirror Light"); mirrorLightBuff = "Blessing"; return; } } public void GetCriticalDiscordBuff () { if (debug) Log("Try to Find Critical Discord Buff"); if (getBuff("Determination") != null) { if (debug) Log("Found Critical Discord"); criticalDiscordBuff = "Determination)"; return; } } public void GetSpells () { if (getSkill("Mana Force") != null) manaForce = true; if (getSkill("Insulating Lens") != null) insulatingLens = true; if (getSkill("Magic Circle") != null) magicCircle = true; if (getSkill("Mana Stars") != null) manaStars = true; if (getSkill("Hell Spear") != null) hellSpear = true; if (getSkill("Rhythmic Renewal") != null) rhythmicRenewal = true; if (getSkill("Summon Crows") != null) summonCrows = true; if (getSkill("Absorb Lifeforce") != null) absorbLifeforce = true; if (getSkill("Dissonant") != null) dissonant = true; if (getSkill("Startling Strain") != null) startlingStrain = true; if (getSkill("Crippling Mire") != null) cripplingMire = true; if (getSkill("Freezing Arrow") != null) freezingArrow = true; if (getSkill("Flamebolt") != null) flamebolt = true; if (getSkill("Mirror Light") != null) mirrorLight = true; if (getSkill("Resurgence") != null) resurgence = true; if (getSkill("Hummingbird Ditty") != null) hummingbirdDitty = true; if (getSkill("Arazeb's Boon") != null) arazebsBoon = true; if (getSkill("Fervent Healing") != null) ferventHealing = true; if (getSkill("Critical Discord") != null) criticalDiscord = true; } public void PluginRun() { GetSpells(); while (true) { while (me.target == null || !isAlive(me.target) ) { if (resurgence && skillCooldown("Resurgence") == 0 && hpp () <= 95 && getBuff(resurgenceBuff) == null) { if (debug) Log("Casting Resurgence"); UseSkillAndWait("Resurgence", true); if (getBuff(resurgenceBuff) == null) GetResurgenceBuff(); } if (ferventHealing && skillCooldown("Fervent Healing") == 0 && hpp() <= 80) { if (debug) Log ("Casting Fervent Healing 1/5"); UseSkillAndWait("Fervent Healing"); for (int i = 0; i < 3; i++) { if (hpp () <= 96) { if (debug) Log ("Casting Fervent Healing " + (i+1) + "/5"); UseSkillAndWait("Fervent Healing"); } else break; } } Thread.Sleep(250); } while (me.target != null && isAttackable(me.target)) { // Spell Party Stating here. if (insulatingLens && skillCooldown("Insulating Lens") == 0 && getBuff(lensBuff) == null) { if (debug) Log("Casting Insulating Lens"); UseSkillAndWait("Insulating Lens", true); if (getBuff(lensBuff) == null) GetLensBuffRank(); } if (hummingbirdDitty && getBuff(hummingbirdDittyBuff) == null) { if (debug) Log("Casting Hummingbird Ditty"); UseSkillAndWait("Hummingbird Ditty", true); if (getBuff(hummingbirdDittyBuff) == null) GetHummingbirdDittyBuff(); } if (arazebsBoon && getBuff(arazebsBoonBuff) == null) { if (debug) Log("Casting Arazeb's Boon"); UseSkillAndWait("Arazeb's Boon", true); if (getBuff(arazebsBoonBuff) == null) GetArazebsBoonBuff(); } if (mirrorLight && skillCooldown("Mirror Light") == 0 && getBuff(mirrorLightBuff) == null) { if (debug) Log("Casting Mirror Light"); UseSkillAndWait("Mirror Light", true); if (getBuff(mirrorLightBuff) == null) GetMirrorLightBuff(); } if (resurgence && skillCooldown("Resurgence") == 0 && hpp () <= 95 && getBuff(resurgenceBuff) == null) { if (debug) Log("Casting Resurgence"); UseSkillAndWait("Resurgence", true); if (getBuff(resurgenceBuff) == null) GetResurgenceBuff(); } if (ferventHealing && skillCooldown("Fervent Healing") == 0 && hpp() <= 80) { if (debug) Log ("Casting Fervent Healing 1/5"); UseSkillAndWait("Fervent Healing"); for (int i = 0; i < 3; i++) { if (hpp () <= 96) { if (debug) Log ("Casting Fervent Healing " + (i+1) + "/5"); UseSkillAndWait("Fervent Healing"); } else break; } } if (magicCircle && skillCooldown("Magic Circle") == 0 && dist(me.target) <= 25 && hpp(me.target) == 100) { if (debug) Log("Casting Magic Circle"); UseSkillAndWait("Magic Circle"); } if (mirrorLight && skillCooldown("Mirror Light") == 0 && dist(me.target) <= 25) { if (debug) Log("Casting Mirror Light"); UseSkillAndWait("Mirror Light"); break; } if (criticalDiscord && dist(me.target) <= 20) { if (debug) Log("Casting Critical Discord"); UseSkillAndWait("Critical Discord"); /* if (getBuff(criticalDiscordBuff) == null) // Bugged Buffname, need ID..later GetCriticalDiscordBuff();*/ } if (manaStars && skillCooldown("Mana Stars") == 0 && hpp (me.target) <= 7 && dist(me.target) <= 20) { if (debug) Log("Casting Mana Stars"); UseSkillAndWait("Mana Stars"); break; } if (manaForce && skillCooldown("Mana Force") == 0 && dist(me.target) <= 7 && hpp (me.target) >= 15) { if (debug) Log("Casting Mana Force"); UseSkillAndWait("Mana Force"); break; } if (rhythmicRenewal && skillCooldown("Rhythmic Renewal") == 0 && hpp (me) < 40) { if (debug) Log("Casting Rhytmic Rebewal"); UseSkillAndWait("Rhythmic Renewal"); break; } if (hellSpear && dist(me.target) <= 5 && skillCooldown("Hell Spear") == 0 && hpp(me.target) >= 35) { if (debug) Log("Casting Hell Spear"); UseSkillAndWait("Hell Spear"); break; } if (summonCrows && dist(me.target) <= 5 && skillCooldown("Summon Crows") == 0 && getAggroMobs().Count >= 2) { if (debug) Log("Casting Summon Crows"); UseSkillAndWait("Summon Crows"); break; } if (absorbLifeforce && skillCooldown("Absorb Lifeforce") == 0 && hpp (me) <= 85 && dist(me.target) <= 20 && ((startlingStrain && skillCooldown("Startling Strain") >= 0) || !startlingStrain) ) { if (debug) Log("Casting Absorb LifeForce"); UseSkillAndWait("Absorb Lifeforce"); break; } if (dissonant && skillCooldown("Dissonant") == 0 && skillCooldown("Startling Strain") >= 18 && dist(me.target) <= 20) { if (debug) Log("Casting Dissonant"); UseSkillAndWait("Dissonant"); break; } if (startlingStrain && skillCooldown("Startling Strain") == 0 && dist(me.target) <= 20) { if (debug) Log("Casting Starling Strain"); UseSkillAndWait("Startling Strain"); if(absorbLifeforce && skillCooldown("Absorb Lifeforce") == 0 && hpp (me) <= 85) { if (debug) Log("Casting Absorb LifeForce (Combo)"); UseSkillAndWait("Absorb Lifeforce"); } else { for (int i = 0; i < 5; i++) { if (debug) Log("Casting Flamebold (Waiting for Stun end)"); if (flamebolt) UseSkillAndWait("Flamebolt"); } } if (debug) Log("Casting Dissonant (Combo!)"); if (dissonant) UseSkillAndWait("Dissonant"); break; } if (cripplingMire && skillCooldown("Crippling Mire") == 0 && dist(me.target) <= 20 && dist (me.target) >=10) { if (debug) Log("Casting Crippling Mire"); UseSkillAndWait("Crippling Mire"); break; } if (freezingArrow && skillCooldown("Freezing Arrow") == 0) { if (debug) Log("Casting Freezing Arrow"); UseSkillAndWait("Freezing Arrow"); for (int i = 0; i < 2; i++) { if (debug) Log("Casting Flamebolt (Combo)"); UseSkillAndWait("Flamebolt"); } break; } if (flamebolt && skillCooldown("Flamebolt") == 0) { for (int i = 0; i < 2; i++) { if (debug) Log("Casting Flamebolt, nothing else ready :("); UseSkillAndWait("Flamebolt"); } break; } Thread.Sleep(100); } Thread.Sleep(250); } } } } Заранее спасибо
Так, этот скрипт для двух билдов: Requiem - Шаман, Sorrowsong - Медиум, так что колдуну он подойдет только частично. Первые два скилла ненашел, остальные из Мистицизма: Mana Force - Поглощение энергии, Mana Stars - Клинки смерти, Hell Spear - Пронзающие копья, Summon Crows - Призыв воронов, Crippling Mire - Оковы смерти, Absorb Lifeforce - Кража жизни.
Насчет ошибки, хз чё у тебя, я нормально в Редакторе плагинов скомпилировал, может ты уже его редактировал?
Не получается, копирую с темы в шапке( cs(11,18) : error CS0101: The namespace 'Follower' already contains a definition for 'LazyRaider'
Code: if((mpp() > 40 && hpp() > 70) || getAggroMobs().Count > 0) { bestMob = GetBestNearestMob(zone); } Подскажите как добавить если мп меньше 40 чтобы юзал скил Музицирование пока мп не 100
Вот нашел реген маны и хп... PHP: while ((mpp() < 40 && hpp() < 50) && peace && isAlive() && (skillCooldown(14900 /*"Play Instrument"*/) == 0)) { if (skillCooldown(14900 /*"Play Instrument"*/) == 0) UseSkill(14900 /*"Play Instrument"*/, true); while ((me.isGlobalCooldown || me.isCasting) && peace) mySleep(300, 500); mySleep(300, 500); }
Не работает стоит на месте ждет когда мп > 40 тоесть мп = 41 пару раз ударит и опять стоит Вот мой скрипт может тут есть, просто я нуб Code: using System; using System.Drawing; using System.Diagnostics; using System.Windows.Forms; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using System.Linq; using ArcheBuddy.Bot.Classes; namespace GuttedSpace { public class GuttedGrinder : Core { public int deathcount; internal Main mainForm { get; set; } private Thread formThread; private Thread paintThread; public int mobsKilled = 0; public long coinPursesStart = 0; public long coinPursesCurrent = 0; Stopwatch stopwatch = new Stopwatch(); long runTimeMilli; private volatile bool _shouldStop; public static string GetPluginAuthor () { return "SystemShock"; } public static string GetPluginVersion () { return "Evaluation"; } public static string GetPluginDescription () { return "TheGrinder is a mob grinder developed by SystemShock, more information for about the project and proper installation guidelines can be found on the forum"; } public void gpsPreMove (GpsPoint point) { /* * *We do nothing other than debugging in here at the moment, in the future we'll add combat checks so it can kill anything hostile it meats on the path * */ Log("Moving"); } public Creature GetBestNearestMob (Zone zone) { /* * *Simple method stole from Out's Example Grinder with a few minor tweaks *Locates a mob, checks to make sure it's within our zone and that it either isn't tagged, or is our tag *And then declares it as the nearest valid mob for the rest of the script * */ Creature mob = null; double dist = 999999;//How is distance treated? Nobody knows, oh great Out, are you looking within 999999 meters? or 9999999 pixels? I'd love to know... Hear me oh Great One foreach(var obj in getCreatures()) { if(obj.type == BotTypes.Npc && isAttackable(obj) && (obj.firstHitter == null || obj.firstHitter == me) && isAlive(obj) && me.dist(obj) < dist && zone.ObjInZone(obj) && (hpp(obj) == 100 || obj.aggroTarget == me)) { mob = obj; dist = me.dist(obj); } } return mob; } public void CancelAttacksOnAnothersMobs () { /* * *Again stolen from Out's example grinder *Dude wheres my car, because this one is someone elses * */ while(true) { if(me.isCasting && me.target != null && me.target.firstHitter != null && me.target.firstHitter != me) CancelSkill(); Thread.Sleep(100); } } public void UseSkillAndWait (string skillName, bool selfTarget = false) { /* * *I'm noticing a pattern here, another method stolen from Out *( seriously why are these not just part of the .dll and allow us to override them ¯\_(ツ)_/¯ ) * */ while(me.isCasting || me.isGlobalCooldown) Thread.Sleep(50); if(!UseSkill(skillName, true, selfTarget)) { if(me.target != null && GetLastError() == LastError.NoLineOfSight) { if(dist(me.target) <= 5) ComeTo(me.target, 2); else if(dist(me.target) <= 10) ComeTo(me.target, 3); else if(dist(me.target) < 20) ComeTo(me.target, 8); else ComeTo(me.target, 8); } } while(me.isCasting || me.isGlobalCooldown) Thread.Sleep(50); } private void RunForm () { /* * *Lets open the paint lads * */ try { Application.Run(mainForm); } catch(Exception error) { Log(error.ToString()); try { if(mainForm != null) { mainForm.Invoke(new Action(() => mainForm.Close())); mainForm.Invoke(new Action(() => mainForm.Dispose())); } } catch { } } } public void deathWalk () { /* * *Pretty simple method, just reads your .db3 path file and walks it to the end-point which should be named "spawn" * */ Gps gps = new Gps(this); gps.LoadDataBase(Application.StartupPath + "\\plugins\\SystemGrinder\\TheGrinderPath.db3"); gps.onGpsPreMove += gpsPreMove; gps.GpsMove("spawn"); } public void checkBuffs () { if(buffTime("Magic Defense Boost") == 0 && skillCooldown("Purge") == 0) UseSkillAndWait("Purge", true); if(skillCooldown("Магический щит") == 0) UseSkillAndWait("Магический щит", true); if(buffTime("Suspected User") > 0){ Log("SOME FUCKER JUST REPORTED US, I'M GOING TO RUN AWAY NOW"); UseSkill("Recall"); Thread.Sleep(30000); StopPlugin("SystemGutted\\SystemGutted.dll"); } } public void updatePaint () { /* * *Some simple math, timers and set methods to get the values for, and update the paint. * */ while(!_shouldStop) { if((stopwatch.ElapsedMilliseconds % 1000) == 0) { runTimeMilli = (stopwatch.ElapsedMilliseconds / 1000); mainForm.setRunTime(runTimeMilli); mainForm.setMobsKilled(mobsKilled); mainForm.setPursesLooted(coinPursesCurrent - coinPursesStart); mainForm.setHourly((3600 / runTimeMilli) * (coinPursesCurrent - coinPursesStart)); } } } public void requestStop () { _shouldStop = true; } public void prepareForCombat () { /* * *Doing some last minute things before combat, which in a daggerspells case is..... casting magic circle * */ while(dist(me.target) >= 21) ComeTo(me.target, 17); if(skillCooldown("Магический круг") == 0 && dist(me.target) <= 20) { UseSkillAndWait("Магический круг"); Thread.Sleep(100); } } public void PluginRun () { Log("Welcome to theGRINDER"); /* * *Initializing variables for the paint * */ stopwatch.Start(); coinPursesStart = itemCount(29207); coinPursesCurrent = itemCount(29207); /* * *Drawing the paint * */ mainForm = new Main(); formThread = new Thread(RunForm); formThread.SetApartmentState(ApartmentState.STA); formThread.Start(); /* * *Update the paint * */ paintThread = new Thread(updatePaint); paintThread.SetApartmentState(ApartmentState.STA); paintThread.Start(); /* * *Make a new task to avoid attacking tagged mobs *And make a zone for us to look for mobs in * */ new Task(() => { CancelAttacksOnAnothersMobs(); }).Start(); RoundZone zone = new RoundZone(me.X, me.Y, 100); /* * *And now for something completely different * */ while(true) { // updatePaint(); if(me.isAlive()) { /* * *Does my hair look okay? * */ checkBuffs(); Creature bestMob = null; /* * *Well we're alive.... but are we alive 'enough'? * */ if((mpp() > 40 && hpp() > 70) || getAggroMobs().Count > 0) { bestMob = GetBestNearestMob(zone); } /* * *Just because we've found the bestmob doesn't mean you should marry it * */ if(bestMob != null) { try { while(bestMob != null && isAlive(bestMob) && isExists(bestMob) && isAlive()) { /* * *Hey here is an idea, how about we don't help random people kill mobs * */ if(bestMob.aggroTarget != me && bestMob.firstHitter != null && bestMob.firstHitter != me) { bestMob = null; break; } /* * *Why is this random mob attacking me? *No idea but I guess we should kill it * */ if(bestMob.firstHitter == null && getAggroMobs().Count > 0 && bestMob != GetBestNearestMob(zone)) bestMob = GetBestNearestMob(zone); /* * *If it's the best mob you should problably target it * */ if(me.target != bestMob) SetTarget(bestMob); /* * *It helps if you look at it Dave * */ if(angle(bestMob, me) > 45 && angle(bestMob, me) < 315) TurnDirectly(bestMob); /* * *AND MY AXE * */ prepareForCombat(); /* * *If below 33% Hp, then feign death * */ if(hpp() < 33 && skillCooldown("Имитация смерти") == 0) { Thread.Sleep(500); CancelTarget(); UseSkill("Имитация смерти"); Thread.Sleep(15000); } /* * *If below 75% hp, Enervate is off cooldown, Earthern Grip is off cooldown - then Healing Combo * */ if((hpp() < 75) && (skillCooldown("Сокрушение разума") == 0) && (skillCooldown("Хватка земли") == 0)) { Thread.Sleep(1000); UseSkillAndWait("Сокрушение разума"); Thread.Sleep(250); UseSkillAndWait("Хватка земли"); Thread.Sleep(50); } /* * *Well we've got enough health I guess we should try make some mana back * */ if((mpp() < 75) && (skillCooldown("Сокрушение разума") == 0)) UseSkillAndWait("Сокрушение разума"); /* * *Well now I guess I'll just throw fucking fireballs * */ for(int i = 0; i < 2; i++) UseSkillAndWait("Сгустки пламени"); /* * *And.... sleep * */ Thread.Sleep(10); } /* * *Is it dead? Wow I managed to kill something * */ if(bestMob != null && !isAlive(bestMob) && isExists(bestMob) && bestMob.type == BotTypes.Npc) { mobsKilled++; } /* * *Its DEAD and it has loot? SHWWEEETTT * */ while(bestMob != null && !isAlive(bestMob) && isExists(bestMob) && bestMob.type == BotTypes.Npc && ((Npc)bestMob).dropAvailable && isAlive()) { if(me.dist(bestMob) > 3) ComeTo(bestMob, 1); PickupAllDrop(bestMob); if(itemCount(29207) > (coinPursesCurrent)) { coinPursesCurrent++; } } } catch { } } } else { /* * *Well if I'm not alive I should problably revive and run back * */ while(!me.isAlive()) { ResToRespoint(); } Random rnd = new Random(); Log("Oh dear it appears we died"); Thread.Sleep(rnd.Next(60000, 180000)); Log("Well we can't hang around here all day, lets get moving shall we?"); MoveForward(true); Thread.Sleep(1000); MoveForward(false); Gps gps = new Gps(this); gps.LoadDataBase(Application.StartupPath + "\\plugins\\SystemGutted\\TheGrinder.db3"); gps.GpsMove("spawn"); } Thread.Sleep(10); } } public void PluginStop () { try { if(mainForm != null) { mainForm.Invoke(new Action(() => mainForm.Close())); mainForm.Invoke(new Action(() => mainForm.Dispose())); } requestStop(); } catch { } Log("Thank you for using TheGrinder version " + GetPluginVersion() + " by " + GetPluginAuthor()); } } }
народ подскажите я ключ безлимитный купил для АА я только 1 аккаунт могу использовать на одном пк или в нескольких окнах могу запустить? 1 сессия - пожизненно Поддержка pve/pvp Поддержка собирания и фарма Поддержка нескольких клиентов игры----?не могу даже 2ой аккаунт запустить в чем подвох?