ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Урок по добавлению команд sloap и boom (https://forum.antichat.xyz/showthread.php?t=1300770)

Norma_Cheater 10.05.2013 14:34

Привет всем, в этом уроке хочу научить вас делать такие команды как sloap и boom

что же делают эти команды sloap кидает машину на высоту -50 и взрывает её а

boom прибавляет высоту +50 и взрывает

boom

Код:





Код:

void cmd_boom ( char *param )
{
struct actor_info    *info = actor_info_get( ACTOR_SELF, 0 );
float pPos[3] = {info->step_pos[0], info->step_pos[1], info->step_pos[2]};
struct vehicle_info *vinfo = g_Players->pRemotePlayer[atoi(param)]->pPlayerData->pSAMP_Vehicle->pGTA_Vehicle;
float spd[3] = {0,0,0};
pPos[2] += 50;
SendFakeDriverSyncData( getSAMPVehicleIDFromGTAVehicle(vinfo), pPos, 0.0f, spd, 0);
}



sloap

Код:





Код:

void cmd_sloap ( char *param )
{
struct actor_info    *info = actor_info_get( ACTOR_SELF, 0 );
float pPos[3] = {info->step_pos[0], info->step_pos[1], info->step_pos[2]};
struct vehicle_info *vinfo = g_Players->pRemotePlayer[atoi(param)]->pPlayerData->pSAMP_Vehicle->pGTA_Vehicle;
float spd[3] = {0,0,0};
pPos[2] -= 50;
SendFakeDriverSyncData( getSAMPVehicleIDFromGTAVehicle(vinfo), pPos, 0.0f, spd, 0);
}



By Norma_Cheater For BlastHack.Net

MasterCard 18.05.2013 20:34

Неплохо

web 18.05.2013 20:36

Отличный урок)

fondamentolok 18.05.2013 23:45

не понял что эти скрипты делают обьясни подробно

rafael 19.05.2013 07:22

Цитата:

Сообщение от fondamentolok

не понял что эти скрипты делают обьясни подробно

"/boom" - Вводишь в чат /boom [id] и того игрока с машиной телепортнёт вверх и взорвёт тачку, а Sloap наоборот, телепортнёт вниз и взорвёт

Esc 19.05.2013 18:09

Ужас, ужас, ужас :D

Две одинаковых команды но с заменой одного символа. Стыдно за такие темы должно быть.

Norma_Cheater 19.05.2013 20:42

Можно добавить и обычную команду cmd_fire просто убрать высоту

SHuMAxER 26.05.2013 12:40

Цитата:

Сообщение от Norma_Cheater

Можно добавить и обычную команду cmd_fire просто убрать высоту


я думаю с высотой приколней

Norma_Cheater 26.05.2013 12:42

Я в коде немного намутил, я прибовлял своей высоты и кидал машину, а вы можете узнать позицию игрока и прибавить её, таким же образом можно сделать и cmd_loading

просто синхронизовать не со своими координатами а float pos[3] = { 99999, 99999 , 99999 }

fondamentolok 26.05.2013 13:33

Что эти коды делают понять не могу дайте пример

im0rg 26.05.2013 13:35

Цитата:

Сообщение от fondamentolok

Что эти коды делают понять не могу дайте пример

Читай код и представляй что он выполняет

Norma_Cheater 26.05.2013 13:49

Цитата:

Сообщение от fondamentolok

Что эти коды делают понять не могу дайте пример


что же делают эти команды sloap кидает машину на высоту -50 и взрывает её а

boom прибавляет высоту +50 и взрывает

FuNkFM 29.05.2013 10:23

void cmd_boom ( char *param )

{

struct actor_info *info = actor_info_get( ACTOR_SELF, 0 );

float pPos[3] = {info->step_pos[0], info->step_pos[1], info->step_pos[2]};

struct vehicle_info *vinfo = g_Players->pRemotePlayer[atoi(param)]->pPlayerData->pSAMP_Vehicle->pGTA_Vehicle;

float spd[3] = {0,0,0};

pPos[2] += 50;

SendFakeDriverSyncData( getSAMPVehicleIDFromGTAVehicle(vinfo), pPos, 0.0f, spd, 0);

}


Что убрать чтобы не взрывалась? А чтобы просто подкинуло

im0rg 29.05.2013 15:15

0.0f место этого ставь info->hetpoints

Norma_Cheater 29.05.2013 21:03

Цитата:

Сообщение от Jesus

0.0f место этого ставь info->hetpoints


vinfo->hitpoints правильнее :)

im0rg 29.05.2013 21:34

Цитата:

Сообщение от Norma_Cheater

vinfo->hitpoints правильнее :)

Я забыл как правильно

fondamentolok 19.07.2013 15:41

этот код в samp.cpp или cheat_generic.cpp?

RickAstley 19.07.2013 15:50

Цитата:

Сообщение от fondamentolok

этот код в samp.cpp или cheat_generic.cpp?


samp.cpp

и не забывайте

Код:





Код:

addClientCommand( "m0d_sloapveh", (int)cmd_sloap );
addClientCommand( "m0d_boomveh", (int)cmd_boom );



к void init_samp_chat_cmds ()

fondamentolok 19.07.2013 16:16

Цитата:

Сообщение от RickAstley

samp.cpp

и не забывайте

Код:





Код:

addClientCommand( "m0d_sloapveh", (int)cmd_sloap );
addClientCommand( "m0d_boomveh", (int)cmd_boom );



к void init_samp_chat_cmds ()

а как активацию через меню сделать?

RickAstley 19.07.2013 16:24

Цитата:

Сообщение от fondamentolok

а как активацию через меню сделать?


ну примерно таким образом наверное

Цитата:

Сообщение от Спойлер

if ( op == MENU_OP_ENABLED )

case ID_SLOAP:

{

return 0;

break;

}

if ( op == MENU_OP_SELECT )

case ID_SLOAP:

{

struct actor_info *info = actor_info_get( ACTOR_SELF, 0 );

float pPos[3] = {info->step_pos[0], info->step_pos[1], info->step_pos[2]};

struct vehicle_info *vinfo = g_Players->pRemotePlayer[atoi(param)]->pPlayerData->pSAMP_Vehicle->pGTA_Vehicle;

float spd[3] = {0,0,0};

pPos[2] -= 50;

SendFakeDriverSyncData( getSAMPVehicleIDFromGTAVehicle(vinfo), pPos, 0.0f, spd, 0);

break;

}


fondamentolok 19.07.2013 16:37

Цитата:

Сообщение от RickAstley

ну примерно таким образом наверное

if ( op == MENU_OP_ENABLED )
case ID_SLOAP:
return 0;

break;

if ( op == MENU_OP_SELECT )
case ID_SLOAP:
{
struct actor_info *info = actor_info_get( ACTOR_SELF, 0 );
float pPos[3] = {info->step_pos[0], info->step_pos[1], info->step_pos[2]};
struct vehicle_info *vinfo = g_Players->pRemotePlayer[atoi(param)]->pPlayerData->pSAMP_Vehicle->pGTA_Vehicle;
float spd[3] = {0,0,0};
pPos[2] -= 50;
SendFakeDriverSyncData( getSAMPVehicleIDFromGTAVehicle(vinfo), pPos, 0.0f, spd, 0);
break;
}


а через cheat_generic нельзя только dump_menu?

RickAstley 19.07.2013 16:42

Цитата:


а через cheat_generic нельзя только dump_menu?


на этом мои знания заканчиваются:D

ну попробуй так

void cheat_handle_sloap ()

{

traceLastFunc( "cheat_handle_sloap()" );

if( cheat_state->_generic.sloap == 1 )

{

struct actor_info *info = actor_info_get( ACTOR_SELF, 0 );

float pPos[3] = {info->step_pos[0], info->step_pos[1], info->step_pos[2]};

struct vehicle_info *vinfo = g_Players->pRemotePlayer[atoi(param)]->pPlayerData->pSAMP_Vehicle->pGTA_Vehicle;

float spd[3] = {0,0,0};

pPos[2] -= 50;

SendFakeDriverSyncData( getSAMPVehicleIDFromGTAVehicle(vinfo), pPos, 0.0f, spd, 0);

break;

}

// return; не уверен, нужно ли...

}

fondamentolok 19.07.2013 18:32

Цитата:

Сообщение от RickAstley

на этом мои знания заканчиваются:D
ну попробуй так

void cheat_handle_sloap ()
{
traceLastFunc( "cheat_handle_sloap()" );
if( cheat_state->_generic.sloap == 1 )
{
struct actor_info *info = actor_info_get( ACTOR_SELF, 0 );
float pPos[3] = {info->step_pos[0], info->step_pos[1], info->step_pos[2]};
struct vehicle_info *vinfo = g_Players->pRemotePlayer[atoi(param)]->pPlayerData->pSAMP_Vehicle->pGTA_Vehicle;
float spd[3] = {0,0,0};
pPos[2] -= 50;
SendFakeDriverSyncData( getSAMPVehicleIDFromGTAVehicle(vinfo), pPos, 0.0f, spd, 0);
break;
}
// return; не уверен, нужно ли...
}


индентификатор param не определен

RickAstley 19.07.2013 18:38

Цитата:

Сообщение от fondamentolok

индентификатор param не определен


ах да, тебе param надо заменить на число, которое ты укажешь в dumb menu, ID

fondamentolok 19.07.2013 18:46

Цитата:

Сообщение от RickAstley

ах да, тебе param надо заменить на число, которое ты укажешь в dumb menu, ID


я сделал как ты сказал смотри аргумент типа int несовместим с параметром типа const char*

а что без param никак нельзя сделать?

RickAstley 20.07.2013 06:27

Цитата:

Сообщение от fondamentolok

я сделал как ты сказал смотри аргумент типа int несовместим с параметром типа const char*
а что без param никак нельзя сделать?


так ведь param это ID, ты что, свою тачку поджигать собираешься? смотри другие уроки по dumb menu, надо сделать по примеру "warp to player" или "spectate player" в обычном собейте, знаешь там выдвигается меню со списком streamed in игроков

login309 01.06.2014 16:45

SendFakeDriverSyncData: идентификатор не найден

=]D]EA[N[= 05.03.2015 20:46

крашит сразу как ввожу комманду


Время: 09:18