
05.10.2015, 23:54
|
|
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами:
5744580
Репутация:
28
|
|
Сообщение от return
Сообщение от Спойлер
PHP:
Код:
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
bool Skills
=
false
;
void
CALLBACK
cmd_skills
(
std
:
:
string str
)
{
if
(
Skills
==
false
)
{
Skills
=
true
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 72 value 100.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 78 value 100.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 71 value 100.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 76 value 100.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 79 value 100.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 77 value 100.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 70 value 100.0"
)
;
}
else
{
Skills
=
false
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 72 value 0.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 78 value 0.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 71 value 0.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 76 value 0.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 79 value 0.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 77 value 0.0"
)
;
SF
-
>
getCLEO
(
)
-
>
callOpcode
(
"0627: register_int_stat 70 value 0.0"
)
;
}
}
void
CALLBACK
mainloop
(
)
{
static
bool init
=
false
;
if
(
!
init
)
{
if
(
!
SF
-
>
getSAMP
(
)
-
>
IsInitialized
(
)
||
GAME
==
nullptr
)
return
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"fskills"
,
cmd_skills
)
;
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
;
}
Сообщение от Спойлер
Код:
Код:
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS *SF = new SAMPFUNCS();
bool Skills;
void CALLBACK cmd_skills(std::string str)
{
Skills ^= true;
if (Skills)
{
SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 0.0");
}
else
{
SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 100.0");
}
}
void CALLBACK mainloop()
{
static bool init = false;
if (!init)
{
if (!SF->getSAMP()->IsInitialized() || GAME == nullptr)
return;
SF->getSAMP()->registerChatCommand("fskills", cmd_skills);
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;
}
Вроде должно работать.
|
|
|

06.10.2015, 13:56
|
|
Участник форума
Регистрация: 23.10.2010
Сообщений: 125
С нами:
8186006
Репутация:
1
|
|
Сообщение от Woofing Giraffe
Сообщение от Спойлер
Код:
Код:
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS *SF = new SAMPFUNCS();
bool Skills;
void CALLBACK cmd_skills(std::string str)
{
Skills ^= true;
if (Skills)
{
SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 0.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 0.0");
}
else
{
SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 100.0");
SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 100.0");
}
}
void CALLBACK mainloop()
{
static bool init = false;
if (!init)
{
if (!SF->getSAMP()->IsInitialized() || GAME == nullptr)
return;
SF->getSAMP()->registerChatCommand("fskills", cmd_skills);
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;
}
Вроде должно работать.
Всё по старому, не выключается.
Хотя, наверно я не правильно выразился...
Я пробовал выводить текст при включении и выключении, всё хорошо прошло, соответственно всё работает.
Трабла в том, что не меняется значение "value".
Нашёл интересную вещь, оно меняется на 0, если выключить данную функцию и умереть. То бишь только после смерти "value" становится 0.
|
|
|

07.10.2015, 17:17
|
|
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами:
5884065
Репутация:
0
|
|
Как задать игроку имунитет
|
|
|

07.10.2015, 18:20
|
|
Участник форума
Регистрация: 25.12.2014
Сообщений: 245
С нами:
5990151
Репутация:
133
|
|
Ребят, подскажите какой компилятор лучше выбрать, чтобы был максимально прост и удобен в использовании, либо что-то на свой вкус. Спасибо
|
|
|

07.10.2015, 20:45
|
|
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами:
5744580
Репутация:
28
|
|
Сообщение от cover
Ребят, подскажите какой компилятор лучше выбрать, чтобы был максимально прост и удобен в использовании, либо что-то на свой вкус. Спасибо
Visual Studio 2015
|
|
|

07.10.2015, 21:01
|
|
Участник форума
Регистрация: 25.12.2014
Сообщений: 245
С нами:
5990151
Репутация:
133
|
|
Сообщение от Woofing Giraffe
Visual Studio 2015
Только 12 подойдет, нет ?
|
|
|

07.10.2015, 21:04
|
|
Постоянный
Регистрация: 20.10.2014
Сообщений: 489
С нами:
6086011
Репутация:
108
|
|
Сообщение от cover
Ребят, подскажите какой компилятор лучше выбрать, чтобы был максимально прост и удобен в использовании, либо что-то на свой вкус. Спасибо
,
Сообщение от cover
Только 12 подойдет, нет ?
Советую 2013 Ultimate, желательно с обновлением 4 или выше. ИМХО. ( Могут появится глюки с обновлением 2)
Также на всякий поставь DirectX SDK, чтоб не было лишних вопросов
|
|
|

08.10.2015, 16:45
|
|
Участник форума
Регистрация: 25.12.2014
Сообщений: 245
С нами:
5990151
Репутация:
133
|
|
А Dev-С++ не подойдет в качестве компилятора ?
|
|
|

08.10.2015, 18:27
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Ну готовый проект по Visual Studio сделан.
|
|
|

11.10.2015, 12:31
|
|
Постоянный
Регистрация: 20.10.2014
Сообщений: 489
С нами:
6086011
Репутация:
108
|
|
C++:
Код:
sscanf
(
input
,
"%s"
,
&
CMD
)
;
Записывает с диалога INPUT только /sms , я ввел к примеру /sms 0 Vax
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|