Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 2 из 2
  • «
  • 1
  • 2
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » SDKCall проблема
SDKCall проблема
sssw Дата: Пятница, 08.08.2014, 18:00:28 | Сообщение # 16
Сообщений: 123
Репутация: 14 [ +/- ]
Цитата serm ()
А чем smac wallhak поможет ???

GetBonePosition поможет увеличить точность.

Эти пин**** намутили в своих солюшинах чтоб что-то скомпилировать нужно ***.
 
serm Дата: Пятница, 08.08.2014, 18:08:11 | Сообщение # 17
Сообщений: 137
Репутация: 7 [ +/- ]
Цитата sssw ()
GetBonePosition поможет увеличить точность.

Эти пин**** намутили в своих солюшинах чтоб что-то скомпилировать нужно ***.


Я согласен будет лучше если получать позицию bone но эту функцию так же доставать как и GetAttachment ... Есть еще 1 хукер dhook
но я не очень понял в документации как с ним работать .

Ужас какой-то.
WS может ты знаешь как решить проблемку ?

Хотя врятли он в тему вникать станет .


Сообщение отредактировал serm - Пятница, 08.08.2014, 18:11:19
 
_wS_ Дата: Пятница, 08.08.2014, 22:04:09 | Сообщение # 18
Я как-то пробовал SDKCall и когда понял насколько оно мутно, отложил, и до сих пор.. =) Основная причина наверно из-за того, что не представляю как определять сигнатуры для WIN (просто тест сервер на win), инфы об этом почти нет, если есть - недостаточно или устарела.
 
sssw Дата: Пятница, 08.08.2014, 22:37:36 | Сообщение # 19
Сообщений: 123
Репутация: 14 [ +/- ]
Всё просто берёшь копируешь байты ищешь в IDA функцию по имени копируешь её байты и ставишь их (учитывая маску).
На YouTube есть туториал.
 
serm Дата: Суббота, 09.08.2014, 15:14:00 | Сообщение # 20
Сообщений: 137
Репутация: 7 [ +/- ]
Цитата _wS_ ()
Я как-то пробовал SDKCall и когда понял насколько оно мутно, отложил, и до сих пор.. =) Основная причина наверно из-за того, что не представляю как определять сигнатуры для WIN (просто тест сервер на win), инфы об этом почти нет, если есть - недостаточно или устарела.

Цитата sssw ()
Всё просто берёшь копируешь байты ищешь в IDA функцию по имени копируешь её байты и ставишь их (учитывая маску).
На YouTube есть туториал.


Дело в том что я и так работаю с этой программой уже долго время .
Я умею тащить сигнатуры lin (я примерно знаю как win вытаскивать вот только не как не получается их в нормальном порядке поставить ) умею offset вытаскивать на lin и win .

с sdkcall уже более менее знаком .

В связи с тем что не могу вытащить win сигнатуру (Беру хост forteam на 3 дня - 35 руб (Там есть недоработка , после окончания трех дней можно еще 15 пользоваться)) так вот там и провожу тесты .

Мне нужна эта функция получения attachment (Если вы пожелаете я могу скинуть видео - для чего нужна функция).

Так что если хотите я даже предоставлю данные от хоста где вы сможете протестить на linux . Если нужны сигнатуры тоже я могу выложить . Так же могу выложить список тех или иных функций из server.dll

Сегодня постараюсь понять как win сигнатуры вытаскивать .

Ну так что согласны помочь ? (Я думаю вы тоже заинтересованны в этой функции)

Добавлено (09.08.2014, 13:27:08)
---------------------------------------------
Код

#pragma semicolon 1

#include <sourcemod>
#include <sdktools>
#include <cstrike>
#include <sdkhooks>

new Handle:hGameConf, Handle:hTest;

public OnPluginStart(){
      hGameConf = LoadGameConfigFile("plugin.offests");
      StartPrepSDKCall(SDKCall_Entity);
      PrepSDKCall_SetFromConf(hGameConf, SDKConf_Signature, "GetAttachment");
      PrepSDKCall_AddParameter(SDKType_PlainOldData , SDKPass_Plain);
   PrepSDKCall_AddParameter(SDKType_Vector , SDKPass_ByValue);
   PrepSDKCall_AddParameter(SDKType_QAngle , SDKPass_ByValue);
      PrepSDKCall_SetReturnInfo(SDKType_PlainOldData, SDKPass_Plain);
      hTest = EndPrepSDKCall();
        
      RegConsoleCmd("test",test);
}
        
public Action:test(client,Args){
      new Float:f_pos[3], Float:f_ang[3];

      new z=SDKCall(hTest, client, 12, f_pos, f_ang);
      PrintToChatAll("%f %f %f", f_pos[0], f_pos[1], f_pos[2]);
}


Код

"Games"
{
      "cstrike"
      {
          "Signatures"
          {
     "GetAttachment"
              {
                  "library"    "server"
                  "linux"        "@_ZN14CBaseAnimating13GetAttachmentEiR6VectorR6QAngle"
              }
          }
      }
}


Результат тот же . Хотя на am написали что в этом проблема . У функции GetAttachment 3 значения , а добавляю одно (В первом посте видно) .

Добавлено (09.08.2014, 15:14:00)
---------------------------------------------
Попробовал даже так
Код

#pragma semicolon 1

#include <sourcemod>
#include <sdktools>
#include <cstrike>
#include <sdkhooks>

new Handle:hGameConf, Handle:hTest, Handle:hLookupAttachment;

public OnPluginStart(){
      hGameConf = LoadGameConfigFile("plugin.offests");
      StartPrepSDKCall(SDKCall_Entity);
      PrepSDKCall_SetFromConf(hGameConf, SDKConf_Signature, "GetAttachment");
      PrepSDKCall_AddParameter(SDKType_PlainOldData , SDKPass_Plain);
   PrepSDKCall_SetReturnInfo(SDKType_Vector , SDKPass_ByValue);
   PrepSDKCall_SetReturnInfo(SDKType_QAngle , SDKPass_ByValue);
      hTest = EndPrepSDKCall();
     
   StartPrepSDKCall(SDKCall_Entity);
   PrepSDKCall_SetFromConf(hGameConf, SDKConf_Signature, "LookupAttachment");
   PrepSDKCall_AddParameter(SDKType_String, SDKPass_Pointer);
   PrepSDKCall_SetReturnInfo(SDKType_PlainOldData, SDKPass_Plain);
   hLookupAttachment = EndPrepSDKCall();
        
      RegConsoleCmd("test",test);
}
        
public Action:test(client,Args){
      new Float:f_pos[3], Float:f_ang[3];

      SDKCall(hTest, client, SDKCall(hLookupAttachment, client, "forward"), f_pos, f_ang);
      PrintToChatAll("%f %f %f", f_pos[0], f_pos[1], f_pos[2]);
}


Должно вернуть 2 значения вот и я попытался 2 retrun установить


Сообщение отредактировал serm - Суббота, 09.08.2014, 15:14:24
 
sssw Дата: Суббота, 09.08.2014, 17:05:00 | Сообщение # 21
Сообщений: 123
Репутация: 14 [ +/- ]
"hLookupAttachment" разве не для прилипания?
А так в CBaseAnimation несколько GetAttachment'о с разными параметрами и они вызывают друг друга.
Я бы вчера разобрался но вложение исходники подбили желание.

P.s Пойду сервер поставлю.


Сообщение отредактировал sssw - Суббота, 09.08.2014, 18:10:31
 
serm Дата: Воскресенье, 10.08.2014, 15:36:43 | Сообщение # 22
Сообщений: 137
Репутация: 7 [ +/- ]
Цитата sssw ()
"hLookupAttachment" разве не для прилипания?
А так в CBaseAnimation несколько GetAttachment'о с разными параметрами и вызывая друг друга.
Я бы вчера разобрался но вложение исходники подбили желание.

P.s Пойду сервер поставлю.

Я объясню .

Там штуки 4 GetAttachment
Первые 2
Это
GetAttachment("Тут название атачмента") - Его использовать без index attachment (Он находится внутри самой функции)
GetAttachment("Тут название атачмента" "Тут 3 типа vector") - Тут скорее всего для манипуляций чтобы сразы происходило вычисление с заданными коррекциями .

А вторые 2 тоже самое но
GetAttachment("Тут уже вычисленный index атачмента")
GetAttachment("Тут уже вычисленный index атачмента" "Тут 3 типа vector")

Добавлено (09.08.2014, 17:47:04)
---------------------------------------------
Мне интересно , matix3x4_t можно ли его воссоздать в sp например вот так new Float:matrix[3][4] Ведь по сути получается тоже самое

http://mathworld.wolfram.com/images/eps-gif/Matrix_1000.gif

И сразу напрямую править через
Код

MatrixGetColumn(matrix3x4_t  const&,int,Vector &)

new Float:matrix[3][4];
new Float:f_Pos[3];
for(new i=0; i<2; i++) MatrixGetColumn(matrix,i,f_Pos[i]);


Только маловероятно что sdk примет такой вид массива matrix

Добавлено (10.08.2014, 08:53:37)
---------------------------------------------
На форуме am мне помогли .
Дали функцию
Код

#pragma semicolon 1   

#include <sourcemod>   
#include <sdktools>   

new Handle:hGameConf, Handle:hTest, Handle:hLookupAttachment;   


Но возвращается
Код

attachment = 11
0.000000 0.000000 0.000000


Без координат

Добавлено (10.08.2014, 15:36:43)
---------------------------------------------
Ну так что WS ты хоть сможешь помочь идейкой как реализовать , думаю опыта у тебя поболее .


Сообщение отредактировал serm - Четверг, 14.08.2014, 14:53:46
 
_wS_ Дата: Воскресенье, 10.08.2014, 16:18:05 | Сообщение # 23
Ну если даже владелец SM тебе помочь не может =) У меня в SDKCall почти нет опыта. Если этот вариант не работает, все просто, пробуй другие, пусть и не такие удобные (главное чтобы работало) - тебе же нужно координаты получить эти, есть плагины "Hats" и там пара формул.
 
serm Дата: Воскресенье, 10.08.2014, 16:33:08 | Сообщение # 24
Сообщений: 137
Репутация: 7 [ +/- ]
Цитата _wS_ ()
Ну если даже владелец SM тебе помочь не может =) У меня в SDKCall почти нет опыта. Если этот вариант не работает, все просто, пробуй другие, пусть и не такие удобные (главное чтобы работало) - тебе же нужно координаты получить эти, есть плагины "Hats" и там пара формул.

В hats все довольно банально берешь позицию головы и сам все подкручиваешь . Ладно дальше сам буду разбираться .
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » SDKCall проблема
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: