Rus. server

02/20/2010 14:44 muzhig#1471
Quote:
muzhig тормозит скорее всего из-за того что неправильно разбиваете путь на короткие
разбиваю я правильно, для этого гением не надо быть.)))
Тормозит он, и правда, потому что таков алгоритм движения. Но вот когда в игре жмешь собрать ресурс- он не тормозит. подлетает и начинает собирать без плавной остановки.


нашел не очень старый пост:
Quote:
вот нашол кто в своей пати
[ba]+20+694+14+i*4
+0c id_pers,
+10 lvl,
+1c hp,
+20 mp,
+24 maxhp,
+28maxmp,
+34,+38,+3c координаты (флоат).
только имя не могу найти. вопрос по игрокам в локе тоже пока открыт
Мне как раз нужны игроки из пати. Вопрос: где взять кол-во игроков в пати? Вопрос с именем разрешился?

Quote:
решил просто -заюзал инжект, чтобы банки прямо с инвентаря лопал. орать в чат перестал.(но в окно действий все-равно орет)
Я решил иначе: сделал класс-контейнер поименованных таймеров. Питье банок например проверяет когда последний раз банки пили. если прошло 10 секунд, то можно пить новую. на химию минута кажись.
К тому же эти таймеры могут ваще пригодиться потом для разных целей.
02/20/2010 15:29 gen-ostr#1472
Quote:
Мне как раз нужны игроки из пати. Вопрос: где взять кол-во игроков в пати? Вопрос с именем разрешился?
[ba]+20+694+14+i*4если не 0, значит член пати. имени нету :(
Quote:
сделал класс-контейнер поименованных таймеров.
у меня в отдельном процессе проверка здоровья., но должна быть где то переменная по типу как у скилов время перезарядки. вот ее бы найти...
02/21/2010 22:04 Novohyd#1473
8 + 20 + 18 + i*4 + 4 + 5f4 + 0 имя игрока в локе
скорей всего .......5f4 + 0 для пати оконцовка тоже сработает. если нет - скан игроков в локе а имя определяем сравнением ид
ид в локе 8 + 20 + 18 + i*4 + 4 + 450
02/22/2010 01:58 dwar#1474
Quote:
Originally Posted by Novohyd View Post
скорей всего .......5f4 + 0 для пати оконцовка тоже сработает
размер структуры «party player» всего 68 байт, в ней нет указателя на имя игрока, только ид
02/22/2010 08:25 Novohyd#1475
Quote:
Originally Posted by dwar View Post
размер структуры «party player» всего 68 байт, в ней нет указателя на имя игрока, только ид
значит единственный вариант - сканить ид и имена в локе и по сопоставлению ид вычислять имя
02/22/2010 16:31 GrieVeR-13#1476
Quote:
Originally Posted by muzhig View Post
...
Кто знает как грамотно обрубить движение?
...
Может просто инжект MoveTo текущие x, y, z?)
Я так делаю. Останавливается сразу же.
02/22/2010 18:57 muzhig#1477
Quote:
Может просто инжект MoveTo текущие x, y, z?)
Я пробовал. Работает, но не всегда- иногда начинает тупить еще хуже, на месте кружить. Думаю, возможно как то, прописав ручники и Stay_action как Current_Action..но руки не доходят до экспериментов
02/22/2010 21:41 GrieVeR-13#1478
Несколько десятков страниц назад кем-то был описан способ, думаю вы помните, но именно через ручники. Не красиво.. Но вариант.
muzhig, странно, у меня ниразу еще не закружил. Если, конечно, в это время не атаковать или не юзать скилл. А еще, если тыкать постоянно на свою позицию чар ворочается на 180 xD
02/23/2010 15:12 rbhbkk#1479
Парни кто поможет? Опишу ситуацию: гм поставил тучу пб возле печек в гм городе. У вол хака есть баг: если его использовать в полете то камера летит а перс нет, причем можно выделить моба\нпса но атаковать или вызывать меню неписа нельзя перс сразу начинает лететь к нему. мне надо найти оффсет вызова менюшки торговли неписа. Кто сможет помочь?
02/23/2010 16:45 gen-ostr#1480
нужна помощь пишущих на С++. Пока надо было сделать инжект с одним параметром-проблем не возникало. Но вот когда надо передать два-началась засада. решил в для передачи параметров использовать структуру. Только как структуру превратить в lParam, чтобы инжектнуть?

WriteProcessMemory(Proc,ThreadDataAddr,&lParam,64, 0);
02/23/2010 21:58 gen-ostr#1481
разобрался сам :) .может кому пригодится.

Code:
 bool InjectFun (_TParams *lpParam )
{
LPVOID Func =lpParam->Function ;
LPVOID lnParam=(LPVOID)lpParam;
//// Выделяем память в процессе под функцию 
	LPVOID ThreadCodeAddr=VirtualAllocEx(Proc,0,256,MEM_COMMIT,PAGE_READWRITE); 
    WriteProcessMemory(Proc,ThreadCodeAddr,Func,256,0); 
	LPVOID ThreadDataAddr=VirtualAllocEx(Proc,0,64,MEM_COMMIT,PAGE_READWRITE);     
	WriteProcessMemory(Proc,ThreadDataAddr,lnParam,64,0); 
	HANDLE hThread = CreateRemoteThread(Proc,NULL,0,(LPTHREAD_START_ROUTINE)ThreadCodeAddr,ThreadDataAddr,0,NULL);
ну и далее по тексту
02/24/2010 13:13 silkytail#1482
Господа, VirtualAlloc выделяет память постранично, причем обычно размер страницы - 4 килобайта. Так что в предыдущем примере было выделено 8кб независимо от того, что там написано :)
02/26/2010 21:57 Meg1#1483
Всем Здравствуйте,я с пиратес бот достал коорды в таком виде
<X>496,86490</X><Y>967,50391</Y>
как их использовать в С++ ?
02/26/2010 22:42 GrieVeR-13#1484
Meg1:
X:= (X - 400) * 10;
Y:= (Y - 550) * 10;
Z:= Z * 10;
Ето формула преобразования игровых в реальные.
У тебя реальные.
02/26/2010 22:53 GrieVeR-13#1485
Если не сложно, подскажите, плиз, диапазон корректных ID предметов..
А то часто из-за того что предмет, который находится в памяти имеет такие координаты ненормальные, которые приводят к ошибкам. Наподобие, Invalid floating point operation (Значение NAN принимают, и почему-то ни try except, ни IsNan не помогает)...