|
Получение Списка кланов (C#) - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
12.01.2014, 21:12
|
#1
|
|
|
|
Разведчик
|
Регистрация: 12.01.2012
Сообщений: 10
Популярность: 10
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
|
Получение Списка кланов (C#)
Не получается получить имя клана по ID
Когда-то нашел код и он работал до последней крупной обновы:
Код:
string GetClanName(int clanId)
{
var p = MemoryManager.ChainReadInt32(PlayerOffsets.BaseAddress, 0x218);
var hash = MemoryManager.ReadInt32(p + 0x14);
p = MemoryManager.ReadInt32(p + 0x8);
if (p == 0 || hash == 0)
return null;
int j = clanId % hash;
p = MemoryManager.ReadInt32(p + j * 4);
while (p != 0)
{
if (MemoryManager.ReadInt32(p + 0xC) == clanId)
return MemoryManager.ChainReadString_Unicode(p + 8, 32, 4, 0);
p = MemoryManager.ReadInt32(p);
}
return null;
}
Насколько понял сменился оффсет, вместо 0x218 стал 0x248
Менял, не помогло.
+ интересует более простой способ получения названия клана.
|
|
|
12.01.2014, 22:55
|
#2
|
|
|
|
Рыцарь-лейтенант
|
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: Получение Списка кланов (C#)
В структуре персонажа есть оффсет, указывающий на надпись над головой "Клан Должность". Там что-то похожее на
Код:
PlayerStr +offset +C +0 +0 +0
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
|
|
|
13.01.2014, 08:46
|
#3
|
|
|
|
Разведчик
|
Регистрация: 12.01.2012
Сообщений: 10
Популярность: 10
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Получение Списка кланов (C#)
Да, есть:
+077C +C+0+0+0 Имя клана
пробовал так:
personage.ClanName = MemoryManager.ChainReadString_Unicode(offsetData + 0x77C + 0xC +0+0+0, PlayerOffsets.forName1, PlayerOffsets.forName2);
в итоге получал название магазина, если перс в коте. что делал не так?
|
|
|
13.01.2014, 17:22
|
#4
|
|
|
|
Рыцарь-лейтенант
|
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: Получение Списка кланов (C#)
|
Цитата: |
|
|
|
|
|
|
|
|
|
что делал не так?
|
|
|
|
|
|
А если не в коте - получали название клана?
Если нет - проверяйте оффсет.
Если да - то делайте проверку на кота. Если в коте, значит в другом месте оффсет клана. Хотя это было бы странно.
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
|
|
|
14.01.2014, 10:42
|
#5
|
|
|
|
Разведчик
|
Регистрация: 25.01.2013
Сообщений: 13
Популярность: 10
Сказал(а) спасибо: 7
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Получение Списка кланов (C#)
|
|
|
28.01.2014, 13:16
|
#7
|
|
|
|
Разведчик
|
Регистрация: 25.01.2013
Сообщений: 13
Популярность: 10
Сказал(а) спасибо: 7
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Получение Списка кланов (C#)
|
Цитата: |
|
|
|
|
|
|
|
|
|
Да, есть:
+077C +C+0+0+0 Имя клана
|
|
|
|
|
|
634 - смещение к ID клана, далее можно функцией по ID получить имя.
Смещение к айди искал не я если что, просто в темах там есть.
Конкретно к имени пока не получилось, сам я СЕ только начинаю осваивать и скорее всего ошибаюсь в шагах, но ничего разбираюсь, жаль что времени маловато на все это.
|
|
|
28.01.2014, 18:58
|
#8
|
|
|
|
Пехотинец
|
Регистрация: 17.09.2010
Сообщений: 66
Популярность: 701
Сказал(а) спасибо: 32
Поблагодарили 63 раз(а) в 46 сообщениях
|
Re: Получение Списка кланов (C#)
не знаю С#, но если этот код работал, то нужно поменять кусок
Код:
var p = MemoryManager.ChainReadInt32(PlayerOffsets.BaseAddress, 0x248);
var hash = MemoryManager.ReadInt32(p + 0x14);
p = MemoryManager.ReadInt32(p + 0xC);
________________
© Mel
|
|
|
Пользователь сказал cпасибо:
|
|
24.09.2016, 03:20
|
#9
|
|
|
|
Разведчик
|
Регистрация: 05.09.2010
Сообщений: 32
Популярность: 1182
Сказал(а) спасибо: 38
Поблагодарили 12 раз(а) в 10 сообщениях
|
Re: Получение Списка кланов (C#)
Обновлю для PWI:
Код:
string GetClanName(int clanId)
{
if (clanId == 0) return "No Faction";
var p = MyPersonage.memory.ChainReadInt32(PWOffssAndAddrss.base_address, 0x248);
var hash = MyPersonage.memory.ReadInt32(p + 0x1c);
p = MyPersonage.memory.ReadInt32(p + 0x20);
if (p == 0 || hash == 0)
return null;
int j = clanId % hash;
p = MyPersonage.memory.ReadInt32(p + j * 4);
while (p != 0)
{
if (MyPersonage.memory.ReadInt32(p + 0xC) == clanId)
return MyPersonage.memory.ChainReadString_Unicode(p + 8, 32, 4, 0);
p = MyPersonage.memory.ReadInt32(p);
}
return null;
}
|
|
|
12.10.2017, 13:56
|
#10
|
|
|
|
Разведчик
|
Регистрация: 11.10.2010
Сообщений: 13
Популярность: 10
Сказал(а) спасибо: 3
Поблагодарили 5 раз(а) в 5 сообщениях
|
Re: Получение Списка кланов (C#)
Кто-нибудь может подсказать текущие значения для этой функции?
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 12:23.
|
|