public Native_GetKv(Handle:plugin, numParams)
{
PrintToServer("%u",hKv);
return _:hKv;
}
Format(buffer, sizeof(buffer), "%t", "AdminMenu Title");
SetMenuTitle(g_RanksMenu, buffer);
public Handle_ArmyAdmin(Handle:hMenu, MenuAction:action, client, param2)
{
if(action == MenuAction_Select)
{
decl String:info[256];
GetMenuItem(hMenu,param2,info,sizeof(info));
if (StrEqual(info,"setrank")) Army_SetRank(client,0);
else if (StrEqual(info,"death")) Army_Death(client);
else if (StrEqual(info,"kills")) Army_Kill(client);
else if (StrEqual(info,"ResetPlayer")) Army_Reset(client);
}
}
switch(param2)
{
case 0: ...
case 1: ...
...
}
decl String:userid[50], String:name[32];
for (new i = 1; i <= MaxClients; i++)
{
if (0 < i && i < MaxClients && IsClientInGame(i))
{
Format(info, sizeof(info), "%T","Yes",client);
Format(buffer, sizeof(buffer),"%d|Yes", target);
AddMenuItem(ResetMenu, buffer,info);
Format(info, sizeof(info), "%T","No",client);
AddMenuItem(ResetMenu, "No",info);
...
decl String:buffer[3][100];
GetMenuItem(hMenu,iSlot,buffer[0],sizeof(buffer[]));
ExplodeString(buffer[0],"|",buffer,3,100);
if(!strcmp(buffer[1],"Yes",true))
{
new target = StringToInt(buffer[0]);
...
if(g_bLogs)LogToFile(LOG_ADMIN_RESETPLAYER,"Админ %N обнулил игрока %N",client,target);
}
if(!strcmp(buffer[1],"No",true)) Army_Reset(client);
AddMenuItem(menu, "+1000", "+1000",ITEMDRAW_DEFAULT);
AddMenuItem(menu, "+100", "+100",ITEMDRAW_DEFAULT);
AddMenuItem(menu, "+10", "+10",ITEMDRAW_DEFAULT);
AddMenuItem(menu, "0", "0",ITEMDRAW_DEFAULT);
AddMenuItem(menu, "-10", "-10",ITEMDRAW_DEFAULT);
AddMenuItem(menu, "-100", "-100",ITEMDRAW_DEFAULT);
AddMenuItem(menu, "-1000", "-1000",ITEMDRAW_DEFAULT);
decl String:sQuery[256], String:sName[32], String:sName2[32];
GetClientName(iClient, sName, sizeof(sName));
SQL_EscapeString(g_hSQLdb, sName, sName2, sizeof(sName2));
decl String:sQuery[256], String:sName[MAX_NAME_LENGTH*2+1];
GetClientName(iClient, sQuery, sizeof(sQuery));
SQL_EscapeString(g_hSQLdb, sQuery, sName, sizeof(sName));
decl String:sQuery[256];
Format(sQuery, sizeof(sQuery), "SELECT COUNT(*) FROM `army_ranks`");
SQL_TQuery(g_hSQLdb, SQLT_OnGetTotal, sQuery);
SQL_TQuery(g_hSQLdb, SQLT_OnGetTotal, "SELECT COUNT(*) FROM `army_ranks`");
while (!IsEndOfFile(hFile) && ReadFileLine(hFile, sItemInfo, 256))
{
TrimString(sItemInfo);
PushArrayString(g_hArraySortMenu,sItemInfo);
}
g_hArray_sRanks = CreateArray(64);
g_hArray_iKills = CreateArray();
g_hArraySortMenu = CreateArray(64);
Поэтому нужно юзать https://sm.alliedmods.net/api/index.php?fastload=show&id=684&blocksize The number of cells each member of the array can hold. For example, 32 cells is equivalent to: new Array[X][32]
g_hArray_sRanks = CreateArray(ByteCountToCells(64));
g_hArray_iKills = CreateArray();
g_hArraySortMenu = CreateArray(ByteCountToCells(64));
public Action:Command_Say_Team(client, const String:command[], argc)
{
if (0 < client <= MaxClients && IsClientInGame(client) )
{
decl String:sMessage[256];
GetCmdArgString(sMessage, sizeof(sMessage) - 1);
StripQuotes(sMessage);
// if ( StrEqual(sMessage, "rank") )
// {
// Command_Rank(client, 0);
// return Plugin_Handled;
// }
// else
if ( StrEqual(sMessage, "top") )
{
Command_Top(client, 0);
return Plugin_Handled;
}
}
return Plugin_Continue;
}
public Action:Command_Say(client, const String:command[], argc)
{
if (0 < client <= MaxClients && IsClientInGame(client) )
{
decl String:sMessage[500];
GetCmdArgString(sMessage, sizeof(sMessage) - 1);
StripQuotes(sMessage);
// if ( StrEqual(sMessage, "rank") )
// {
// Command_Rank(client, 0);
// return Plugin_Handled;
// }
// else
if ( StrEqual(sMessage, "top") )
{
Command_Top(client, 0);
return Plugin_Handled;
}
}
return Plugin_Continue;
}
Для всех символов предел длины никнейма равен MAX_NAME_LENGTH.Для имени вроде как нужно сделать 64 т.к. ники кириллицей могут не влезать (нужно проверять)
Может и получит, скажем так, но вписать своё имя длиннее указанного предела просто не удастся. Поэтому и условлено считаем, что не запишет.тоесть GetClientName не получит больше чем 32 символа
DexKekcuk #13,
Не знаю, предусмотрено у вас это или нет, но напишу.
1. Сделать чтобы гранаты не выдавались на карте 35hp (ножи)
2. Тоже самое только с хп.
3. Тоже самое только с оружием.
4. Ну и с бронькой тоже самое, хотя она вроде как не мешает сильно.
Ибо на 35hp все это лишнее))
Вечером поставим и протестируем еще)
DexKekcuk #13,
Да, но, опять же лишний плагин, ради 1 карты.
И да, забыл сказать, релиз шикарен спасибо вам всем))
Саша Шеин, А в ближайшее время, будут еще модули?)