AMX MOD X
Вторник, 23.04.2024, 21:06:37



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » hamsandwich (настройка функции)
hamsandwich
FreeKILLДата: Понедельник, 04.01.2010, 13:54:29 | Сообщение # 1
Подполковник
Группа: Пользователи
Сообщений: 143
Репутация: 4
Статус: Не в сети
вот у меня есть некая функция
Code
ExecuteHamB( Ham_CS_RoundRespawn, this)

я хочу сделать чтобы она действовала на всех(под this я понимаю id того на кого будет действовать функция)
я сделал так
Code

new index, playerCount, player1
new players1[32]
     
get_players(players1, playerCount, "b")
for (index=0; index< playerCount; index++) {
player1 = players1[index]
ExecuteHamB( Ham_CS_RoundRespawn, player1)
}

но почему-то непашет(
решил проверить правильно ли я сделал цикл на всех игроков(дохлых, ну там флаг "b")
сделал функцию из модуля fun

Code

new playerHP = g_menuPlayers2[id][g_HmenuPosition[id] * 6 +key]
    new in2, playerCount2, player12
    new players12[32]
    new nameplayerHP[32]
    get_user_name(playerHP, nameplayerHP, 31)
    get_players(players12, playerCount2, "ac")

                            for (in2=0; in2< playerCount2; in2++) {
      player12 = players12[in2]
       
       
       set_user_health(player12, get_user_health(player12) + 50)
     }

но вот теперь все чудесным образом работает) что к чему непойму...

дак что надо вместо this если не id

 
PomanoBДата: Понедельник, 04.01.2010, 20:57:22 | Сообщение # 2
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (FreeKILL)
дак что надо вместо this если не id

Надо именно что id игрока, ищи ошибку в другом месте


http://romanov4400.mybrute.com
 
FreeKILLДата: Понедельник, 04.01.2010, 21:07:35 | Сообщение # 3
Подполковник
Группа: Пользователи
Сообщений: 143
Репутация: 4
Статус: Не в сети
немного тебя непонял, где в другом месте если это вся функция и есть?)
я пробовал так:
Code
if(g_menuREVOption[id] == true) {
      new maxpl = get_maxplayers()
      //new player11
      //new Players11[32]
      //new playerCount11
        
      //get_players(Players11, playerCount11, "b")
        
        
        
      for(new i=1;i<= maxpl;i++) {
       if(!is_user_alive(i)) {
         
        ExecuteHamB( Ham_CS_RoundRespawn, i)
        client_print(0, print_center, "%L", LANG_SERVER, "REVIVE_ALL2")
        displayMRevive(id, g_RevmenuPosition[id])
        return PLUGIN_HANDLED
       }
       else {
        displayMRevive(id, g_RevmenuPosition[id])
        return PLUGIN_HANDLED
       }
        
      }
      client_print(0, print_center, "6yrararararrar")
      return PLUGIN_HANDLED   
        
         
        
      }

неработает,
пробовал этак:

Code
if(g_menuREVOption[id] == true) {
      //new maxpl = get_maxplayers()
      new Players[32]
      new playerCount,i,player1
      get_players(Players, playerCount, "b")
        
        
        
      for(new i=0;i< playerCount;i++) {
       player1 = Players[i]
         
       ExecuteHamB( Ham_CS_RoundRespawn, player1)
       client_print(0, print_center, "%L", LANG_SERVER, "REVIVE_ALL2")
       displayMRevive(id, g_RevmenuPosition[id])
       return PLUGIN_HANDLED
         
        
      }
      client_print(0, print_center, "6yrararararrar")
      return PLUGIN_HANDLED   
        
         
        
      }

во втором случае, функция возраждает только одного юзера(того на кого нажал) и пишет эту надпись(клиент принт)

хотя делал абсолютно все одинаково токо с другой функцией(set_user_health) и все работало как пологается.
%)

Сообщение отредактировал FreeKILL - Понедельник, 04.01.2010, 21:15:37
 
PomanoBДата: Понедельник, 04.01.2010, 22:00:49 | Сообщение # 4
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (FreeKILL)
абсолютно все одинаково токо с другой функцией(set_user_health) и все работало как пологается.

Ну и как же ты устанавливал здоровье мёртвому игроку)))

Так попробуй

Code
if(g_menuREVOption[id] == true)  
{
  new maxplayers = get_maxplayers()
  new i
  for (i = 1; i <= maxplayers; i++)
   if (is_user_connected(i) && 1 <= get_user_team(i) <= 2 && !is_user_alive(i))
    ExecuteHamB( Ham_CS_RoundRespawn, i)
}


http://romanov4400.mybrute.com
 
FreeKILLДата: Вторник, 05.01.2010, 10:38:25 | Сообщение # 5
Подполковник
Группа: Пользователи
Сообщений: 143
Репутация: 4
Статус: Не в сети
ниче непонимаю crazy
я делал почти одинаковый код как у тебя и ничего не работало (вылетела ошибка и серв рухнул)
я сделал так:[code]
if(g_menuREVOption[id] == true)
{
new maxpl = get_maxplayers()

for (new i = 0; i <= maxpl; i++)
if (!is_user_alive(i))
ExecuteHamB( Ham_CS_RoundRespawn, i)

else
return_PLUGIN_HANDLED
}

а зделал как у тебя и все заработало...
мб я путаю индекс и ид..

Добавлено (05.01.2010, 10:25:01)
---------------------------------------------
а нет, твой код тоже возрождает только по одному человеку
%)

Добавлено (05.01.2010, 10:38:25)
---------------------------------------------
вот на всякий случай весь код, авось собака не тут зарыта.

Code
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Admin Control"
#define VERSION "10.0" //4 day  revive GOTOBO! 6.5 HP GOTOVO!!! speed gotovo 7.4!!!!
#define AUTHOR "~Free*.*KILL~"
new b  

new name[32]
new start
new len
new end
new keys
new a

new pos
new invisibly[33][2]
new g_HmenuPosition[33]
new g_RevmenuPosition[33]
new g_SmenuPosition[33]
new g_GrmenuPosition[33]
new g_WmenuPosition[33]
new g_GomenuPosition[33]
new g_ImenuPosition[33]
new g_ResmenuPosition[33]
new g_menuPlayers[33][32]
new g_menuPlayersNum[33]
new g_menuPlayers2[33][32]
new g_menuPlayersNum2[33]
new g_menuPlayers3[33][32]
new g_menuPlayersNum3[33]
new menuBody[512]
new g_coloredMenus
new bool:g_menuREVOption[33] = false
new bool:g_menuHOption[33] =false
new bool:g_menuHOption2[33] =false
new Tmenu_position[33]
new bool:g_menuSOption[33] =false
new bool:g_menuSOption2[33] =false

#define keysmenu (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)

public plugin_init() {
  register_plugin(PLUGIN, VERSION, AUTHOR)
  register_dictionary("admin_control.txt")
  register_clcmd("admin_control", "showadmincontrol", ADMIN_IMMUNITY, "")
  register_menucmd(register_menuid("admincontrol"), keysmenu, "switchmenu")
  register_menucmd(register_menuid("Revive Menu2"), 1023, "actionReviveMenu")
  register_menucmd(register_menuid("HP Menu"), 1023, "actionHPMenu")
  register_menucmd(register_menuid("Speed Menu"), 1023, "actionSpeedMenu")
  register_menucmd(register_menuid("Gravity Menu"), 1023, "actionGravityMenu")
  register_menucmd(register_menuid("Weapons Menu"), 1023, "actionWeaponsMenu")
  register_menucmd(register_menuid("Godmode Menu"), 1023, "actionGodmodeMenu")
  register_menucmd(register_menuid("Invisibility Menu"), 1023, "actionInvisibilityMenu")
  register_menucmd(register_menuid("Restoration Menu"), 1023, "actionRestorationMenu")
   
   
}
public client_putinserver(id) {
  //if(is_user_bot(id))
   //return PLUGIN_HANDLED
   
  //invisibly[id][0]
}
public showadmincontrol(id,level,cid) {
  if(!cmd_access(id,level,cid,1)) {
   client_print(id, print_chat, "%L", LANG_SERVER, "NO_ACCESS")
   return PLUGIN_HANDLED
  }
  g_menuSOption[id] = false
  g_menuSOption2[id] = false
  g_menuHOption[id] =false
  g_menuHOption2[id] =false
  g_menuREVOption[id] = false
  show_menu(id, keysmenu, "Admin Control^n^n1: Give Revive^n2: Give HP^n3: Give Speed^n4: Give Gravity^n5: Give Weapons^n6: Give GodMod^n7: Give Invisibility^n8: Give Restoration^n^n0: Exit", -1, "admincontrol")
  return PLUGIN_HANDLED
   
}
public switchmenu(id,key) {
  switch(key) {
   case 0: displayMRevive(id, Tmenu_position[id] == 0) //1
   case 1: displayMHp(id, Tmenu_position[id] == 0)  //2
   case 2: displayMSpeed(id, Tmenu_position[id] == 0) //3
   case 3: displayMGravity(id, g_GrmenuPosition[id] == 0)//4
   case 4: displayMWeapons(id, g_WmenuPosition[id] == 0)//5
   case 5: displayMGodmode(id, g_GomenuPosition[id] == 0)//6
   case 6: displayMInvisibility(id, g_ImenuPosition[id] == 0)//7
   case 7: displayMRestoration(id, g_ResmenuPosition[id] == 0)//8
   case 8: client_cmd(id, "admin_control")//9
   case 9: {
     
    return PLUGIN_HANDLED //0
   }
  }
  return PLUGIN_HANDLED
}
displayMRevive(id, pos) {
  Tmenu_position[id] = g_RevmenuPosition[id] = 0
  pos = g_RevmenuPosition[id]
  g_RevmenuPosition[id] = 0
  Tmenu_position[id] = 0
  pos = 0
  if (pos < 0)  //при какой позиции страницы будет запускаться меню
   client_cmd(id, "admin_control")
   
  get_players(g_menuPlayers[id], g_menuPlayersNum[id], "b")
   
   
  b = 0
  new i
   
  start = pos * 7
   
  if (start>=g_menuPlayersNum[id])
   start = pos = g_RevmenuPosition[id] = 0  //MEH9Tb start = pos = g_RevmenuPosition[id] = 0
   
  len = format(menuBody,511, g_coloredMenus ? "\r%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id , "REVIVE_MENU2", pos + 1, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0)))  //MEH9Tb
  end = start + 7
  keys = MENU_KEY_0|MENU_KEY_8
   
  if(end>g_menuPlayersNum[id])
   end=g_menuPlayersNum[id]
   
  for (a = start; a< end; ++a) {
   i = g_menuPlayers[id][a]
   get_user_name(i, name, 31)
    
   if (is_user_bot(i) || (access(i, ADMIN_IMMUNITY) && i !=id)) {
    ++b
     
    if(g_coloredMenus)
     len+=format(menuBody[len], 511-len, "\d%d. %s^n\w", b , name)
    else
     len += format(menuBody[len], 511-len, "#. %s^n", name)
   
   } else {
    keys |= (1<<b)
     
    if (is_user_admin(i))
     len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*^n\w" : "%d. %s *^n", ++b, name)
    else
     len += format(menuBody[len], 511-len, "%d. %s^n", ++b, name)
   }
   
  }
  if(g_menuREVOption[id] == false)
   len += format(menuBody[len], 511-len, "^n8. \g%L^n", id, "REVIVE_ONE")
  if(g_menuREVOption[id] == true)
   len += format(menuBody[len], 511-len, "^n8. \g%L^n", id, "REVIVE_ALL")
  if(end!=g_menuPlayersNum[id]) { //if(end!=g_menuPlayersNum[id])
   format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE2", id, pos ? "BACK2" : "EXIT2")
   keys |= MENU_KEY_9
  }
  else
   format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK2" : "EXIT2")
  show_menu(id,keys,menuBody,-1,"Revive Menu2")
}
public actionReviveMenu(id, key) {
  switch(key) {
   case 7: {
    if(g_menuREVOption[id]== true) {
     g_menuREVOption[id] = false
     displayMRevive(id, g_RevmenuPosition[id])
     return PLUGIN_HANDLED
    }
    else {
     g_menuREVOption[id] = true
     displayMRevive(id, g_RevmenuPosition[id])
     return PLUGIN_HANDLED
    }
    return PLUGIN_HANDLED
   }
   case 8: displayMRevive(id, ++g_RevmenuPosition[id])
   case 9: {
    --g_RevmenuPosition[id]    
    if (g_RevmenuPosition[id] >= 0 )    
     displayMRevive(id, g_RevmenuPosition[id])     
    else    
     client_cmd(id, "admin_control")    
   }
    
   default: {
    new player = g_menuPlayers[id][g_RevmenuPosition[id] * 7 +key]
     
     
     
     
      
    if(g_menuREVOption[id] == false) {
     if(!is_user_alive(player)) {
     ///new name[32], name2[32], authid[32], authid2[32]
     ///get_user_name(player, name2, 31)
     ///get_user_authid(id, authid, 31)
     ///get_user_authid(player, authid2,31)
     ///get_user_name(id,name,31)
     ExecuteHamB( Ham_CS_RoundRespawn, player)
     
     displayMRevive(id, g_RevmenuPosition[id])
     return PLUGIN_HANDLED
     }
     else {
     displayMRevive(id, g_RevmenuPosition[id])
     return PLUGIN_HANDLED
     }
    }
    if(g_menuREVOption[id] == true) {
     new maxplayers = get_maxplayers()
     //new Players[32]
     //new player2[32]
     //new PlayerCount,i,player1
     //get_players(Players, PlayerCount, "b")
     new i
      
      
     for(i=1;i<= maxplayers;i++) {
      
      if(is_user_connected(i) && 1 <=get_user_team(i) <= 2 && !is_user_alive(i)) {
       
       ExecuteHamB( Ham_CS_RoundRespawn, i)
       client_print(0, print_center, "%L", LANG_SERVER, "REVIVE_ALL2")
       displayMRevive(id, g_RevmenuPosition[id])
       return PLUGIN_HANDLED
      }
       
      
     }
     client_print(0, print_center, "6yrararararrar")
     return PLUGIN_HANDLED  
      
       
      
     }
    client_print(0, print_center, "myxaxaxaxaxx")
    return PLUGIN_HANDLED
      
       
   }
     
    
  }
  return PLUGIN_HANDLED
}  
   
displayMHp(id, pos) {
  Tmenu_position[id] = g_HmenuPosition[id] = 0
  pos = g_HmenuPosition[id]
  g_HmenuPosition[id] = 0
  Tmenu_position[id] = 0
  pos = 0
   
  if (pos < 0)  //при какой позиции страницы будет запускаться меню
   client_cmd(id, "admin_control")
   
  get_players(g_menuPlayers2[id], g_menuPlayersNum2[id], "ac")
  g_HmenuPosition[id] = 0
   
  b = 0
  new i
   
   
  start = pos * 6
   
  if (start>=g_menuPlayersNum2[id])
   start = pos = g_HmenuPosition[id] = 0  //MEH9Tb start = pos = g_RevmenuPosition[id] = 0
   
  len = format(menuBody,511, g_coloredMenus ? "\r%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id , "HP_MENU", pos + 1, (g_menuPlayersNum2[id] / 6 + ((g_menuPlayersNum2[id] % 6) ? 1 : 0)))  //MEH9Tb
  end = start +6
  keys = MENU_KEY_0|MENU_KEY_8|MENU_KEY_7
   
  if(end>g_menuPlayersNum2[id])
   end=g_menuPlayersNum2[id]
   
  for (a = start; a< end; ++a) {
   i = g_menuPlayers2[id][a]
   get_user_name(i, name, 31)
    
   if (is_user_bot(i) || (access(i, ADMIN_IMMUNITY) && i !=id)) {
    ++b
     
    if(g_coloredMenus)
     len+=format(menuBody[len], 511-len, "\d%d. %s^n\w", b , name)
    else
     len += format(menuBody[len], 511-len, "#. %s^n", name)
   
   } else {
    keys |= (1<<b)
     
    if (is_user_admin(i))
     len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*^n\w" : "%d. %s *^n", ++b, name)
    else
     len += format(menuBody[len], 511-len, "%d. %s^n", ++b, name)
   }
   
  }
  if(g_menuHOption[id] == false)
   len += format(menuBody[len], 511-len, "^n7. \g%L", id, "GIVE_HP_50")
  if(g_menuHOption[id] == true)
   len += format(menuBody[len], 511-len, "^n7. \g%L", id, "GIVE_HP_150")
  if(g_menuHOption2[id] == false)
   len += format(menuBody[len], 511-len, "^n8. \g%L^n", id, "GIVE_HP_ONE")
  if(g_menuHOption2[id] == true)
   len += format(menuBody[len], 511-len, "^n8. \g%L^n", id, "GIVE_HP_ALL")
  if(end!=g_menuPlayersNum2[id]) { //if(end!=g_menuPlayersNum[id])
   format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE2", id, pos ? "BACK2" : "EXIT2")
   keys |= MENU_KEY_9
  }
  else
   format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK2" : "EXIT2")
  show_menu(id,keys,menuBody,-1,"HP Menu")
}

public actionHPMenu(id, key) {
  switch(key) {
    
   case 6: {
    if(g_menuHOption[id] == true) {
     g_menuHOption[id] = false
     displayMHp(id, g_HmenuPosition[id])
     return PLUGIN_HANDLED
     }
    else {
     g_menuHOption[id] = true
     displayMHp(id, g_HmenuPosition[id])
     return PLUGIN_HANDLED
    }
     
   }
    
   case 7: {
    if(g_menuHOption2[id]== true) {
     g_menuHOption2[id] = false
     displayMHp(id, g_HmenuPosition[id])
     return PLUGIN_HANDLED
     }
    else {
     g_menuHOption2[id] = true
     displayMHp(id, g_HmenuPosition[id])
     return PLUGIN_HANDLED
    }
     
   }
    
   case 8: {
   displayMHp(id, ++g_HmenuPosition[id])
  }
   
   case 9: {
    
   --g_HmenuPosition[id]    
   if (g_HmenuPosition[id] >= 0 )    
    displayMHp(id, g_HmenuPosition[id])     
   else    
    client_cmd(id, "admin_control")  
  }
   
   default: {
    new playerHP = g_menuPlayers2[id][g_HmenuPosition[id] * 6 +key]
    new in2, playerCount2, player12
    new players12[32]
    new nameplayerHP[32]
    get_user_name(playerHP, nameplayerHP, 31)
    get_players(players12, playerCount2, "ac")
       
       
    if(g_menuHOption2[id] == false) {
    ///new name[32], name2[32], authid[32], authid2[32]
    ///get_user_name(player, name2, 31)
    ///get_user_authid(id, authid, 31)
    ///get_user_authid(player, authid2,31)
    ///get_user_name(id,name,31)
     if(g_menuHOption[id] == false) {
      set_user_health(playerHP, get_user_health(playerHP) + 50)
      client_print(0, print_chat, "%L", LANG_SERVER, "GIVED_HP_50_ONE", nameplayerHP)
      displayMHp(id, g_HmenuPosition[id])
      }
     if(g_menuHOption[id] == true) {
      set_user_health(playerHP, get_user_health(playerHP) +150)
      client_print(0, print_chat, "%L", LANG_SERVER, "GIVED_HP_150_ONE", nameplayerHP)
      displayMHp(id, g_HmenuPosition[id])
     }
    }
    if(g_menuHOption2[id] == true) {
     for (in2=0; in2< playerCount2; in2++) {
      player12 = players12[in2]
       
      if(g_menuHOption[id] == false) {
       set_user_health(player12, get_user_health(player12) + 50)
       client_print(0, print_chat, "%L", LANG_SERVER, "GIVED_HP_50_ALL")
       displayMHp(id, g_HmenuPosition[id])
      }
       
      if(g_menuHOption[id] == true) {
       set_user_health(player12, get_user_health(player12) + 150)
       client_print(0, print_chat, "%L", LANG_SERVER, "GIVED_HP_150_ALL")
       displayMHp(id, g_HmenuPosition[id])
      }
     }
     return PLUGIN_HANDLED
    }
     
    return PLUGIN_HANDLED
   }
  }
  return PLUGIN_HANDLED
}
displayMSpeed(id, pos) {
  Tmenu_position[id] = g_SmenuPosition[id] = 0
  pos = g_SmenuPosition[id]
  g_SmenuPosition[id] = 0
  Tmenu_position[id] = 0
  pos = 0
  if (pos < 0)  //при какой позиции страницы будет запускаться меню
   client_cmd(id, "admin_control")
   
  get_players(g_menuPlayers3[id], g_menuPlayersNum3[id], "c")
   
   
  b = 0
  new i
   
  start = pos * 6
   
  if (start>=g_menuPlayersNum3[id])
   start = pos = g_SmenuPosition[id] = 0  //MEH9Tb start = pos = g_RevmenuPosition[id] = 0
   
  len = format(menuBody,511, g_coloredMenus ? "\r%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id , "SPEED_MENU", pos + 1, (g_menuPlayersNum3[id] / 6 + ((g_menuPlayersNum3[id] % 6) ? 1 : 0)))  //MEH9Tb
  end = start + 6
  keys = MENU_KEY_0|MENU_KEY_8|MENU_KEY_7
   
  if(end>g_menuPlayersNum3[id])
   end=g_menuPlayersNum3[id]
   
  for (a = start; a< end; ++a) {
   i = g_menuPlayers3[id][a]
   get_user_name(i, name, 31)
    
   if (is_user_bot(i) || (access(i, ADMIN_IMMUNITY) && i !=id)) {
    ++b
     
    if(g_coloredMenus)
     len+=format(menuBody[len], 511-len, "\d%d. %s^n\w", b , name)
    else
     len += format(menuBody[len], 511-len, "#. %s^n", name)
   
   } else {
    keys |= (1<<b)
     
    if (is_user_admin(i))
     len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*^n\w" : "%d. %s *^n", ++b, name)
    else
     len += format(menuBody[len], 511-len, "%d. %s^n", ++b, name)
   }
   
  }
  if(g_menuSOption[id] == false)
   len += format(menuBody[len], 511-len, "^n7. \g%L", id, "GIVE_SPEED_320")
  if(g_menuSOption[id] == true)
   len += format(menuBody[len], 511-len, "^n7. \g%L", id, "GIVE_SPEED_250")
  if(g_menuSOption2[id] == false)
   len += format(menuBody[len], 511-len, "^n8. \g%L^n", id, "GIVE_SPEED_ONE")
  if(g_menuSOption2[id] == true)
   len += format(menuBody[len], 511-len, "^n8. \g%L^n", id, "GIVE_SPEED_ALL")
  if(end!=g_menuPlayersNum3[id]) { //if(end!=g_menuPlayersNum[id])
   format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE2", id, pos ? "BACK2" : "EXIT2")
   keys |= MENU_KEY_9
  }
  else
   format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK2" : "EXIT2")
  show_menu(id,keys,menuBody,-1,"Speed Menu")
}
public actionSpeedMenu(id, key) {
  switch(key) {
    
   case 6: {
    if(g_menuSOption[id] == true) {
     g_menuSOption[id] = false
     displayMSpeed(id, g_SmenuPosition[id])
     return PLUGIN_HANDLED
     }
    else {
     g_menuSOption[id] = true
     displayMSpeed(id, g_SmenuPosition[id])
     return PLUGIN_HANDLED
    }
     
   }
    
   case 7: {
    if(g_menuSOption2[id]== true) {
     g_menuSOption2[id] = false
     displayMSpeed(id, g_SmenuPosition[id])
     return PLUGIN_HANDLED
     }
    else {
     g_menuSOption2[id] = true
     displayMSpeed(id, g_SmenuPosition[id])
     return PLUGIN_HANDLED
    }
     
   }
    
   case 8: {
   displayMSpeed(id, ++g_SmenuPosition[id])
  }
   
   case 9: {
    
   --g_SmenuPosition[id]    
   if (g_SmenuPosition[id] >= 0 )    
    displayMHp(id, g_SmenuPosition[id])     
   else    
    client_cmd(id, "admin_control")  
  }
   
   default: {
    new playerSpeed = g_menuPlayers3[id][g_SmenuPosition[id] * 6 +key]
    new in23, playerCount23, player123
    new players123[32]
    new nameplayerSpeed[32]
    get_user_name(playerSpeed, nameplayerSpeed, 31)
    get_players(players123, playerCount23, "c")
    //new Float:speed = get_user_maxspeed(playerSpeed) + 70.0
    //new Float:speed   
       
    if(g_menuSOption2[id] == false) {
    ///new name[32], name2[32], authid[32], authid2[32]
    ///get_user_name(player, name2, 31)
    ///get_user_authid(id, authid, 31)
    ///get_user_authid(player, authid2,31)
    ///get_user_name(id,name,31)
     if(g_menuSOption[id] == false) {
      set_user_maxspeed(playerSpeed, 320.0)
      client_print(0, print_chat, "%L", LANG_SERVER, "GIVED_SPEED_ONE1", nameplayerSpeed)
      displayMSpeed(id, g_SmenuPosition[id])
      }
     if(g_menuSOption[id] == true) {
      set_user_maxspeed(playerSpeed, 250.0)
      client_print(0, print_chat, "%L", LANG_SERVER, "GIVED_SPEED_ONE2", nameplayerSpeed)
      displayMSpeed(id, g_SmenuPosition[id])
     }
    }
    if(g_menuSOption2[id] == true) {
     for (in23=0; in23< playerCount23; in23++) {
      player123 = players123[in23]
       
      if(g_menuSOption[id] == false) {
       set_user_maxspeed(player123, 320.0)
       client_print(0, print_chat, "%L", LANG_SERVER, "GIVED_SPEED_ALL1")
       displayMSpeed(id, g_SmenuPosition[id])
      }
       
      if(g_menuSOption[id] == true) {
       set_user_maxspeed(player123, 250.0)
       client_print(0, print_chat, "%L", LANG_SERVER, "GIVED_SPEED_ALL2")
       displayMSpeed(id, g_SmenuPosition[id])
      }
     }
     return PLUGIN_HANDLED
    }
     
    return PLUGIN_HANDLED
   }
  }
  return PLUGIN_HANDLED

   
}
displayMGravity(id, pos) {
   
}
public actionGravityMenu(id, key) {
   
}
displayMWeapons(id, pos) {
   
}
public actionWeaponsMenu(id, key) {
   
}
displayMGodmode(id, pos) {
   
}
public actionGodmodeMenu(id, key) {
   
}
displayMInvisibility(id, pos) {
   
}
public actionInvisibilityMenu(id, key) {
   
}
displayMRestoration(id, pos) { //можно убрать, думаю лучше give_money
   
}    
public actionRestorationMenu(id, key) { // аналогично
   
}
// DEFAULT OPTIONS!!!!  
   

   
   
   
   
 
PomanoBДата: Вторник, 05.01.2010, 18:05:17 | Сообщение # 6
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Code
for(i=1;i<= maxplayers;i++) {   
          
        if(is_user_connected(i) && 1 <=get_user_team(i) <= 2 && !is_user_alive(i)) {   
           
         ExecuteHamB( Ham_CS_RoundRespawn, i)   
         client_print(0, print_center, "%L", LANG_SERVER, "REVIVE_ALL2")   
         displayMRevive(id, g_RevmenuPosition[id])   
         return PLUGIN_HANDLED   
        }   
           
          
       }

Ты после оживления первого делаешь возврат из функции return PLUGIN_HANDLED
Вот так надо:
Code
if(g_menuREVOption[id] == true) {   
       new maxplayers = get_maxplayers()   
       //new Players[32]   
       //new player2[32]   
       //new PlayerCount,i,player1   
       //get_players(Players, PlayerCount, "b")   
       new i   
          
          
       for(i=1;i<= maxplayers;i++) {   
          
        if(is_user_connected(i) && 1 <=get_user_team(i) <= 2 && !is_user_alive(i)) {   
           
         ExecuteHamB( Ham_CS_RoundRespawn, i)   
           
        }   
           
          
       }   
       client_print(0, print_center, "%L", LANG_SERVER, "REVIVE_ALL2")   
         displayMRevive(id, g_RevmenuPosition[id])   
         return PLUGIN_HANDLED   
          
           
          
       }

Добавлено (05.01.2010, 18:05:17)
---------------------------------------------

Quote (FreeKILL)
ничего не работало (вылетела ошибка и серв рухнул)

Ты пытался оживить игрока которого нет на сервере) Поэтому надо сначала проверить is_user_connected


http://romanov4400.mybrute.com
 
FreeKILLДата: Вторник, 05.01.2010, 19:40:01 | Сообщение # 7
Подполковник
Группа: Пользователи
Сообщений: 143
Репутация: 4
Статус: Не в сети
Quote (FreeKILL)
Ты после оживления первого делаешь возврат из функции return PLUGIN_HANDLED

эх)) я какраз догодался об этом минут десять назад))) из -за этого два дня потратил на поиски ошибки))) :D
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » hamsandwich (настройка функции)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024