ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [RakSamp] Удобные функции для вызова. (https://forum.antichat.xyz/showthread.php?t=1302395)

Caypen 10.09.2013 21:00

Начнем с пикапов

в localplayer.cpp

Код:





Код:

void pickuppp(BOOL pickupid)
{
    RakNet::BitStream bsSend;
 
    bsSend.Write(pickupid);
    pRakClient->RPC(&RPC_PickedUpPickup, &bsSend, HIGH_PRIORITY, RELIABLE_SEQUENCED, 0, FALSE, UNASSIGNED_NETWORK_ID, NULL);
}



в localplayer.h

Код:





Код:

void pickuppp(BOOL pickupid);




Использование:

Код:





Код:

pickuppp(ID PICKUP);
/*пример: */ pickuppp(5); // вызвали пикап с ID 5



Да и не забываем в SAMPRPC.cpp проверить равен ли int RPC_PickedUpPickup этому 0x92;

Если нет то удаляем его и вставляем int RPC_PickedUpPickup = 0x92;

Теперь OnPlayerClickMap

в localplayer.cpp

Код:





Код:

void MAPAAA(FLOAT fX, FLOAT fY, FLOAT fZ)
{
RakNet::BitStream bsSend;
bsSend.Write(fX);
bsSend.Write(fY);
bsSend.Write(fZ);
pRakClient->RPC(&RPC_MapMarker, &bsSend, HIGH_PRIORITY, RELIABLE_SEQUENCED, 0, FALSE, UNASSIGNED_NETWORK_ID, NULL);
}



в localplayer.h

Код:





Код:

void MAPAAA(FLOAT fX, FLOAT fY, FLOAT fZ);




Использование:

Код:





Код:

MAPAAA(x, y, z);
/*пример: */ MAPAAA(105.5, 105.5, 105.5); // поставили метку на карте по координатам 105.5, 105.5, 105.5



Да и не забываем в SAMPRPC.cpp проверить равен ли int RPC_MapMarker ;этому 0x76;

Если нет то удаляем его и вставляем int RPC_MapMarker = 0x76;

Теперь Give и Take Damage (Спасибо Евгену что подправил код)

в localplayer.cpp

Код:





Код:

void givetake(bool Give, WORD damaged, float ammount, DWORD weaponid)
{
RakNet::BitStream bsSend;
bsSend.Write(Give);
bsSend.Write(damaged);
bsSend.Write(ammount);
bsSend.Write(weaponid);
pRakClient->RPC(&RPC_PlayerGiveTakeDamage, &bsSend, HIGH_PRIORITY, RELIABLE_SEQUENCED, 0, FALSE, UNASSIGNED_NETWORK_ID, NULL);
}



в localplayer.h

Код:





Код:

void givetake(bool Give, WORD damaged, float ammount, DWORD weaponid);




Использование:

Код:





Код:

givetake(1 - получить, 0 - дать урон, ид от кого или кому дать урон, кол-во урона, ИД оружия);
/*пример: */givetake(1, 5, 25,31); // получить урон от игрока с ID 5,кол-во урона 25,оружие 31



Да и не забываем в SAMPRPC.cpp проверить равен ли int RPC_PlayerGiveTakeDamage;этому 0x54;

Если нет то удаляем его и вставляем int RPC_PlayerGiveTakeDamage= 0x54;

Фух устал, если что то еще нужно будет пишите дополню.

Да и если было то не ругайте сильно).

im0rg 12.09.2013 16:38

Полезно, делай еще примеры, пригодятся людям..

Caypen 12.09.2013 18:10

Цитата:

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

Полезно, делай еще примеры, пригодятся людям..


Спасибо) Мог бы дать идею что именно реализовать еще? Например ClickPlayer?

П.С. разместил сначала тут тему а потом на 2-ух других форумах, ответили только на двух, печально что С++ на порталах сампа не знаменит...

Maddy 12.09.2013 18:49

Обычные функции

im0rg 12.09.2013 19:17

Цитата:

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

Спасибо) Мог бы дать идею что именно реализовать еще? Например ClickPlayer?
П.С. разместил сначала тут тему а потом на 2-ух других форумах, ответили только на двух, печально что С++ на порталах сампа не знаменит...

Точно не помню но вроде vehicleJump криво пашет, напиши свою такую через RakNet

Caypen 12.09.2013 19:25

vehicleJump

Что делает? Машину заставляет подпрыгнуть что-ли?

im0rg 12.09.2013 19:29

Цитата:

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

vehicleJump
Что делает? Машину заставляет подпрыгнуть что-ли?

Прыгнуть в кар по иду. Если сделать норм, то можно так сделать прикольные функции.

Maddy 12.09.2013 19:43

Через ракнет? Лал. Если я не путаю, то это функция мгновенного перемещения в авто (на водительское место, если водительское занято - пассажирское), где машина определяется указателем на структуру gta vehicle. Если хотите сделать прыжок в авто по его samp id'у, то можно получать gtavehicle с помощью функции из samp.cpp, которая называется как то типа getgtavehicleforsampvehicle ид, ну названия конечно наизусть не помню уж сорри. А ракнет тут разве что пригодится для отправки пакета RPC_EnterVehicle (для обхода античита на джампер в авто)

Caypen 14.09.2013 09:08

Цитата:

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

Через ракнет? Лал. Если я не путаю, то это функция мгновенного перемещения в авто (на водительское место, если водительское занято - пассажирское), где машина определяется указателем на структуру gta vehicle. Если хотите сделать прыжок в авто по его samp id'у, то можно получать gtavehicle с помощью функции из samp.cpp, которая называется как то типа getgtavehicleforsampvehicle ид, ну названия конечно наизусть не помню уж сорри. А ракнет тут разве что пригодится для отправки пакета RPC_EnterVehicle (для обхода античита на джампер в авто)


Ну у меня есть сомнения по поводу ракнета врят-ли он может отправить такой пакет о прыжке машины,хотя в принципе с раксампа можно отправить почти что всё,вообщем буду пробывать.


Время: 12:18