Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Опыт в админ-меню
Dangerous
Дата: Вторник, 18.12.2012, 15:15 | Сообщение # 1
офлайн

  • Сообщения: 92
  • Награды: 0
  • Замечания:
 
Добрый день! Помогите пожалуйста разобраться с админ-меню....
Я нажимаю дать 30 лвл а мне пишет в консоле не достаточно прав...
Вот сам код :

#include <amxmisc>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <nvault>
#include <colorchat>

new g_already_money[33]
new Rounds[33]
new g_has_respawned[33]
new g_nvault
new g_used_lvl[33]

public plugin_init()
{
register_plugin("[VIP] Menu","0.1","RaFA")
register_clcmd("adminmenu","vipmenu")
register_event( "HLTV", "newround" , "a" , "1=0" , "2=0" );
register_menucmd(register_menuid("Vip Menu"), 1023, "Action_VipMenu")
g_nvault = nvault_open("player_levels")
}

public plugin_end()
{
nvault_close(g_nvault)
}

public set_lvl_delay(id)
{
new key[64], data[256]
new name[33];
get_user_name(id,name,32)

format(key, 63, "%s", name) //name
format(data, 255, "%i#", g_used_lvl[id]) //сколько

nvault_set(g_nvault, key, data)
}

public client_putinserver(id)
{
Rounds[id] = 2
g_has_respawned[id] = false
load_lvl_used(id)
}

public load_lvl_used(id)
{
new key[64], data[256]
new name[33];
get_user_name(id,name,32)

format(key, 63, "%s", name)
format(data, 255, "%i#", g_used_lvl[id])

nvault_get(g_nvault, key, data, 255)
replace_all(data, 255, "#", " ")

new lvl_us[32]
parse(data, lvl_us, 31)
g_used_lvl[id] = str_to_num(lvl_us)
}

public newround()
{
for(new id = 1; id <=get_maxplayers();id++)
{
g_already_money[id] = false
Rounds[id]--
if(is_user_connected(id))

if(Rounds[id] < 1)
{
Rounds[id] = 2
g_has_respawned[id] = false
}

}
}

public vipmenu(id)
{
if(!(get_user_flags(id) & ADMIN_BAN))
return;
new body[512], keys, len
len = format(body, charsmax(body), "\yАдмин-Меню^n^n")

keys |= (1 << 0)
len += format(body[len], charsmax(body) - len, "\r1. \wM4a1 + Deagle^n")

keys |= (1 << 1)
len += format(body[len], charsmax(body) - len, "\r2. \wAk47 + Deagle^n")

keys |= (1 << 2)
len += format(body[len], charsmax(body) - len, "\r3. \wAwp + Deagle^n")

keys |= (1 << 3)
len += format(body[len], charsmax(body) - len, "\r4. \wБроня и Жизни^n")

keys |= (1 << 4)
len += format(body[len], charsmax(body) - len, "\r5. \w$ 6000 (1 раз в раунд)^n")

keys |= (1 << 5)
len += format(body[len], charsmax(body) - len, "\r6. \wГранаты^n")

keys |= (1 << 6)
len += format(body[len], charsmax(body) - len, "\r7. \wВоскреснуть (1 раз в 2 раунда)^n")

keys |= (1 << 7)
len += format(body[len], charsmax(body) - len, "\r8. \wПолучить 30 lvl (\rнеработает\w)^n")

len += format(body[len], charsmax(body) - len, "\r0. \yВыход^n")
keys |= MENU_KEY_0

show_menu(id, keys, body, -1, "Vip Menu")
}

public Action_VipMenu(id, key)
{
switch(key)
{
case 0:
{
strip_user_weapons(id) // No more weapons

give_item(id, "weapon_m4a1")
ExecuteHamB ( Ham_GiveAmmo, id, 90, "556nato", 90 )
give_item(id, "weapon_deagle")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "weapon_knife")
}

case 1:
{
strip_user_weapons(id) // No more weapons

give_item(id, "weapon_ak47")
ExecuteHamB ( Ham_GiveAmmo, id, 90, "762nato", 90 )
give_item(id, "weapon_deagle")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "weapon_knife")
}
case 2:
{
strip_user_weapons(id) // No more weapons

give_item(id, "weapon_awp")
ExecuteHamB ( Ham_GiveAmmo, id, 30, "338magnum", 30 )
give_item(id, "weapon_deagle")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "weapon_knife")
}
case 3:
{
set_user_armor(id, 250)
set_user_health(id, 200)
}
case 4:
{
if(g_already_money[id])
{
ColorChat(0,GREEN,"^x04[AD-MENU] ^x03Разрешено выдавать только раз за раунд")
return PLUGIN_HANDLED
}
cs_set_user_money(id, cs_get_user_money(id) + 6000)
g_already_money[id] = true
}
case 5:
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
}
case 6:
{
if(is_user_alive(id))
{
ColorChat(0,GREEN,"^x04[AD-MENU] ^x03Запрещено живым")
return PLUGIN_HANDLED
}
if(Rounds[id] == 2 && !g_has_respawned[id])
{
g_has_respawned[id] = true
ExecuteHamB(Ham_CS_RoundRespawn, id)
}
else
{
ColorChat(0,GREEN,"^x04[AD-MENU] ^x03Разрешено возрождаться раз в ^x04(2) ^x03раунда")
return PLUGIN_HANDLED
}
}
case 7:
{
new User[32]; get_user_name(id, User, 31)
if(g_used_lvl[id] >= 4)
{
client_print(id, print_chat, "Эта команда больше вам недоступна")
return PLUGIN_HANDLED
}
g_used_lvl[id]++
set_lvl_delay(id)
server_cmd("amx_givexp ^"%s^" %d", User, 1100000)
}
}
return PLUGIN_HANDLED
}


Сообщение отредактировал Dangerous - Вторник, 18.12.2012, 15:32
 
ROCCI
Дата: Вторник, 18.12.2012, 17:40 | Сообщение # 2
офлайн

  • Сообщения: 262
  • Награды: 3
  • Замечания:
 
если я не ошибаюсь это вип меню.
и 7 пункт у тебя написано неработает видать отключен что бы випы немогли опыт раздавать.


Сообщение отредактировал ROCCI - Вторник, 18.12.2012, 18:09
 
Contra63
Дата: Среда, 19.12.2012, 18:25 | Сообщение # 3
офлайн

  • Сообщения: 830
  • Награды: 7
  • Замечания:
 
значит не выполнено условие.

Code
if(g_used_lvl[id] >= 4)
а не 30?

Code

#define USE 5

new UseVipWar3FT

register_event("HLTV", "round_start_war3ft", "a", "1=0", "2=0");

public round_start_war3ft() {
     if(UseVipWar3FT > 0) {
      UseVipWar3FT -= 1
     }
}

case 3:
{
     new war3ft = get_cvar_num("wc3_save_xp");
     if(war3ft == 1)
     {
      if(UseVipWar3FT > 0)
      {
       ColorChat(id, GREEN, "%s %L",g_Client, LANG_PLAYER,"WAR3FT_USE_NO_VIP", UseVipWar3FT);
      }
      else if(UseVipWar3FT == 0)
      {
       new User[32];
       get_user_name(id,User,32);
       server_cmd("wc3_givexp ^"%s^" %d", User, 9000000 );
       ColorChat(id, GREEN, "%s %L",g_Client, LANG_PLAYER,"WAR3FT_USE_VIP");
       UseVipWar3FT = USE
       return PLUGIN_HANDLED;
       }else{
       ColorChat(id, GREEN, "%s %L",g_Client, LANG_PLAYER,"WAR3FT_NO_VIP");
       client_cmd(id, "say /vipmenu")
       return PLUGIN_HANDLED;
      }
     }
}




Сообщение отредактировал Contra63 - Среда, 19.12.2012, 18:29
 
Dangerous
Дата: Пятница, 21.12.2012, 00:35 | Сообщение # 4
офлайн

  • Сообщения: 92
  • Награды: 0
  • Замечания:
 
ROCCI, да я знаю что не работает ) это я сам написал я только не пойму почему не выдаёт опыт
и Contra63, объясни пожалуйста откуда ты взял 30 и куда это

Добавлено (21.12.2012, 00:33)
---------------------------------------------
а да ещё тут функции сделаны с ограничением поэтому я и решил использовать этот код к тому же он попроще чем adminmenu

Добавлено (21.12.2012, 00:35)
---------------------------------------------
Contra63, да кстати насчёт 1
if(g_used_lvl[id] >= 4) это и есть ограничение там выходит что 4 раза можно будет дать себе опыт и всё

 
Contra63
Дата: Пятница, 21.12.2012, 23:37 | Сообщение # 5
офлайн

  • Сообщения: 830
  • Награды: 7
  • Замечания:
 
Dangerous, расположен условий с функцией проверь либо используй мой метод(1 раз в 5 раундов + проверки)

p.s:
Код
}else{
нету же

Добавлено (21.12.2012, 23:37)
---------------------------------------------

Код
    {
new User[32]; get_user_name(id, User, 31)
if(g_used_lvl[id] >= 4)
  {
  client_print(id, print_chat, "Эта команда больше вам недоступна")
  return PLUGIN_HANDLED
  }
  else
   {
   g_used_lvl[id]++
   set_lvl_delay(id)
   server_cmd("amx_givexp ^"%s^" %d", User, 1100000)
   return PLUGIN_HANDLED
   }
  }


возможно .уйня dry


 
  • Страница 1 из 1
  • 1
Поиск: