 |
|

08.11.2017, 20:29
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от Vandal™
Не первый раз уже выручаешь. Еще раз спасибо.
Чуток переделал код, что бы и русские символы в нижний регистр менялись.
Все и так меняется)
|
|
|

10.11.2017, 21:45
|
|
Познающий
Регистрация: 13.09.2015
Сообщений: 94
С нами:
5613466
Репутация:
68
|
|
Привет, ребята! Может ли кто-то рассказать как работать с камерой: установить позицию(включая направление "взгляда"), узнать позицию(включая направление "взгляда") и т.п.?
|
|
|

10.11.2017, 23:03
|
|
Постоянный
Регистрация: 26.08.2015
Сообщений: 435
С нами:
5639155
Репутация:
108
|
|
0xB6F258 - направление по горизонтали
0xB6F248 - по вертикали
вроде бы в радианах, не помню
|
|
|

11.11.2017, 10:03
|
|
Новичок
Регистрация: 23.05.2014
Сообщений: 15
С нами:
6302517
Репутация:
53
|
|
Как отловить исходящий RPC пакет от игрока в raksamp или собейте ? Мне нужно получить RPC_GiveTakeDamage
|
|
|

11.11.2017, 14:28
|
|
Познающий
Регистрация: 03.03.2015
Сообщений: 45
С нами:
5892571
Репутация:
0
|
|
Как исправить ошибку? Понимаю что файл не может открыться, но почему?
1>C:\Users\banmachine\Documents\Visual Studio 2015\Projects\sf_plug\SFPlugin\SFAPI\SAMPFUNCS_API .h(21): fatal error C1083: Не удается открыть файл включение: d3dx9.h: No such file or directory
Проблему врод исправил но появилась другая,
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\hash_map(17): error C2338: is deprecated and will be REMOVED. Please use . You can define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
1>main.cpp(18): warning C4477: "sscanf": в строке форматирования "%d" требуется аргумент типа "int *", но вариативный аргумент "1" имеет тип "int"
Код:
Код:
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS *SF = new SAMPFUNCS();
int time = -1;
void CALLBACK Weather(std::string param)
{
char weatherstring[128];
if (param.empty())
return;
sscanf(param.c_str(), "%d", 0xC81320);
SF->Log("{00FF00}ID погоды был изменен на {FFFFFF}%s", param.c_str());
}
void CALLBACK Time(std::string param)
{
if (param.empty())
return;
time = std::stoi(param);
if (time > 23 || time Log("{FF0000}Значение должно быть не больше 23 и не мешьше 0.");
return;
}
else
{
SF->Log("{00FF00}Время было изменено на {FFFFFF}%d {00FF00}часов.", time);
}
}
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->registerConsoleCommand("setweather", Weather);
SF->getSAMP()->registerChatCommand("setweather", Weather);
SF->registerConsoleCommand("settime", Time);
SF->getSAMP()->registerChatCommand("settime", Time);
init = true;
}
if (time > -1)
SF->getCLEO()->callOpcode("00C0: %d 0", time);
}
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;
}
|
|
|

11.11.2017, 15:37
|
|
Постоянный
Регистрация: 23.05.2017
Сообщений: 545
С нами:
4723927
Репутация:
158
|
|
Сообщение от Dexide
Проблему врод исправил но появилась другая,
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\hash_map(17): error C2338: is deprecated and will be REMOVED. Please use . You can define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
1>main.cpp(18): warning C4477: "sscanf": в строке форматирования "%d" требуется аргумент типа "int *", но вариативный аргумент "1" имеет тип "int"
Код:
Код:
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS *SF = new SAMPFUNCS();
int time = -1;
void CALLBACK Weather(std::string param)
{
char weatherstring[128];
if (param.empty())
return;
sscanf(param.c_str(), "%d", 0xC81320);
SF->Log("{00FF00}ID погоды был изменен на {FFFFFF}%s", param.c_str());
}
void CALLBACK Time(std::string param)
{
if (param.empty())
return;
time = std::stoi(param);
if (time > 23 || time Log("{FF0000}Значение должно быть не больше 23 и не мешьше 0.");
return;
}
else
{
SF->Log("{00FF00}Время было изменено на {FFFFFF}%d {00FF00}часов.", time);
}
}
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->registerConsoleCommand("setweather", Weather);
SF->getSAMP()->registerChatCommand("setweather", Weather);
SF->registerConsoleCommand("settime", Time);
SF->getSAMP()->registerChatCommand("settime", Time);
init = true;
}
if (time > -1)
SF->getCLEO()->callOpcode("00C0: %d 0", time);
}
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;
}
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
|
|
|

11.11.2017, 16:13
|
|
Познающий
Регистрация: 03.03.2015
Сообщений: 45
С нами:
5892571
Репутация:
0
|
|
Сообщение от LUCHARE
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
не помогло
|
|
|

11.11.2017, 16:16
|
|
Постоянный
Регистрация: 23.05.2017
Сообщений: 545
С нами:
4723927
Репутация:
158
|
|
Сообщение от Dexide
sscanf(param.c_str(), "%d", 0xC81320);
Сообщение от Dexide
1>main.cpp(18): warning C4477: "sscanf": в строке форматирования "%d" требуется аргумент типа "int *", но вариативный аргумент "1" имеет тип "int"
|
|
|

11.11.2017, 16:22
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Сообщение от BABLIK
Как отловить исходящий RPC пакет от игрока в raksamp или собейте ? Мне нужно получить RPC_GiveTakeDamage
Так же как и остальные RPC. Для этого тебе этот RPC должен сначала придти.
|
|
|

11.11.2017, 16:39
|
|
Новичок
Регистрация: 23.05.2014
Сообщений: 15
С нами:
6302517
Репутация:
53
|
|
Сообщение от legend2360
Так же как и остальные RPC. Для этого тебе этот RPC должен сначала придти.
Он не вызывается у меня.. Возможно потому что этот RPC исходящий от игрока.. Он точно должен вызываться ?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|