Всем привет, хотел бы узнать есть тут такие кто занимается написанием плагинов недорого) Вот к примеру нужен такой плагин, чтобы всё бралось 1 раз за раунд, если взял 5-е то нельзя взять 6-е, если взял 6-е то нельзя взять 5-е. В чат должно писаться чтобы все видели такое сообщение, например: [VIP]Вип игрок (ник игрока) возродился. и т.п Так же есть начатый плагин но создатель куда-то пропал так его и не доделав до конца, если кто делает плагины отпишитесь в теме или мне в скайп leks64rs
Если бы я что-нить понимал в surf'е, то, может быть, скорее всего, написал бы эту менюшку.. А так знаний там 0..совсем 0 хД Мб поиграть, почитать ды написать...менюшки не сложна..
Ответ По оплате как? И какие команды должны выполняться при нажатии кнопок? Для работы 2, 5 и 6 пунктов нужно доп. плагины. Приложите какие.
Спойлер #include #include #include #include #include new SPRITE_MODEL[] = "sprites/explode1.spr" new JETPACK_PMODEL[] = "models/p_longjump.mdl" new JETPACK_GOTSOUND[] = "items/ammopickup2.wav" new cvar_cost new cvar_thrust new cvar_min_speed new cvar_max_speed new sprite_fire new g_HasJetpack[33] new g_JetpackEnt[33] static const PLUGIN_NAME[] = "JetPack" static const PLUGIN_AUTHOR[] = "F1rsT" static const PLUGIN_VERSION[] = "1.0" public plugin_init() { new mapName[33] get_mapname(mapName, 32) if(!equali(mapName, "surf_", 5)) { new pluginName[33] format(pluginName, 32, "[Disabled] %s", PLUGIN_NAME) register_plugin(pluginName, PLUGIN_VERSION, PLUGIN_AUTHOR) pause("ade") } else { register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR) register_cvar(PLUGIN_NAME, PLUGIN_VERSION, FCVAR_SPONLY|FCVAR_SERVER) register_clcmd("sjp_givesj" , "cmd_GiveSJ", ADMIN_IMMUNITY, " - Gives free surf jetpack") register_clcmd("sjp_stripsj" , "cmd_StripSJ", ADMIN_IMMUNITY, " - Strips users surf jetpack") register_clcmd("say /buyjetpack", "cmd_BuySurfJetpack", 0, "Buys surf jetpack") register_clcmd("say buy_jetpack", "cmd_BuySurfJetpack", 0, "Buys surf jetpack") register_concmd("buy_jetpack", "cmd_BuySurfJetpack", 0, "Buys surf jetpack") register_concmd("buyjetpack", "cmd_BuySurfJetpack", 0, "Buys surf jetpack") cvar_cost = register_cvar("sjp_cost", "5000") cvar_thrust = register_cvar("sjp_thrust", "10") cvar_min_speed = register_cvar("sjp_min_speed", "400") cvar_max_speed = register_cvar("sjp_max_speed", "1200") register_event("DeathMsg", "Event_DeathMsg", "a") } } public plugin_precache() { sprite_fire = precache_model(SPRITE_MODEL) precache_sound(JETPACK_GOTSOUND) precache_model(JETPACK_PMODEL) } public client_connect(id) { g_HasJetpack[id] = 0 _removeJetpackEnt(id) } public client_disconnect(id) { g_HasJetpack[id] = 0 _removeJetpackEnt(id) } public Event_DeathMsg() { new id = read_data(2) g_HasJetpack[id] = 0 _removeJetpackEnt(id) return PLUGIN_CONTINUE } public cmd_BuySurfJetpack(id) { new iMoney = cs_get_user_money(id) new iCost = get_pcvar_num(cvar_cost) if(!is_user_alive(id)) client_print(id, print_center, "You cant buy when your dead!") else if(g_HasJetpack[id]) client_print(id, print_center, "You already own a surf jetpack.") else if(iMoney < iCost) client_print(id, print_center, "Insufficient funds! ($%d)", iCost) else { _give_Jetpack(id) cs_set_user_money(id, iMoney - iCost, 1) } return PLUGIN_HANDLED } public cmd_GiveSJ(id , level , cid) { if(!cmd_access(id , level , cid , 2)) return PLUGIN_HANDLED new arg1[33] read_argv(1 , arg1 , 32) new target = cmd_target(id , arg1 , 0) if(!is_user_connected(target)) { console_print(id, "Player does not exist") return PLUGIN_HANDLED } if(g_HasJetpack[target]) { console_print(id, "Player already has a surf jetpack") return PLUGIN_HANDLED } _give_Jetpack(target) new Name[33], Name2[33] get_user_name(id, Name, 32) get_user_name(target, Name2, 32) console_print(id, "You gave %s a surf jetpack", Name2) client_print(target, print_chat, "ADMIN: %s gave you a surf jetpack", Name) return PLUGIN_HANDLED } public cmd_StripSJ(id , level , cid) { if(!cmd_access(id , level , cid , 2)) return PLUGIN_HANDLED new arg1[33] read_argv(1 , arg1 , 32) new target = cmd_target(id , arg1 , 0) if(!is_user_connected(target)) { console_print(id, "Player does not exist") return PLUGIN_HANDLED } if(!g_HasJetpack[target]) { console_print(id, "Player does not have a surf jetpack") return PLUGIN_HANDLED } g_HasJetpack[id] = 0 _removeJetpackEnt(id) new Name[33], Name2[33] get_user_name(id, Name, 32) get_user_name(target, Name2, 32) console_print(id, "You stripped %s a surf jetpack", Name2) client_print(target, print_chat, "ADMIN: %s stripped your surf jetpack", Name) return PLUGIN_HANDLED } public _give_Jetpack(id) { g_HasJetpack[id] = 1 client_cmd(id, "spk %s", JETPACK_GOTSOUND) client_print(id, print_chat, "You've got a surf jetpack! :: HOW TO USE :: ~ Just Surf ~ ") if(g_JetpackEnt[id] < 1) { g_JetpackEnt[id] = create_entity("info_target") if(is_valid_ent(g_JetpackEnt[id])) { entity_set_model(g_JetpackEnt[id], JETPACK_PMODEL) entity_set_int(g_JetpackEnt[id], EV_INT_movetype, MOVETYPE_FOLLOW) entity_set_edict(g_JetpackEnt[id], EV_ENT_aiment, id) } } } public _removeJetpackEnt(id) { if(g_JetpackEnt[id] > 0) remove_entity(g_JetpackEnt[id]) g_JetpackEnt[id] = 0 } public client_PreThink(id) { if(!is_user_alive(id) || !g_HasJetpack[id]) return PLUGIN_CONTINUE if(get_user_speed(id) < get_pcvar_num(cvar_min_speed)) return PLUGIN_CONTINUE new Button = get_user_button(id) if(Button & IN_MOVELEFT || Button & IN_MOVERIGHT) { _jetEffect(id) _jetThrust(id) } return PLUGIN_CONTINUE } public _jetThrust(id) { new Float:fVelocity[3] entity_get_vector(id, EV_VEC_velocity, fVelocity) new Float:fAngle[3] entity_get_vector(id, EV_VEC_angles, fAngle) engfunc(EngFunc_MakeVectors, fAngle) new Float:fForward[3] get_global_vector(GL_v_forward, fForward) fVelocity[0] += fForward[0] * get_pcvar_num(cvar_thrust) fVelocity[1] += fForward[1] * get_pcvar_num(cvar_thrust) if(get_user_speed(id) < get_pcvar_num(cvar_max_speed)) entity_set_vector(id, EV_VEC_velocity, fVelocity) return PLUGIN_CONTINUE } public _jetEffect(id) { new iOrigin[3] get_user_origin(id, iOrigin, 0) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(17) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]) write_short(sprite_fire) write_byte(10) write_byte(115) message_end() entity_set_int(id , EV_INT_gaitsequence , 8) } stock get_user_speed(id) { new Float:fVelocity[3] entity_get_vector(id, EV_VEC_velocity, fVelocity) new iVelocity[3] FVecIVec(fVelocity, iVelocity) new iVelocity0 = iVelocity[0] * iVelocity[0] new iVelocity1 = iVelocity[1] * iVelocity[1] return sqroot(iVelocity0 + iVelocity1) } Исходник jetPack'а..(Ну, я такой толька нашел..) Во весь архив.. Код: client_cmd(id, "sjp_givesj" )
Насчет 2-го пункта то при нажатии на него должно писать в консоль buy_jetpack А насчет 5 и 6 незнаю А по оплате вообще понятия не имею сколько будет стоить Напиши список плагинов которые у тебя на сервере стоят
Спойлер #include amxmodx #include #include #include #define PLUGIN "vipmenu" #define VERSION "1.0" #define AUTHOR "tYnE#" public plugin_init() { register_clcmd( "surfvip", "VIPMenu" ); } public VIPMenu( id ) { if(get_user_flags(id) & ADMIN_LEVEL_H) { new vip_menu = menu_create( "\rExtreme Surf 24/7", "menu_handler" ); menu_additem( vip_menu, "\rВоскреснуть", "1", 0 ); menu_additem( vip_menu, "\yВзять \rJetPack", "2", 0 ); menu_additem( vip_menu, "\yВзять \r50HP", "3", 0 ); menu_additem( vip_menu, "\yВзять \r6000$", "4", 0 ); menu_additem( vip_menu, "\yВзять \rAWP", "5", 0 ); menu_additem( vip_menu, "\yВзять \rAK47", "6", 0 ); menu_setprop( vip_menu, MPROP_EXIT, MEXIT_ALL ); menu_display( id, vip_menu, 0 ); } else { client_print(id, print_chat, "No acces") } } public Spawn_player(id) { if(is_user_alive(id) && is_user_connected(id)) { set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal,0) set_view( id, 0 ) cs_set_user_armor(id, 0, CS_ARMOR_NONE) set_user_maxspeed(id, 250.0) set_user_gravity( id, 1.0 ) set_user_health( id, 100 ) set_user_noclip(id, 0) set_user_godmode(id, 0) } } public menu_handler( id, menu, item ) { if( item == MENU_EXIT ) { menu_destroy( menu ); return PLUGIN_HANDLED; } new data[6], iName[64]; new access, callback; menu_item_getinfo( menu, item, access, data,5, iName, 63, callback ); new key = str_to_num( data ); switch( key ) { case 1: { spawn(id) } case 2: { client_cmd(id, "sjp_givesj" ) } case 3: { set_user_health(id, 50) } case 4: { cs_set_user_money(id,6000) } case 5: { give_item( id, "weapon_awp" ); } case 6: { give_item( id, "weapon_ak47" ); } } menu_destroy( menu ); return PLUGIN_HANDLED; } //* Просто на скорую руку..не ругайтесь..Это для теста..Так скажем..ХД *// конечно не твой заказ, просто может кому надо будет или доделают ХД /переделают/ Там вроде я дигл даже не добавил..и АММО я не знаю что это;D хз работает или нет, я даже не компилировал...не проверял ничего, так что ошибки могут быть в простых словах там ХД А так я просто спешу..ухожу гулять.. всем доброе утро:З