
07.03.2016, 09:40
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от Gabriel__
Код:
Код:
while true
wait 0
if and
02E0: actor $PLAYER_ACTOR firing_weapon
02D8: actor $PLAYER_ACTOR current_weapon == 25 // Проверка что держит в руках shotgun
then
wait 50 // Ждем пока выстрелит
01B2: give_actor $PLAYER_ACTOR weapon 25 ammo 0
end
end
P.S Сам не тестил.
Это тема по C++
Сообщение от Ice
как получить векторы камеры?
CVector GetCameraPosition()
{
return *(CVector *)(0x00B6F338);
};
|
|
|

07.03.2016, 14:35
|
|
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами:
5884065
Репутация:
0
|
|
02E0: actor $PLAYER_ACTOR firing_weapon аналог в SF API есть?
|
|
|

07.03.2016, 15:32
|
|
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами:
5884065
Репутация:
0
|
|
Почему не убирается перезарядка?
PHP:
Код:
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
bool act
=
false
;
DWORD
timer
;
DWORD
tm
=
GetTickCount
(
)
;
bool
CALLBACK
outcomingData
(
stRakNetHookParams
*
params
)
{
if
(
params
-
>
packetId
==
PacketEnumeration
:
:
ID_BULLET_SYNC
&&
act
==
true
)
{
if
(
SF
-
>
getSAMP
(
)
-
>
getPlayers
(
)
-
>
pLocalPlayer
-
>
byteCurrentWeapon
==
25
)
{
if
(
tm
GiveWeapon
(
(
eWeaponType
)
25
,
0
,
WEAPONSKILL_PRO
)
;
}
}
}
return
true
;
}
void
CALLBACK
heh
(
std
:
:
string param
)
{
act
^
=
true
;
}
void
CALLBACK
mainloop
(
)
{
static
bool init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
)
return
;
if
(
GAME
-
>
GetSystemState
(
)
!=
eSystemState
:
:
GS_PLAYING_GAME
)
return
;
if
(
!
SF
-
>
getSAMP
(
)
-
>
IsInitialized
(
)
)
return
;
SF
-
>
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"macro"
)
;
SF
-
>
getRakNet
(
)
-
>
registerRakNetCallback
(
RakNetScriptHookType
:
:
RAKHOOK_TYPE_OUTCOMING_PACKET
,
outcomingData
)
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"macro"
,
heh
)
;
init
=
true
;
}
}
BOOL
APIENTRY
DllMain
(
HMODULE
hModule
,
DWORD
dwReasonForCall
,
LPVOID
lpReserved
)
{
switch
(
dwReasonForCall
)
{
case
DLL_PROCESS_ATTACH
:
SF
-
>
initPlugin
(
mainloop
,
hModule
)
;
break
;
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}
|
|
|

07.03.2016, 15:54
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Бли, хватит флудить здесь этим вопросом.
В крайнем случае можешь применить класс SFCleo.
|
|
|

07.03.2016, 15:59
|
|
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами:
5884065
Репутация:
0
|
|
Сообщение от legend2360
Бли, хватит флудить здесь этим вопросом.
В крайнем случае можешь применить класс SFCleo.
А wait можно?
Сообщение от legend2360
Бли, хватит флудить здесь этим вопросом.
В крайнем случае можешь применить класс SFCleo.
Все равно
PHP:
Код:
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
bool kek
=
false
;
void
CALLBACK
cmd_show_info_player
(
std
:
:
string param
)
{
kek
^
=
true
;
if
(
kek
)
{
if
(
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"02E0: actor $PLAYER_ACTOR firing_weapon"
)
&&
SF
-
>
getSAMP
(
)
-
>
getPlayers
(
)
-
>
pLocalPlayer
-
>
byteCurrentWeapon
==
25
)
{
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0001: wait 50"
)
;
PEDSELF
-
>
GiveWeapon
(
(
eWeaponType
)
25
,
0
,
WEAPONSKILL_PRO
)
;
}
}
}
void
CALLBACK
mainloop
(
)
{
static
bool init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
)
return
;
if
(
GAME
-
>
GetSystemState
(
)
!=
eSystemState
:
:
GS_PLAYING_GAME
)
return
;
if
(
!
SF
-
>
getSAMP
(
)
-
>
IsInitialized
(
)
)
return
;
SF
-
>
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"macro"
)
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"cyka"
,
cmd_show_info_player
)
;
init
=
true
;
}
}
BOOL
APIENTRY
DllMain
(
HMODULE
hModule
,
DWORD
dwReasonForCall
,
LPVOID
lpReserved
)
{
switch
(
dwReasonForCall
)
{
case
DLL_PROCESS_ATTACH
:
SF
-
>
initPlugin
(
mainloop
,
hModule
)
;
break
;
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}
|
|
|

07.03.2016, 16:28
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Сообщение от Tray228
А wait можно?
Для чего? Если прям трясьот, что нельзя юзать Sleep в mainloop, используй CreateThread, std::thread, _beginthread и т.п.
|
|
|

07.03.2016, 16:32
|
|
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами:
5884065
Репутация:
0
|
|
Сообщение от legend2360
Для чего? Если прям трясьот, что нельзя юзать Sleep в mainloop, используй CreateThread, std::thread, _beginthread и т.п.
Толку 0, не работает
Я таймер заюзал, все равно не пашет
|
|
|

07.03.2016, 16:33
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Сообщение от Tray228
Толку 0, не работает
А должно?
|
|
|

07.03.2016, 17:00
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Ну так сам думай и пробуй
|
|
|

07.03.2016, 17:15
|
|
Познающий
Регистрация: 10.01.2016
Сообщений: 98
С нами:
5442178
Репутация:
18
|
|
C++:
Код:
int
square
=
1
;
CVector fPos
=
{
FxPos
,
FyPos
,
0.0
}
;
GAME
->
Get3DMarkers
(
)
->
CreateMarker
(
square
,
MARKER3D_TUBE
,
&
fPos
,
40.0
,
1.0
,
3
,
52
,
227
,
255
)
;
Беда, не могу нарисовать маркер, где косяк может быть?
FxPos и FyPos в зависимости от введенных данных по свичу выбираются
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|