Русское сообщество по скриптингу

Кто-нибудь использовал (get/set)_pdata_string ?

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Кто-нибудь использовал (get/set)_pdata_string ?

Сообщение KORD_12.7 » 07 авг 2011, 06:37

Нужно получить название тимы игрока в HLDM. Оффсет нужный нашел, а вот его значение получить/изменить не получается :(

HLSDK:
[pawn]
#define TEAM_NAME_LENGTH    16

class CBasePlayer : public CBaseMonster
{
public:
         .....
         char m_szTeamName[TEAM_NAME_LENGTH]; // offset is 383
         ....
};
 [/pawn]

Пример плагина:
[pawn]#include <amxmodx> 
#include <amxmisc> 
#include <fakemeta> 

#define PLUGIN "New Plug-In" 
#define VERSION "1.0" 
#define AUTHOR "KORD_12.7" 

public plugin_init()  
{ 
    register_plugin
(PLUGIN, VERSION, AUTHOR) 
     
    register_clcmd
("say get", "get") 
    register_clcmd
("say set", "set") 
} 

public get
(id) 
{ 
    new m_szTeamName
[16] 
    get_pdata_string
(id, 383, m_szTeamName, charsmax(m_szTeamName), .linux = 5) 
     
    client_print
(id, print_chat, "m_szTeamName is ^"%s^"", m_szTeamName) 
} 

public set
(id) 
{ 
    set_pdata_string
(id, 383, "zombie", .linux = 5) 
} 
 
[/pawn]
Результату ноль. Кто подскажет что не так? :-)

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

Re: Кто-нибудь использовал (get/set)_pdata_string ?

Сообщение noo00oob » 07 авг 2011, 09:58

Я пытался изменить в кс m_szAnimExtention, результатом был очень удивлен. По предполагаемому оффсету я эту строчку не нашел. Оффсет оказался больше 1000 причем на разных билдах разный.
Но я не говорю что и тут так должно быть :-D
Один фрукт, страдающий недостачей времени, нашел его ради меня любимого и писал(а):
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
noo00oob
 
Сообщения: 1061
Зарегистрирован: 09 янв 2010, 21:52
Благодарил (а): 258 раз.
Поблагодарили: 395 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Half-Life

Re: Кто-нибудь использовал (get/set)_pdata_string ?

Сообщение KORD_12.7 » 07 авг 2011, 10:29

Мне пока вообще читаемые строки не попадались, только всякая ерунда типа "∟╝▀♥" :-D

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

Re: Кто-нибудь использовал (get/set)_pdata_string ?

Сообщение defa » 07 авг 2011, 11:53

get_pdata_string/set_pdata_string очень каверзные функции, а также опасные, так как напрямую идёт работа с памятью, и нельзя просто использовать эти функции, чтобы получить/изменить определённые данные :(
Аватара пользователя
defa
 
Сообщения: 870
Зарегистрирован: 26 авг 2010, 18:22
Забанен
Благодарил (а): 34 раз.
Поблагодарили: 399 раз.

Re: Кто-нибудь использовал (get/set)_pdata_string ?

Сообщение noo00oob » 07 авг 2011, 12:21

так как напрямую идёт работа с памятью

А в get_pdata_float что, через звуковую карту чтоли работа идет? :-D
Один фрукт, страдающий недостачей времени, нашел его ради меня любимого и писал(а):
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
noo00oob
 
Сообщения: 1061
Зарегистрирован: 09 янв 2010, 21:52
Благодарил (а): 258 раз.
Поблагодарили: 395 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Half-Life

Re: Кто-нибудь использовал (get/set)_pdata_string ?

Сообщение defa » 07 авг 2011, 12:23

facepalm, да все работают с памятью, но более каверзные в этом плане _pdata_string.
Аватара пользователя
defa
 
Сообщения: 870
Зарегистрирован: 26 авг 2010, 18:22
Забанен
Благодарил (а): 34 раз.
Поблагодарили: 399 раз.

Re: Кто-нибудь использовал (get/set)_pdata_string ?

Сообщение noo00oob » 07 авг 2011, 12:58

Обсалютно одинаковые шансы обратится не туда куда надо у всех _pdata_ функции.
Один фрукт, страдающий недостачей времени, нашел его ради меня любимого и писал(а):
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
noo00oob
 
Сообщения: 1061
Зарегистрирован: 09 янв 2010, 21:52
Благодарил (а): 258 раз.
Поблагодарили: 395 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Half-Life

Re: Кто-нибудь использовал (get/set)_pdata_string ?

Сообщение KORD_12.7 » 07 авг 2011, 13:06

[pawn]new wtf = get_pdata_int(id, 383, 5)
server_print("^nWTF - %d^nWTF - %s^n ", wtf, wtf) [/pawn]
Получается следующее:

Team "hgrunt"
Код: Выделить всё

WTF - 1970431848
WTF - h

Team "scientist"
Код: Выделить всё

WTF - 1701405555
WTF - s

Team "human"
Код: Выделить всё

WTF - 1634563432
WTF - h

Team "zombie"
Код: Выделить всё

WTF - 1651339130
WTF - z


Мб есть способ преобразовать get_pdata_int(id, 383, 5) в строку? Аля itoa() или что-то в этом роде :dntknw:

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

Re: Кто-нибудь использовал (get/set)_pdata_string ?

Сообщение defa » 07 авг 2011, 13:08

m_szTeamName это ж вроде 487 offset для windows и 492 для linux?
Аватара пользователя
defa
 
Сообщения: 870
Зарегистрирован: 26 авг 2010, 18:22
Забанен
Благодарил (а): 34 раз.
Поблагодарили: 399 раз.

Re: Кто-нибудь использовал (get/set)_pdata_string ?

Сообщение KORD_12.7 » 07 авг 2011, 13:10

defa,
Нужно получить название тимы игрока в HLDM.

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 9