[C++] [mod_sa] Отправляем задротов в небо - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir  
[C++] [mod_sa] Отправляем задротов в небо
SenDIK Дата: Воскресенье, 21.07.2013, 20:59 | Сообщение # 1
Новичок
Сообщений: 10
Статус: Offline
Всем привет. Вообщем вы поняли, про что речь. Допустим мы нашли свою жертву, мы садимся к нему на пассажирское место, и тут мы делаем свое черное дело) Отправляем его высоко в небо! Хочу услышать мнение профессионалов, где и что лишнее сделал, где убрать и т.д. Отправляем задротов командой /tpveh, после чего мы возвращаемся на то место, откуда мы телепортировали задрота. Описывать не буду, где и что за что отвечает, но в коде есть комментарии, где вы должны все понять. Действие проходит где то за секунду, но это можно подправить в коде.
И так начнем:
1. Объявляем нашу функцию для возвращения игрока на старую позицию (служит в роли таймера):
в samp.h ко всем void добавляем:
Код
void TimerSampCpp();
если не знаете где это находится, то находите строчку sampPatchDisableChatInputAdjust и ниже этой строчки вставляете, то что написал выше.
в samp.cpp вставляем вот этот код, отвечающий за возвращение ирока на старую позицию:
Код
void TimerSampCpp()//обьявленная функция в samp.h
{
if(count >= 1)//счетчик
{
count++;//запустили счетчик теперь он тикает
if(count >= 10)//если прошло 10 тиков то
{
count = 0;//тики равны 0
GTAfunc_RemoveActorFromCarAndPutAt(oldpos);//вернули игрока на старую позицию
}
}
}

в samp.cpp, самое начало, где идет объявление всех переменных, вставляем вот этот код:
Код
int count = 0;//наш счетчик   
float oldpos[3];//обьвялем переменные для того чтобы запомнить нашу позицию
если вы не можете найти, куда это вставлять, находите строчку int hooksinstalled; и ниже этой строки вставляете, то что написано выше.
2. Функцию отвечающую за возвращение игрока на старую позицию мы создали, но каким же образом она будет работать, если она не вызывается?
В cheat.cpp находим: cheat_handle_vehicle_repair_car( info, time_diff ); и ниже этой строчки вставляем вот этот код:
Код
TimerSampCpp();

Отлично, осталось только добавить саму команду.
3. В samp.cpp находим init_samp_chat_cmds, и регистрируем команду:
Код
addClientCommand( "tpveh", (int)cmd_tpveh);

И ко всем командам сервера в samp.cpp находим: void cmd, и ниже этих команд вставляем:
Код
void cmd_tpveh ( char *param )
{
count = 1;//врубили счетчик
struct vehicle_info *pVehicle = vehicle_info_get(-1, 0);//узнаем модель авто
struct actor_info    *self = actor_info_get( ACTOR_SELF, ACTOR_ALIVE );//узнаем ид нашего актера
if(pVehicle == NULL) return;//если авто равно нулю, то не продолжаем цикл
if(self == NULL) return;//если актер равен нулю, то не продолжаем цикл
vect3_copy( &self->base.matrix[4 * 3], oldpos);//узнали координаты, где мы сейчас стоим
float pos[3]; //здесь я обьвил координаты автошколы с высотой 754 метра
pos[0]= (-2013.0f * 1);//по оси x
pos[1]= (-73.0f * 1);//по оси y
pos[2]= (754.0f * 1);//по оси z
GTAfunc_PutActorInCar(pVehicle);//посадить на вод. место
cheat_vehicle_teleport( pVehicle, pos, 0 );//телепортровали авто на нужное нам место
}

P.S. Пытался сделать через Sleep(), но у меня код просто тупо зависал на нужное время, и ничего вообщем не происходило, сам не знаю почему, поэтому реализовал если это так можно сказать через таймер. Строго не судите, я совсем недавно в c++ )
jOnly Дата: Воскресенье, 21.07.2013, 22:18 | Сообщение # 2
Новичок
Сообщений: 26
Статус: Offline
такие вещи делаются через синхру и не надо будет таймер

Skype: david.nyawa
Bomj_Terrorist Дата: Воскресенье, 21.07.2013, 22:27 | Сообщение # 3
Бывалый
Сообщений: 383
Статус: Offline
Лучше просто на синхре установить большую скорость z.

http://www.youtube.com/watch?v=DbBI60FVtkw

Сообщение отредактировал Bomj_Terrorist - Воскресенье, 21.07.2013, 22:27
Matti[CM] Дата: Понедельник, 22.07.2013, 00:01 | Сообщение # 4
Новичок
Сообщений: 5
Статус: Offline
Ну с синхрой, или нет, за то выложил.
Спасибо, пожалуй дам +.
И кстати да, с синхрой намного лучше.
Jamely Дата: Четверг, 25.07.2013, 07:47 | Сообщение # 5
Сообщений: 1603
Статус: Offline
Через синхру сделать, не? Впрочем любителям быдлокодинга, либо новичкам должно понравиться
З.ы. комментарии в коде настолько уеб*щные...


Сообщение отредактировал Ruskadance - Четверг, 25.07.2013, 07:48
NEKRONED Дата: Пятница, 26.07.2013, 21:36 | Сообщение # 6
Новичок
Сообщений: 28
Статус: Offline
Автору +
На кол, всех кто пишет "можно через синхру". Можно? Ну так запилите пример блеять! Не нравиться, не читайте. Флудить все могут. А взять и подсказать автору код, у всех в жопе залипает. Он же написал "я совсем недавно в c++". Он ни сном, ни духом. А вы поналетели, граматеи. Тьфу, блять.


Сообщение отредактировал NEKRONED - Пятница, 26.07.2013, 21:37
Alex3831 Дата: Понедельник, 29.07.2013, 18:41 | Сообщение # 7
Новичок
Сообщений: 15
Статус: Offline
Вот вроде так делается со Sleep();
Код

void prog ( void* )
{
  struct vehicle_info *pVehicle = vehicle_info_get(-1, 0);//узнаем модель авто  
  struct actor_info    *self = actor_info_get( ACTOR_SELF, ACTOR_ALIVE );//узнаем ид нашего актера  
  if(pVehicle == NULL) return;//если авто равно нулю, то не продолжаем цикл  
  if(self == NULL) return;//если актер равен нулю, то не продолжаем цикл  
  vect3_copy( &self->base.matrix[4 * 3], oldpos);//узнали координаты, где мы сейчас стоим  
  float pos[3]; //здесь я обьвил координаты автошколы с высотой 754 метра  
  pos[0]= (-2013.0f * 1);//по оси x  
  pos[1]= (-73.0f * 1);//по оси y  
  pos[2]= (754.0f * 1);//по оси z  
  GTAfunc_PutActorInCar(pVehicle);//посадить на вод. место  
  cheat_vehicle_teleport( pVehicle, pos, 0 );//телепортровали авто на нужное нам место
}

Потом чуть ниже

Код

void cmd_tpveh ( char *param )
{
    _beginthread(prog,0,NULL);
}

Осталось поставить Sleep в нужное место и зависать не будет
FRiENDZONE Дата: Понедельник, 29.07.2013, 19:50 | Сообщение # 8
Новичок
Сообщений: 28
Статус: Offline
БЫДЛАКОД, фуфуфу
ебани с синхрой, хотя не надо, нубейты процветать будут


Skype: despair_l33t
Играю в доту 2 (pub and closes) | cs 1.6 (fast-cup only and mixes)
Раздача TeamSpeak комнат - http://cheat-master.ru/forum/95-164039-1
Сижу в TeamSpeak'e: 31.131.19.193:9990
Alex3831 Дата: Понедельник, 29.07.2013, 20:10 | Сообщение # 9
Новичок
Сообщений: 15
Статус: Offline
FRiENDZONE, Залей свой код, без синхры посмотрим на оформление! давай если ты не трепло ты зальешь его!

Сообщение отредактировал Alex3831 - Понедельник, 29.07.2013, 20:13
Artemka7 Дата: Вторник, 06.08.2013, 16:51 | Сообщение # 10
Новичок
Сообщений: 5
Статус: Offline
Как сделать что бы скрипт работал без машины и закидывал игрока из прорисовки в загрузку

Artemka7
Bomj_Terrorist Дата: Вторник, 06.08.2013, 19:31 | Сообщение # 11
Бывалый
Сообщений: 383
Статус: Offline
Цитата (FRiENDZONE)
ебани с синхрой, хотя не надо, нубейты процветать будут

Уже паблик давно.


http://www.youtube.com/watch?v=DbBI60FVtkw
Гринфилд Дата: Понедельник, 25.08.2014, 14:10 | Сообщение # 12
Новичок
Сообщений: 1
Статус: Offline
Нужно таймер добавить. И как его добавить?

qq
[DJ_KEN[T] Дата: Понедельник, 25.08.2014, 19:02 | Сообщение # 13
Новичок
Сообщений: 18
Статус: Offline
Цитата Гринфилд ()
Нужно таймер добавить. И как его добавить?

void test()
{
if (cheat_state->_generic.test == 1)
{
static DWORD time = 0;
if (GetTickCount() - 250>time)
{
250 - это время.
Тут функа.
time = GetTickCount();
}
}
}


Hero
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Лучшие пользователи
Admin [39113]

GеNius [7210]

[CM]Russel [5557]

kenlo763 [4952]

[CM]AGRESSOR [4639]

Snake_Firm [4452]

Сэс [4416]

Artem_Buero [4223]

[CM]Durman [3204]

[CM]Рафаэль [3080]

iMaddy [2855]

sky_Woker [2854]

getrekt [2745]

Новые пользователи
billienq1 [01:47]

staciah1 [01:15]

maksmovictimofej [00:18]

jamiedv6 [21:25]

billieds7 [20:51]

aprilez9 [15:57]

am9350450 [14:36]

dcvfre [11:04]

Sheroz [10:38]

dominiquevp60 [08:59]

derrickuy11 [05:48]

leannaaw60 [04:45]

nonaxn11 [23:52]