Русское сообщество по скриптингу

Система жизней Deathrun

Новые плагины для AMX Mod X, которые были добавлены в базу плагинов нашего форума. Плагины еще не утвеждены администратором/модератором.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

Данный раздел форума служит для добавления новых плагинов в базу нашего форума. После того, как администратор/модератор утвердит плагин, он будет перемещен в раздел "Утвежденные плагины".

Правила при добавлении новых плагинов:

1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. Обязательно выкладывайте исходник sma плагина. Запрещено выкладывать amxx файл.
4. Обязательно указывайте настоящих авторов плагина, если вы использовали чьи-то наработки или функции, указывайте их авторов в сообщении.
5. Необходимо заполнять детальную информацию о плагине (версию, настройки, используемые модули, список изменений и другую).

Система жизней Deathrun

Сообщение madarkaa » 11 авг 2013, 19:20

Авторы: Madara
Версия: 1.0

Описание:
Замена стандартной системе жизней Deathrun. Делал для своего сервера, потом забил на него и решил скинуть сюда. Дополнительно использует ColorChat и Dhudmessage ̶м̶о̶д̶у̶л̶и̶ инклуды, которые у всех есть. При вводе любого сообщения в чат со словом "life", выводит меню, содержащее: продажу жизни за 8000, покупку жизни за 8500, возрождение за жизнь. В титле пишет кол-во жизней. Жизнь дает за убитого противника. В начале раунда DHUDом на несколько секунд показывает кол-во ваших жизней. При любых действиях в меню в чат красиво оформленным сообщение пишет то, что вы сделали.

Используемые модули:
Cstrike
Fun
Hamsandwich

Настройки:
Необходимо отключить стандартную систему жизней DeathRun.

Исходник:
[pawn]
  1. #include <amxmodx>

  2. #include <colorchat>

  3. #include <fun>

  4. #include <hamsandwich>

  5. #include <cstrike>

  6. #include <dhudmessage>

  7.  

  8. new gLifes[33]

  9.  

  10. public plugin_init()

  11. {

  12.         register_plugin("[DR] Lifes", "1.0", "Madara")

  13.         register_clcmd("say /life", "LifesMenu")

  14.         register_clcmd("say /lifes", "LifesMenu")

  15.         register_logevent("RoundStart", 2, "0=World triggered", "1=Round_Start")

  16.         RegisterHam(Ham_Killed, "player", "EventDeath", 1)

  17. }

  18. public RoundStart()

  19. {

  20.         for(new i=1;i<get_maxplayers();i++)

  21.         {

  22.                 if(is_user_connected(i) && get_user_team(i) == 2)

  23.                 {

  24.                         set_dhudmessage(100, 255, 100, 0.15, 0.7, 1, 6.0, 3.0)

  25.                         if(gLifes[i])

  26.                                 show_dhudmessage(i, "У тебя %d дополнительных жизней.", gLifes[i])

  27.                         else

  28.                                 show_dhudmessage(i, "У тебя нет дополнительных жизней.")

  29.                 }

  30.         }

  31. }

  32.  

  33. public EventDeath(victim, attacker)

  34. {

  35.         gLifes[attacker]++

  36.         if(get_user_team(victim) == 2)

  37.         {

  38.                 if(gLifes[victim])

  39.                         set_task(1.5, "LifesMenu", victim)

  40.         }

  41.         return PLUGIN_CONTINUE

  42. }

  43.  

  44.  

  45. public LifesMenu(id)

  46. {

  47.         new title[128]

  48.         format(title, 127, "\wУ тебя осталось \r%d \wжизней.", gLifes[id])

  49.         new iMenu = menu_create(title, "MenuHandler")

  50.        

  51.         if(gLifes[id] && CheckCt())

  52.                 menu_additem(iMenu, "\wВозродиться за \r1 жизнь", "1")

  53.         else

  54.                 menu_additem(iMenu, "\dВозродиться за 1 жизнь", "1")

  55.         if(gLifes[id])

  56.                 menu_additem(iMenu, "\wПродать жизнь за \r$8000", "2")

  57.         else

  58.                 menu_additem(iMenu, "\dПродать жизнь за $8000", "2")

  59.         if(cs_get_user_money(id) >= 8500)

  60.                 menu_additem(iMenu, "\wКупить жизнь за \r$8500", "3")

  61.         else

  62.                 menu_additem(iMenu, "\dКупить жизнь за $8500", "3")

  63.        

  64.         menu_setprop(iMenu , MPROP_EXITNAME, "Остаться мёртвым")

  65.         menu_setprop(iMenu , MPROP_EXIT, MEXIT_ALL)

  66.         menu_display(id, iMenu, 0)

  67. }

  68.  

  69. public MenuHandler(id, menu, item)

  70. {

  71.         if (item == MENU_EXIT)

  72.         {

  73.                 menu_destroy(menu)

  74.                 return PLUGIN_HANDLED

  75.         }

  76.        

  77.         new s_Data[6], s_Name[64], i_Access, i_Callback

  78.        

  79.         menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

  80.        

  81.         new i_Key = str_to_num(s_Data)

  82.        

  83.         switch(i_Key)

  84.         {

  85.                 case 1:

  86.                 {

  87.                         if(gLifes[id])

  88.                         {

  89.                                 if(CheckCt() && get_user_team(id) != 3)

  90.                                 {

  91.                                         gLifes[id]=gLifes[id]-1

  92.                                         ExecuteHam( Ham_CS_RoundRespawn , id)

  93.                                         ColorChat(id, BLUE, "^4[DR] ^1Ты возродился ^3за одну жизнь^1.")

  94.                                 }

  95.                                 if(!CheckCt())

  96.                                 {

  97.                                         ColorChat(id, BLUE, "^4[DR] ^1Ты не можешь возродиться, когда остался последний кт.")

  98.                                 }

  99.                                 }else{

  100.                                 ColorChat(id, BLUE, "^4[DR] ^1Ты не можешь возродиться, т.к. у тебя нет жизней")

  101.                                 LifesMenu(id)

  102.                         }

  103.                 }

  104.                 case 2:

  105.                 {

  106.                         if(gLifes[id])

  107.                         {

  108.                                 gLifes[id]=gLifes[id]-1

  109.                                 cs_set_user_money(id, cs_get_user_money(id)+8000)

  110.                                 ColorChat(id, BLUE, "^4[DR] ^1Ты продал одну жизнь за ^3$8000.")

  111.                                 LifesMenu(id)

  112.                                 }else{

  113.                                 ColorChat(id, BLUE, "^4[DR] ^1У тебя  нет жизней, чтобы их продать.")

  114.                                 LifesMenu(id)

  115.                         }

  116.                 }

  117.                 case 3:

  118.                 {

  119.                         if(cs_get_user_money(id) >= 8500)

  120.                         {

  121.                                 cs_set_user_money(id, cs_get_user_money(id)-8500)

  122.                                 gLifes[id]=gLifes[id]+1

  123.                                 ColorChat(id, BLUE, "^4[DR] ^1Ты купил одну жизнь за ^3$8500.")

  124.                                 LifesMenu(id)

  125.                                 }else{

  126.                                 ColorChat(id, BLUE, "^4[DR] ^1У тебя нет денег на одну жизнь.")

  127.                                 LifesMenu(id)

  128.                         }

  129.                 }

  130.         }

  131.         menu_destroy(menu)

  132.         return PLUGIN_HANDLED

  133. }

  134.  

  135.         stock CheckCt( )

  136.         {

  137.                 new

  138.                 szPlayers[ 32 ] , iNum , iCt;

  139.                

  140.                 get_players( szPlayer , iNum );

  141.                 for( new i; i < iNum; i++ )

  142.                 {

  143.                         new iPlayer; iPlayer = szPlayer[ i ];

  144.                         if( !is_user_alive( iPlayer ) || !is_user_bot( iPlayer ) )

  145.                                 continue;

  146.                                

  147.                         if( get_user_team( iPlayer ) == 2 )

  148.                         {

  149.                                 iCt++;

  150.                         }

  151.                 }

  152.                

  153.                 return iCt;

  154.         }
[/pawn]
Последний раз редактировалось madarkaa 12 авг 2013, 19:50, всего редактировалось 5 раз(а).
Аватара пользователя
madarkaa
 
Сообщения: 186
Зарегистрирован: 25 авг 2012, 16:00
Благодарил (а): 41 раз.
Поблагодарили: 26 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: Система жизней Deathrun

Сообщение Touch Dev1l » 11 авг 2013, 19:39

Ещё давай что-нибудь, со своего DeathRun'a :dance2:
Аватара пользователя
Touch Dev1l
 
Сообщения: 1304
Зарегистрирован: 14 апр 2013, 13:50
Забанен
Благодарил (а): 126 раз.
Поблагодарили: 254 раз.

Re: Система жизней Deathrun

Сообщение crash94 » 11 авг 2013, 20:05

[pawn]
  1. spawn(id)
[/pawn]
Не лучший способ респавна игрока. Пропадают наглухо худы :-D + не учтен баг со спектаторами
.ТС ты хоть тестился :-D

Вот что будет, используя твой тип воскрешения
2013-08-11_00001.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
crash94
 
Сообщения: 683
Зарегистрирован: 25 фев 2010, 16:34
Забанен
Благодарил (а): 80 раз.
Поблагодарили: 317 раз.

Re: Система жизней Deathrun

Сообщение madarkaa » 11 авг 2013, 20:16

crash94 писал(а):[pawn]
  1. spawn(id)
[/pawn]
Не лучший способ респавна игрока. Пропадают наглухо худы :-D + не учтен баг со спектаторами
.ТС ты хоть тестился :-D

Вот что будет, используя твой тип воскрешения
2013-08-11_00001.jpg

а как лучше?
Аватара пользователя
madarkaa
 
Сообщения: 186
Зарегистрирован: 25 авг 2012, 16:00
Благодарил (а): 41 раз.
Поблагодарили: 26 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: Система жизней Deathrun

Сообщение liFe iS GoOD » 11 авг 2013, 20:17

madarkaa, [pawn]
  1.  ExecuteHam( Ham_CS_RoundRespawn , index );
[/pawn]
Аватара пользователя
liFe iS GoOD
Модератор
 
Сообщения: 1416
Зарегистрирован: 24 май 2012, 19:48
Благодарил (а): 116 раз.
Поблагодарили: 472 раз.

Re: Система жизней Deathrun

Сообщение madarkaa » 11 авг 2013, 20:58

Исправил первый пост, заменил спавн старый на новый
Аватара пользователя
madarkaa
 
Сообщения: 186
Зарегистрирован: 25 авг 2012, 16:00
Благодарил (а): 41 раз.
Поблагодарили: 26 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: Система жизней Deathrun

Сообщение kentyxa » 11 авг 2013, 21:11

Мля я думал такая шняга уже у всех есть :-D
На форуме больше не обитаю.

04.01.2015
Аватара пользователя
kentyxa
 
Сообщения: 777
Зарегистрирован: 30 июл 2013, 16:47
Благодарил (а): 99 раз.
Поблагодарили: 170 раз.

Re: Система жизней Deathrun

Сообщение crash94 » 11 авг 2013, 21:34

А что сразу фикс на спека не сделал?Умный человек перейдет в спеки, воскресится и будет мочить своих на респе. :thumbs_up :ROFL:
Аватара пользователя
crash94
 
Сообщения: 683
Зарегистрирован: 25 фев 2010, 16:34
Забанен
Благодарил (а): 80 раз.
Поблагодарили: 317 раз.

Re: Система жизней Deathrun

Сообщение Aeeewqa ;] » 11 авг 2013, 22:44

crash94, откуда такой задор? ]:->
Аватара пользователя
Aeeewqa ;]
 
Сообщения: 94
Зарегистрирован: 08 ноя 2012, 19:24
Откуда: Украина, Харьков
Благодарил (а): 13 раз.
Поблагодарили: 6 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Система жизней Deathrun

Сообщение madarkaa » 11 авг 2013, 23:18

crash94 писал(а):А что сразу фикс на спека не сделал?Умный человек перейдет в спеки, воскресится и будет мочить своих на респе. :thumbs_up :ROFL:

тоже вроде исправил

Добавлено спустя 1 минуту 4 секунды:
kentyxa писал(а):Мля я думал такая шняга уже у всех есть :-D

ну может кому понадобится, я же не ̶п̶р̶о̶д̶а̶ю̶ говорю что это мегоприват, а просто скинул свою версию
Аватара пользователя
madarkaa
 
Сообщения: 186
Зарегистрирован: 25 авг 2012, 16:00
Благодарил (а): 41 раз.
Поблагодарили: 26 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

След.

Вернуться в Добавленные новые плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11