Плагин дающий бонусы стим игрокам
|
|
Syrax | Дата: Воскресенье, 31.03.2013, 20:45 | Сообщение # 1 |
- Сообщения: 29
- Награды: 0
- Замечания:
|
Ищу плагин дающий стим игрокам бонусы в виде: денег, брони, гранат, дигла. Бонусы выдаются рандом по одному. Видел на одном сервере .
Сообщение отредактировал Syrax - Воскресенье, 31.03.2013, 21:38 |
|
| |
labanator | Дата: Воскресенье, 31.03.2013, 20:49 | Сообщение # 2 |
- Сообщения: 71
- Награды: 1
- Замечания:
|
Привет вот есть бонус на деньги!
Сообщение отредактировал labanator - Воскресенье, 31.03.2013, 21:04 |
|
| |
Syrax | Дата: Воскресенье, 31.03.2013, 22:51 | Сообщение # 3 |
- Сообщения: 29
- Награды: 0
- Замечания:
|
labanator, спасибо кое-какие строки из него выдерну, но хотелось бы найти плагин который я видел.
|
|
| |
crisiser | Дата: Понедельник, 01.04.2013, 01:09 | Сообщение # 4 |
- Сообщения: 58
- Награды: 1
- Замечания:
|
#include <amxmodx>
#include <fun>
#include <ColorChat>
#include <cstrike>
#define PLUGIN "steambonus"
#define VERSION "1.0"
#define AUTHOR "bublik"
new g_Maxplayers
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("round_start",2,"1=Round_Start");
g_Maxplayers = get_maxplayers();
}
public round_start(id)
{
for(new id = 1; id <= g_Maxplayers; id++)
{
if(!is_user_connected(id))
continue
if(is_user_steam(id))
{
set_task(1.0, "steambonus", id)
}
}
}
public steambonus(id)
{
if(is_user_alive(id))
{
new MyMoney[32]
MyMoney [id]= cs_get_user_money(id)
cs_set_user_money(id,MyMoney [id]+ 600)
ColorChat(id, NORMAL,"^4 [SERVER]^1Вы получили бонус^4 600 ^1долларов за STEAM")
give_item(id,"weapon_deagle")
ColorChat(id, NORMAL,"^4 [SERVER]^1Вы получили бонус ^4Бесплатный Deagle ^1за STEAM")
}
}
stock is_user_steam( id )
{
static dp_pointer;
if( dp_pointer || ( dp_pointer = get_cvar_pointer( "dp_r_id_provider" ) ) )
{
server_cmd( "dp_clientinfo %d", id );
server_exec();
return ( get_pcvar_num( dp_pointer ) == 2 ) ? 1 : 0;
}
return 0;
}
|
|
| |
Syrax | Дата: Понедельник, 01.04.2013, 11:32 | Сообщение # 5 |
- Сообщения: 29
- Награды: 0
- Замечания:
|
crisiser, спасибо. А вы не знаете, плагин хорошо отличает игроков с эмулятором? И вы не могли бы, если есть навыки скриптинга амх, добавить функцию рандом, чтобы она выбрала число 1-2 и бонусы подставить в оператор switch, чтобы поняли приведу пример на с++. Заранее спасибо. int n = rand() % 2 + 1; switch(n) { case 1: cs_set_user_money(id,MyMoney [id]+600); break; case 2: give_item(id,"weapon_deagle"); break; } как-то так.
Сообщение отредактировал Syrax - Понедельник, 01.04.2013, 15:30 |
|
| |
NooB2 | Дата: Понедельник, 01.04.2013, 16:59 | Сообщение # 6 |
- Сообщения: 136
- Награды: 2
- Замечания:
|
Код public steambonus(id)
{
if(is_user_alive(id))
{
new iRandom = random_num(1,2);
switch(iRandom) {
case 1: { new MyMoney[32]
MyMoney [id]= cs_get_user_money(id)
cs_set_user_money(id,MyMoney [id]+ 600)
ColorChat(id, NORMAL,"^4 [SERVER]^1Вы получили бонус^4 600 ^1долларов за STEAM") }
case 2: { give_item(id,"weapon_deagle")
ColorChat(id, NORMAL,"^4 [SERVER]^1Вы получили бонус ^4Бесплатный Deagle ^1за STEAM") }
}
}
}
stock is_user_steam( id )
{
static dp_pointer;
if( dp_pointer || ( dp_pointer = get_cvar_pointer( "dp_r_id_provider" ) ) )
{
server_cmd( "dp_clientinfo %d", id );
server_exec();
return ( get_pcvar_num( dp_pointer ) == 2 ) ? 1 : 0;
}
return 0;
} Всмысле так?
|
|
| |
Syrax | Дата: Понедельник, 01.04.2013, 18:29 | Сообщение # 7 |
- Сообщения: 29
- Награды: 0
- Замечания:
|
NooB2, да, спасибо, то что нужно. Не подскажите, что означают аргументы функции random_num(1,2), хочу пару пунктов добавить?
|
|
| |
NooB2 | Дата: Понедельник, 01.04.2013, 18:51 | Сообщение # 8 |
- Сообщения: 136
- Награды: 2
- Замечания:
|
random_num(1,2) - в нашем случае выбирает случайно число 1 либо 2.
|
|
| |
Syrax | Дата: Понедельник, 06.05.2013, 14:56 | Сообщение # 9 |
- Сообщения: 29
- Награды: 0
- Замечания:
|
NooB2, столкнулся с небольшой проблемой, возможно ли сделать проверку на определенную карту, чтобы на ней не выдавался дигл? Чтобы дети на 35 хп и аналогичных картах не баловались.
|
|
| |
PATRUL | Дата: Понедельник, 06.05.2013, 15:13 | Сообщение # 10 |
- Сообщения: 718
- Награды: 5
- Замечания:
|
Добавь: Добавить в public plugin_init() Код get_mapname(map, charsmax(map))
Проверка делается следующем путем: Код if(equal(map, "35hp") || equal(map, "35hp_2")) { client_print(id,print_chat,"Оружие не доступно на данной карте") return PLUGIN_HANDLED; } else { give_item( id, "weapon_deagle" ) cs_set_user_bpammo( id , CSW_DEAGLE, 35 ) }
|
|
| |
NooB2 | Дата: Понедельник, 06.05.2013, 16:21 | Сообщение # 11 |
- Сообщения: 136
- Награды: 2
- Замечания:
|
Код new szMap[32]; get_mapname(szMap, 31); if(equali(szMap, "de_dust2")) { }
|
|
| |
Syrax | Дата: Понедельник, 06.05.2013, 17:07 | Сообщение # 12 |
- Сообщения: 29
- Награды: 0
- Замечания:
|
PATRUL, NooB2, спасибо, все отлично работает.
|
|
| |
cs-contra | Дата: Вторник, 07.05.2013, 10:19 | Сообщение # 13 |
- Сообщения: 28
- Награды: 0
- Замечания:
|
Syrax, скинь свой код с разрешение на некоторых картах! пожалуйста!
|
|
| |
Syrax | Дата: Вторник, 07.05.2013, 10:30 | Сообщение # 14 |
- Сообщения: 29
- Награды: 0
- Замечания:
|
cs-contra, немного не понял вопрос. У меня не выдается дигл на определенных картах в частности на awp_india и 35hp_2_32. Вот код который получился благодаря им: Код new map[32];
get_mapname(map, 31);
if(equali(map, "awp_india") || equali(map, "35hp_2_32")) { client_print(id,print_chat,"Deagle на данной карте не выдается") } else { StripWeapons(id, Secondary) give_item(id,"weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 35)
ColorChat(id, NORMAL,"^1[^4SERVER^1] Вы получили бонус ^4Бесплатный Deagle ^1за STEAM")
}
Сообщение отредактировал Syrax - Вторник, 07.05.2013, 10:31 |
|
| |