О_о откуда оно там взялось, исправилПоэтому вместо моих 256, написал 152 :D?
А разве в переменную time[client] после использования OnClientDisconnected ты не должен снова записывать gettime(), иначе у тебя вместо временной метки будет время нахождения на сервере после захода, а далее вообще не пойми что@Palonez, @Palonez,
@Limbo,
C++:int time[MAXPLAYERS + 1], user_id[MAXPLAYERS + 1]; Database g_hDatabase; public void OnPluginStart() { Database.Connect(ConnectCallBack, "gamecms"); HookEvent("player_spawn", Event_PlayerSpawn, EventHookMode_Post); } public void ConnectCallBack(Database hDatabase, const char[] sError, any data) { if (hDatabase == null) { SetFailState("Database failure: %s", sError); return; } g_hDatabase = hDatabase; } public void OnClientPostAdminCheck(int client) { static char szQuery[256], szAuth[64]; if(0 < client && !IsFakeClient(client)) { GetClientAuthId(client, AuthId_Steam2, szAuth, sizeof(szAuth), true); FormatEx(szQuery, sizeof(szQuery), "SELECT `id` FROM `users` WHERE `steam_id` = '%s';", szAuth); g_hDatabase.Query(SQL_Callback_SelectClient, szQuery, GetClientUserId(client)); time[client] = GetTime(); } } public void SQL_Callback_SelectClient(Database hDatabase, DBResultSet hResults, const char[] sError, any iUserID) { if(sError[0]) { LogError("SQL_Callback_SelectClient: %s", sError); return; } int client = GetClientOfUserId(iUserID); if(client) { if(hResults.FetchRow()) { user_id[client] = hResults.FetchInt(0); } } } public void Event_PlayerSpawn(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); if(!client) return; OnClientDisconnected(client); } public void OnClientDisconnected(int client) { if(0 < client && !IsFakeClient(client) && user_id[client] > 0) { char szQuery[256], sAuth[64]; time[client] = GetTime() - time[client]; GetClientAuthId(client, AuthId_Steam2, sAuth, sizeof(sAuth)); FormatEx(szQuery, sizeof(szQuery), "UPDATE `users` SET `game_time` = `game_time` + '%d' WHERE `id` = '%d'", time[client], user_id[client]); g_hDatabase.Query(SQL_Callback_SaveClient, szQuery, GetClientUserId(client)); } } public void SQL_Callback_SaveClient(Database hDatabase, DBResultSet results, const char[] szError, any data) { if(szError[0]) LogError("SQL_Callback_Save: %s", szError); }
возможно так
могу взяться, если оставите запрос в разделе "Требуется"Здравствуйте, прошу помощи в написание простенького плагина (можно на мат основе)
Требуется плагин который бы записывал игровое время проведённое на сервере., серверов 3.
И записывал бы в секундах все это в бд от gamecms в Таблица: users
Посмотреть вложение 110173
Игры cs go и tf2
Только писать в приват за хорошее вознаграждениеПривет всем, нужен плагин на необычные оружья которые будут падать с неба как дроп. Например оружие лазеры, огнеметы, гранатометы у которых будет большой урон
А что разработчик? Или не поддерживает?Может кто помочь исправить плагин для css?
1 - В начале каждого нового раунда берется нож а пистолет выбрасывает
2 - У терористов всегда берется дефуза
Проблема только в css steam а в cs:go таких проблем нет
Action ProccesItem(Handle hTimer, ArrayList hArray)
{
int iClient, iCaseID, iEntity;
iEntity = hArray.Get(0);
for (int i = 1; i < MaxClients; i++)
{
if (IsClientInGame(i) && iTrashData[0][i] == iEntity)
{
iClient = i;
iCaseID = iTrashData[1][i];
}
}
if (iClient)
{
int iItemID = hArray.Get(g_iCounter[iClient]);
hArray.Erase(g_iCounter[iClient]);
if (2 > g_iCounter[iClient])
{
g_iPlayerInfo[iCaseID][iClient].iCasesAmount--;
if (g_iCasesValues[iCaseID].bNeedKey)
{
!g_bKeysType[iClient] ? g_iUniverKeysAmount[iClient]--:g_iPlayerInfo[iCaseID][iClient].iKeysAmount--;
}
g_iPlayerInfo[iCaseID][iClient].iClientCaseCD = g_iCasesValues[iCaseID].iCaseCD+GetTime();
if (iTrashData[2][iClient] == iCaseID && iTrashData[3][iClient] != -1)
{
iItemID = iTrashData[3][iClient];
iTrashData[2][iClient] = iTrashData[3][iClient] = -1;
}
iTrashData[0][iClient] = iTrashData[1][iClient] = 0;
g_bIsOpening[iClient] = false;
OnClientOpenCase(iClient, iCaseID, g_iItemsValues[iCaseID][iItemID].sTrigger, g_iItemsValues[iCaseID][iItemID].sOutCome);
SaveData(iClient);
if (g_bFreezePlayer)
{
SetEntityMoveType(iClient, MOVETYPE_WALK);
}
if (g_bGodMode)
{
SetEntProp(iClient, Prop_Data, "m_takedamage", 2, 1);
}
else
{
PrintHintText(iClient, "▷ ► %s ◄ ◁", g_iItemsValues[iCaseID][iItemID].sName);
}
EmitSoundToClient(iClient, g_iRarityValues[g_iItemsValues[iCaseID][iItemID].iRarityID].sRaritySounds, _, 0, _, _, fVolume);
if (g_bUserMsg) PerformFade(iClient, g_iRarityValues[g_iItemsValues[iCaseID][iItemID].iRarityID].iRGBA);
RemoveEntityEx(EntRefToEntIndex(iEntity), "FadeAndKill");
if (g_bChatAll)
{
char sCM[256], sOld[256];
FormatEx(sCM, sizeof(sCM), "%t", "CM_Player_Dropped_Item", iClient, g_iRarityValues[g_iItemsValues[iCaseID][iItemID].iRarityID].sRarityChatColors_CM, g_iItemsValues[iCaseID][iItemID].sName, g_iCasesValues[iCaseID].sCaseName);
MC_PrintToChatAll("%s %s", sChatColors_CM, sCM);
FormatEx(sOld, sizeof(sOld), "%t", "Player_Dropped_Item", iClient, g_iItemsValues[iCaseID][iItemID].sName, g_iCasesValues[iCaseID].sCaseName);
C_PrintToChatAll("%s %s", sChatColors, sOld);
}
delete hArray;
}
else
{
EmitSoundToClient(iClient, sSoundsScroll, _, 0, _, _, fVolume);
PrintHintText(iClient, "▷ ► %s ◄ ◁", g_iItemsValues[iCaseID][iItemID].sName);
CreateTimer(g_iCounter[iClient] < 3 ? 0.7:0.3, ProccesItem, hArray);
}
g_iCounter[iClient]--;
}
}
Вот, попробуй, убрал оттуда вип (компилил на см 1.11)Вопрос, может есть у кого плагин для 10 патронов в обойме AWP поделитесь - Нашёл только этот модуль, [VIP] AWP Manager но вип я не использую.
Вот, попробуй, убрал оттуда вип (компилил на см 1.11)
Попробуй залить остальные файлы с плагина что ты выше кидал.L 03/18/2023 - 10:05:53: SourceMod error session started
L 03/18/2023 - 10:05:53: Info (map "awp_lego_tower_2") (file "/home/server60106/game/csgo/addons/sourcemod/logs/errors_20230318.log")
L 03/18/2023 - 10:05:53: [SM] Error parsing gameconfig file "/home/server60106/game/csgo/addons/sourcemod/gamedata/ammomanager.gamedata.txt":
L 03/18/2023 - 10:05:53: [SM] Error 1 on line 0, col 0: Stream failed to open
L 03/18/2023 - 10:05:53: [SM] Exception reported: Unable to open ammomanager.gamedata: File could not be opened: No such file or directory
L 03/18/2023 - 10:05:53: [SM] Blaming: awp_manager.smx
L 03/18/2023 - 10:05:53: [SM] Call stack trace:
L 03/18/2023 - 10:05:53: [SM] [0] LoadGameConfigFile
L 03/18/2023 - 10:05:53: [SM] [1] Line 30, D:\Desktop\CSGO Compiler\awp_manager.sp::OnPluginStart
L 03/18/2023 - 10:05:53: [SM] Unable to load plugin "awp_manager.smx": Error detected in plugin startup (see error logs)
L 03/18/2023 - 10:06:14: Error log file session closed.
залил геймдату ошибок нет патронов 5Попробуй залить остальные файлы с плагина что ты выше кидал.
В конфиге который ты так же должен был залить измени "awp_clip_ammo_forall" "5" на "awp_clip_ammo_forall" "10"залил геймдату ошибок нет патронов 5
нет не помоглоВ конфиге который ты так же должен был залить измени "awp_clip_ammo_forall" "5" на "awp_clip_ammo_forall" "10"
Ошибки есть?нет не помогло
попробуй там же в конфиге "enable_awp_manager_forall" "0" сменить на "enable_awp_manager_forall" "1"нет не помогло