AMX MOD X
Пятница, 26.04.2024, 22:37:37



Приветствую Вас Гость | RSS
[ Главная ] [ как дать xp админу? - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » как дать xp админу?
как дать xp админу?
hitmanyДата: Вторник, 19.01.2010, 11:52:26 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Не в сети
есть меню которое выводит список игроков,и даёт выбранному игроку 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
Репутация: 70
Статус: Не в сети
Надо редактировать функцию показа меню

http://romanov4400.mybrute.com
 
hitmanyДата: Вторник, 19.01.2010, 18:15:40 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Не в сети
здесь ещё сложнее,надо как-то заменить 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
Репутация: 19
Статус: Не в сети
Code
if(is_user_admin(g_menuPlayersNum[id]))

?


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
PomanoBДата: Вторник, 19.01.2010, 19:46:57 | Сообщение # 5
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
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 Форум » Скриптинг » Помощь по скриптингу » как дать xp админу?
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024