D1m0n41k
Участник
- Сообщения
- 486
- Реакции
- 202
- Баллы
- 43
Добрый день!
Наверное немного 2 глупых вопроса... Но все же.
1. Подскажите пожалуйста, как верно вывести данные игрока из форварда:
forward OnAPIMemberConnected(id, memberId, memberName[])
Делаю вот так:
И там где memberName выдает ошибку:
error 029: invalid expression, assumed zero
2. Сделал вот так:
Но почему то при использовании get_EndTime для вывода результата в тот же лог или чат:
Выдает warning:
warning 204: symbol is assigned a value that is never used: "get_EndTime"
За ранее большое спасибо за подсказки
Весь исходный код плагина:
Наверное немного 2 глупых вопроса... Но все же.
1. Подскажите пожалуйста, как верно вывести данные игрока из форварда:
forward OnAPIMemberConnected(id, memberId, memberName[])
Делаю вот так:
C++:
log_to_file(szLogFileName, "[%s v%s] User: ^"%s^" ", szPluginInfo[0], szPluginInfo[1], memberName);
log_to_file(szLogFileName, "[%s v%s] User ID: ^"%d^" ", szPluginInfo[0], szPluginInfo[1], memberId);
И там где memberName выдает ошибку:
error 029: invalid expression, assumed zero
2. Сделал вот так:
C++:
new get_EndTime = cvars[g_iRegTime]*60*60 - cmsapi_get_user_gametime(id);
Но почему то при использовании get_EndTime для вывода результата в тот же лог или чат:
C++:
; Пример
client_print_color(id, 0, "^3[^4Reg Vip^3] ^4%s^1, до окончания услуги осталось ^3[^4%d^3] ^1часов^4!", szName, get_EndTime);
warning 204: symbol is assigned a value that is never used: "get_EndTime"
За ранее большое спасибо за подсказки
Весь исходный код плагина:
C++:
#pragma compress 1
#include <amxmodx>
#include <gamecms5>
new szPluginInfo[][] = { "CMSGive_RegVip", "1.0", "SevCorp" };
new szLogFileName[] = "CMSGive_RegVip.log" // Название лог файла
enum szCvarCreate { g_szFlags[16], g_szAward[128], szFlagsAccess[16], g_iRegTime, g_iLogingOn, get_EndTime };
new cvars[szCvarCreate];
public plugin_precache() {
register_plugin(szPluginInfo[0], szPluginInfo[1], szPluginInfo[2]);
initCvars();
}
public OnAPIMemberConnected(id, memberId, memberName[])
{
new szName[36], MapName[32];
get_user_name(id, szName, charsmax(szName));
get_mapname(MapName, charsmax(MapName));
new get_EndTime = cvars[g_iRegTime]*60*60 - cmsapi_get_user_gametime(id);
if(checkAccess(id, cvars[szFlagsAccess])) {
if((cmsapi_get_user_regdate(id) + cvars[g_iRegTime]*60*60) > get_systime()) {
cmsapi_set_user_flags(id, cvars[g_szFlags], -1, cvars[g_szAward]);
client_print_color(id, 0, "^3[^4Reg Vip^3] ^4%s^1, до окончания услуги осталось ^3[^4%d^3] ^1часов^4!", szName, get_EndTime);
}
if(cvars[g_iLogingOn] == 1) {
log_to_file(szLogFileName, "[%s v%s] ----------------------Started on the map: %s----------------------", szPluginInfo[0], szPluginInfo[1], MapName);
log_to_file(szLogFileName, "[%s v%s] Time: ^"%d^" ", szPluginInfo[0], szPluginInfo[1], cvars[g_iRegTime]);
log_to_file(szLogFileName, "[%s v%s] GiveFlags: ^"%s^" ", szPluginInfo[0], szPluginInfo[1], cvars[g_szFlags]);
log_to_file(szLogFileName, "[%s v%s] FlagsAccess: ^"%s^" ", szPluginInfo[0], szPluginInfo[1], cvars[szFlagsAccess]);
log_to_file(szLogFileName, "[%s v%s] Award: ^"%s^" ", szPluginInfo[0], szPluginInfo[1], cvars[g_szAward]);
log_to_file(szLogFileName, "[%s v%s] ----------------------------Giv Users-----------------------------", szPluginInfo[0], szPluginInfo[1]);
log_to_file(szLogFileName, "[%s v%s] User: ^"%s^" ", szPluginInfo[0], szPluginInfo[1], memberName);
log_to_file(szLogFileName, "[%s v%s] User ID: ^"%d^" ", szPluginInfo[0], szPluginInfo[1], memberId);
log_to_file(szLogFileName, "[%s v%s] TimeLeft: ^"%s^" ", szPluginInfo[0], szPluginInfo[1], get_EndTime);
log_to_file(szLogFileName, "[%s v%s] --------------------LogFile END on the map: %s--------------------", szPluginInfo[0], szPluginInfo[1], MapName);
} } }
initCvars() {
bind_pcvar_num(create_cvar("g_iLogingOn", "1", FCVAR_NONE, "Логирование выдачи привилегий:^n0 - Выключить^n1 - Включить" ), cvars[g_iLogingOn]);
bind_pcvar_num(create_cvar("g_iRegTime", "24", FCVAR_NONE, "В течение скольких часов с момента регистрации выдавать флаги" ), cvars[g_iRegTime]);
bind_pcvar_string(create_cvar("g_szFlags", "t", FCVAR_NONE, "Какие флаги выдавать игроку?^nФлаги выдаются только до конца карты!" ), cvars[g_szFlags], charsmax(cvars[g_szFlags]));
bind_pcvar_string(create_cvar("szFlagsAccess", "z", FCVAR_NONE, "Игрокам с каким флагом выдавать привилегию^nСтавьте флаг ^"z^"^nчто бы флаги выдавалиь только обычным игрокам " ), cvars[szFlagsAccess], charsmax(cvars[szFlagsAccess]));
bind_pcvar_string(create_cvar("g_szAward", "Награда за регистрацию", FCVAR_NONE, "название награды^nУказывать в часах" ), cvars[g_szAward], charsmax(cvars[g_szAward]));
AutoExecConfig(true, "CMSGive_RegVip", "SevCorp");
}
checkAccess(id, const flags[]){
return (get_user_flags(id) & read_flags(flags));
}
Последнее редактирование: