Jak można się dowiedzieć z newsów na Tibia.com i stronach fanowskich, dzisiaj ukarano (zbanowano/usunięto) 4959 kont graczy używających botów. Z reguły (95%~) były to postacie powyżej 100lv. Oczywiście pierwszym pytaniem jest „jak?, jak wykryto?”. Bany leciały bez względu na bota jakiego używaliśmy, a w newsie CipSoft pisze że skargi nie będą rozpatrywane, co znaczy że mają 100% pewności co do słuszności kary. Więc jak? Na forach jest mnóstwo spekulacji z najróżniejszymi teoriami, jedna jest związana z typowaniem graczy z bardzo długim czasem online i ich monitorowania. Faktem jest że boty zawsze biegają po tych samych waypointach, „rzucają” czar zawsze na tym samym poziomie many i ogólnie wykonują systematycznie te same funkcje. To oczywiście tylko teoria, bardziej prawdopodobne (gorzej z legalnością) jest zbieranie danych o programach w naszym systemie, jest to trochę opisane na forum blackd, tutaj. Jest tam też teoria o monitorowaniu naszych rozmów in game, i wyłapywaniu stringów z podejrzanymi słowami (np. blackd, ng), co jest bardziej prawdopodobne (dlatego lepiej nie rozmawiać o botach podczas gry). CipSoft zapowiada w newsie że to nie ostatni raz i że w wielu przypadkach „dowody są dalej zbierane”. Tak więc tytuł newsa w odniesieniu do botterów jest jak najbardziej trafny.
Zastanawiałem się co w takim razie ze ScriptBotem, przecież skoro Cipy mają haka to raczej powodzenia dużego nie będzie miał. Jednak wszystko zależy od prawdziwości przedstawionej wyżej teorii. W końcu bieganie bardzo losowo po terenie, spalanie many na losowym poziomi itp. to żaden problem =). Jak dotąd jest już sprawny cavebot (chodzenie), leczenie/manasowanie, muszę popracować nad chodzeniem po piętrach (nie wiem czemu ale jak próbuję znaleźć schody program rzuca wyjątkiem), lootowaniem, atakowaniem (nie wiem za bardzo jak to rozwiązać, za pomocą tablicy z nazwami potworów, czy po prostu umożliwić oskryptowanie eventu gdy coś nowego na battle się pojawi) i kilkoma innymi rzeczami. Jak to skończę to udostępnię betę. I na zachętę przykładowy kodzik
return {x = getX(), y = getY(), z = getZ()}
end
waypoints = {{x = 35863, y = 5543, z = 7,},
{x = 35853, y = 5548, z = 7,},
{x = 35843, y = 5562, z = 7,},
{x = 35863, y = 5534, z = 7,}}
if i==nil then i = 1 end
if mana==nil then hp = 90 end
function onThink()
if getPos() == waypoints[i] then
i = i+1
if i > #waypoints then
i = 1
end
else
doWalk(waypoints[i])
end
if getMyManaPercent() > mana and canSpell() then
doSay("Exura")
mana = math.random(50,100)
end
end
Skrypt z komentarzami objaśniającymi co jest co tutaj: http://www.nopaste.pl/9bo

Chmmm… W pierwszej zajawce tego bota skryptowego funkcja była „sayMessage(„Exura”)” a tu”doSay(„Exura”)” Nie wiem czy coś to zmienia, ale zawsze coś;]
Zmieniać zmienia, funkcja jest krótsza i dzięki przedrostkowi „do” można zachować zwięzłość nazw (doSay, doWalk, doUse, getPos, getX, getMana, onAttack itp) :)