|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
как дать xp админу?
|
|
hitmany | Дата: Вторник, 19.01.2010, 11:52:26 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 2
Статус: Не в сети
| есть меню которое выводит список игроков,и даёт выбранному игроку XP,меню только для админов я хочу сделать так чтоб XP давалось только админу,выдавался не список игроков,а ник админа. Code new szArg1[32], szArg2[32]; read_argv( 1, szArg1, 31 ); read_argv( 2, szArg2, 31 ); // Команда выдачи Xp игроку if ( equal( szCmd, "wc3_givexp" ) || equal( szCmd, "amx_givexp" ) ) { if ( read_argc() < 3 ) { ADMIN_Print( id, "Format: %s <name|#id|auth|@TEAM|@ALL> <xp>", szCmd );
return PLUGIN_HANDLED; }
ADMIN_GiveXP( id, szArg1, str_to_num( szArg2 ) ); }
поиск выбранного игрока как я понял Code ADMIN_GiveXP( id, szTarget[], iXP ) { new iTarget = 0, bool:bTargetFound = false; // Do this while we continue having a target! while ( ( iTarget = FindTarget( iTarget, szTarget ) ) > 0 ) { ADMIN_SetXP( iTarget, p_data[iTarget][P_XP] + iXP );
client_print( iTarget, print_chat, "%s %L", g_MODclient, iTarget, "THE_ADMIN_GAVE_YOU_EXPERIENCE", iXP );
bTargetFound = true; }
// No target found :/ if ( !bTargetFound ) { ADMIN_NoTargetFound( id, szTarget, ( iTarget == -2 ) ); } }
Сообщение отредактировал hitmany - Вторник, 19.01.2010, 11:56:05 |
|
| |
PomanoB | Дата: Вторник, 19.01.2010, 13:59:58 | Сообщение # 2 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| Надо редактировать функцию показа меню
http://romanov4400.mybrute.com
|
|
| |
hitmany | Дата: Вторник, 19.01.2010, 18:15:40 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 2
Статус: Не в сети
| здесь ещё сложнее,надо как-то заменить get_players Code public menu_PlayerXP_Options(id,pos){
if (pos < 0){ menu_Admin_Options(id) return PLUGIN_CONTINUE }
get_players(g_menuPlayers[id],g_menuPlayersNum[id]) new menuBody[512] new b = 0 new i new name[32], team[4], title[128], back[16], exitstring[16] new start = pos * 7 if (start >= g_menuPlayersNum[id]) start = pos = g_menuPosition[id] = 0 format(title,127,"%L",id,"MENU_GIVE_PLAYERS_XP") new len = format(menuBody,511, "%s\R%d/%d^n\w^n",title,pos+1,(g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0 ))) new end = start + 7 new keys = (1<<9)|(1<<7)
if (end > g_menuPlayersNum[id]) end = g_menuPlayersNum[id]
for(new a = start; a < end; ++a){ i = g_menuPlayers[id][a] get_user_name(i,name,31) get_user_team(i,team,3) keys |= (1<<b) len += format(menuBody[len],511-len,"\w%d. %s^n\w",++b,name) }
format(title,127,"%L",id,"GIVE") len += format(menuBody[len],511-len,"^n8. %s %d XP^n",title,g_menuSettings[id])
format(back,15,"%L",id,"BACK_STRING")
if (end != g_menuPlayersNum[id]){ format(menuBody[len],511-len,"^n9. %L...^n0. %s", id,"MORE_STRING", pos ? back : back) keys |= (1<<8) } else{ format(exitstring,15,"%L",id,"WORD_EXIT") format(menuBody[len],511-len,"^n0. %s", pos ? back : exitstring) }
show_menu(id,keys,menuBody,-1) return PLUGIN_CONTINUE
}
|
|
| |
defaultNick8433 | Дата: Вторник, 19.01.2010, 19:38:46 | Сообщение # 4 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Code if(is_user_admin(g_menuPlayersNum[id])) ?
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
PomanoB | Дата: Вторник, 19.01.2010, 19:46:57 | Сообщение # 5 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| Quote (defaultNick8433) if(is_user_admin(g_menuPlayersNum[id])) ? Бред, g_menuPlayersNum[id] это число игроков Надо сделать просто самому заполнить этот массив g_menuPlayers[id], а не get_players for (i = 1; i <= get_maxplayers(); i++) { if (is_user_admin(i)) g_menuPlayers[id][g_menuPlayersNum[id]++] = i } как-то так
http://romanov4400.mybrute.com
|
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |