AMX MOD X
Четверг, 05.12.2024, 00:35:53



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

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

  • Страница 1 из 1
  • 1
Модератор форума: AlMod, slogic  
Переделайте парочку плагинов плиз
Bl0kcДата: Суббота, 09.01.2010, 16:59:23 | Сообщение # 1
Полковник
Группа: Пользователи
Сообщений: 152
Репутация: 1
Статус: Не в сети
В прикреплённом плагине всего-то нужно сделать чтобы /respawn стоил 8000$. :)

А здесь:

Code

#include <amxmodx>       
#include <hamsandwich>       
#include <fun>       
#include <cstrike>       

public plugin_init()       
{       
register_plugin("x","x","x")       
RegisterHam(Ham_Spawn,"player","event",1)       
}       
public event(id)       
{       
strip_user_weapons(id)       
give_item(id,"weapon_knife")       
give_item(id,"weapon_p228")       
cs_set_user_b pammo (id,C SW_P2 28,52)       
}

Нужно чтобы этот плагин работал только для CT, то есть чтобы терорам оружие не давал.
Сделайте пожалуйста :)

^^^ это уже сам сделал:) а вот респаун платный не знаю как сделать :(

Добавлено (09.01.2010, 16:59:23)
---------------------------------------------

Code

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta_util>

#define PLUGIN "FreeRun"
#define VERSION "0.1.0"
#define AUTHOR "PomanoB"

new g_free

public plugin_init()
{
     register_plugin(PLUGIN, VERSION, AUTHOR)
         
     register_clcmd("say free", "cmdFree")
         
     register_event("HLTV", "eventRoundStart", "a", "1=0", "2=0")
         
     RegisterHam(Ham_Touch, "armoury_entity", "fwdTouch")
     RegisterHam(Ham_Touch, "weaponbox", "fwdTouch")
     RegisterHam(Ham_Use, "func_button", "fwdUse")
         
     register_menucmd(register_menuid("Free?"), MENU_KEY_1|MENU_KEY_2, "free_run_menu")
}

public eventRoundStart()
{
     g_free = false
}

public free_run_menu(id, key)
{
     if (!key)
     {
      g_free = true
      set_hudmessage(255, 0, 0, -1.0, 0.39, 0, 6.0, 12.0)
      show_hudmessage(id, "FREE  AND KNIFE!!!")
          
      new players[32], plNum, i
      get_players(players, plNum, "ah")
      for (i = 0; i < plNum; i++)
      {
       fm_strip_user_weapons(players[i])
       fm_give_item(players[i], "weapon_knife")
      }      
     }
     else
     {
      set_hudmessage(255, 0, 0, -1.0, 0.39, 0, 6.0, 12.0)
      show_hudmessage(id, "FREE REFUSED!")
     }
}
public cmdFree(id)
{
     if (g_free)
     {
      client_print(id, print_center, "Already FreeRun!")
      return
     }
     new menu[256], len
     len = format(menu, charsmax(menu), "\yFree?\w^n^n")
     len += format(menu[len], charsmax(menu) - len, "1. Yes^n")
     len += format(menu[len], charsmax(menu) - len, "2. No^n")
         
     new players[32], plNum
     get_players(players, plNum, "ace", "TERRORIST")
     if (players[0])
      show_menu(players[0], MENU_KEY_1|MENU_KEY_2, menu)
}

public fwdTouch(ent, id)
{
     if (is_user_alive(id) && g_free)
      return HAM_SUPERCEDE
     return HAM_IGNORED
}

public fwdUse(ent, idcaller, idactivator, use_type, Float:value)
{
     if (is_user_alive(idactivator) && g_free && get_user_team(idactivator) == 1)
     {
      client_print(idactivator, print_center, "You choose FreeRun!")
      return HAM_SUPERCEDE
     }
     return HAM_IGNORED
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/

и еще сделайте пожалуйста тут чтобы после free все CT которые респавнятся появлялись с ножом.
Прикрепления: respawn.sma (2.0 Kb)




Сообщение отредактировал Bl0kc - Суббота, 09.01.2010, 19:18:07
 
ExtasyДата: Суббота, 09.01.2010, 22:06:19 | Сообщение # 2
Лейтенант
Группа: Пользователи
Сообщений: 61
Репутация: 3
Статус: Не в сети
Quote (Bl0kc)
В прикреплённом плагине всего-то нужно сделать чтобы /respawn стоил 8000$.

Code
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Respawn"
#define VERSION "1.1"
#define AUTHOR "st0ka"

new respawned[33]

public plugin_init() {
  register_plugin(PLUGIN, VERSION, AUTHOR)
  register_cvar("amx_respawn","1")
  register_cvar("amx_autorespawn","1")
  register_cvar("amx_autorespawn_players","4")
  register_ cvar("spawn_cost","8000") // Стоимость спауна
  register_event("DeathMsg","event_death","a")
  register_clcmd("say /respawn","p_respawn")
  register_clcmd("say_team /respawn","p_respawn")
}

public event_death() {
  new id = read_data(2)
  if(get_cvar_num("amx_autorespawn") == 0 && get_cvar_num("amx_respawn") == 0)
  {
   return PLUGIN_HANDLED
  }
  else if(get_cvar_num("amx_autorespawn") == 1 && get_cvar_num("amx_respawn") == 1) {
   set_task(0.1,"respawn",id)
   set_task(2.0,"r_check",id)
  }
  return PLUGIN_HANDLED
}

public respawn(id) {
  new num = get_playersnum()
  if(num >= get_cvar_num("amx_autorespawn_players")) {
   new CsTeams:team = cs_get_user_team(id)
   if(team == CS_TEAM_CT) {
    cs_user_spawn(id)
    give_item(id,"weapon_knife")
    give_item(id,"weapon_usp")
    cs_set_user_bpammo(id,CSW_USP,24)
    respawned[ id] = true
   }
   else if(team == CS_TEAM_T) {
    cs_user_spawn(id)
    give_item(id,"weapon_knife")
    give_item(id,"weapon_glock18")
    cs_set_user_bpammo(id,CSW_GLOCK18,40)
    re spawned[id] = true
   }
  }
  else {
   return PLUGIN_HANDLED
  }
  return PLUGIN_HANDLED
}

public p_respawn(id) {
  if(get_cvar_num("amx_respawn") == 1) {
   new player_money = cs_get_user_money(id)
   new cost = get_cvar_num("spawn_cost")
   if (player_money >= cost) {
    new CsTeams:team = cs_get_user_team(id)
    if(team == CS_TEAM_CT && !is_user_alive(id)) {
     cs_user_spawn(id)
     give_item(id,"weapon_knife")
     give_item(id,"weapon_usp")
     cs_set_user_bpammo(id,CSW_USP,24)
     cs_se t_user_money(id, player_money - cost)
    }
    else if(team == CS_TEAM_T && !is_user_alive(id)) {
     cs_user_spawn(id)
     give_item(id,"weapon_knife")
     give_item(id,"weapon_glock18")
     cs_set_user_bpammo(id,CSW_GLOCK18,40)
     c s_set_user_money(id, player_money - cost)
    }
   }
  }
}

public r_check(id) {
  if(!respawned[id]) {
   respawn(id)
  }
}

пробуй

 
Bl0kcДата: Суббота, 09.01.2010, 22:47:40 | Сообщение # 3
Полковник
Группа: Пользователи
Сообщений: 152
Репутация: 1
Статус: Не в сети
неа, не компилится((

 
ExtasyДата: Воскресенье, 10.01.2010, 00:04:49 | Сообщение # 4
Лейтенант
Группа: Пользователи
Сообщений: 61
Репутация: 3
Статус: Не в сети
Code
#include <amxmodx>  
#include <amxmisc>  
#include <cstrike>  
#include <fun>  

#define PLUGIN "Respawn"  
#define VERSION "1.1"  
#define AUTHOR "st0ka"  

new respawned[33]  

public plugin_init() {  
   register_plugin(PLUGIN, VERSION, AUTHOR)  
   register_cvar("amx_respawn","1")  
   register_cvar("amx_autorespawn","1")  
   register_cvar("amx_autorespawn_players","4")  
   register_cvar("spawn_cost","8000") // Стоимость спауна  
   register_event("DeathMsg","event_death","a")  
   register_clcmd("say /respawn","p_respawn")  
   register_clcmd("say_team /respawn","p_respawn")  
}  

public event_death() {  
   new id = read_data(2)  
   if(get_cvar_num("amx_autorespawn") == 0 && get_cvar_num("amx_respawn") == 0)  
   {  
    return PLUGIN_HANDLED  
   }  
   else if(get_cvar_num("amx_autorespawn") == 1 && get_cvar_num("amx_respawn") == 1) {  
    set_task(0.1,"respawn",id)  
    set_task(2.0,"r_check",id)  
   }  
   return PLUGIN_HANDLED  
}  

public respawn(id) {  
   new num = get_playersnum()  
   if(num >= get_cvar_num("amx_autorespawn_players")) {  
    new CsTeams:team = cs_get_user_team(id)  
    if(team == CS_TEAM_CT) {  
     cs_user_spawn(id)  
     give_item(id,"weapon_knife")  
     give_item(id,"weapon_usp")  
     cs_set_user_bpammo(id,CSW_USP,24)  
     respawned[ id] = true  
    }  
    else if(team == CS_TEAM_T) {  
     cs_user_spawn(id)  
     give_item(id,"weapon_knife")  
     give_item(id,"weapon_glock18")  
     cs_set_user_bpammo(id,CSW_GLOCK18,40)  
     respawned[id] = true  
    }  
   }  
   else {  
    return PLUGIN_HANDLED  
   }  
   return PLUGIN_HANDLED  
}  

public p_respawn(id) {  
   if(get_cvar_num("amx_respawn") == 1) {  
    new player_money = cs_get_user_money(id)  
    new cost = get_cvar_num("spawn_cost")  
    if (player_money >= cost) {  
     new CsTeams:team = cs_get_user_team(id)  
     if(team == CS_TEAM_CT && !is_user_alive(id)) {  
      cs_user_spawn(id)  
      give_item(id,"weapon_knife")  
      give_item(id,"weapon_usp")  
      cs_set_user_bpammo(id,CSW_USP,24)  
      cs_set_user_money(id, player_money - cost)  
     }  
     else if(team == CS_TEAM_T && !is_user_alive(id)) {  
      cs_user_spawn(id)  
      give_item(id,"weapon_knife")  
      give_item(id,"weapon_glock18")  
      cs_set_user_bpammo(id,CSW_GLOCK18,40)  
      cs_set_user_money(id, player_money - cost)  
     }  
    }  
   }  
}  

public r_check(id) {  
   if(!respawned[id]) {  
    respawn(id)  
   }  
}

Добавлено (10.01.2010, 00:04:49)
---------------------------------------------
поправил.. форум походу криванул...

 
Bl0kcДата: Воскресенье, 10.01.2010, 00:14:51 | Сообщение # 5
Полковник
Группа: Пользователи
Сообщений: 152
Репутация: 1
Статус: Не в сети
а теперь деньги сьедает, но не респавнит :D

Добавлено (10.01.2010, 00:14:51)
---------------------------------------------
точнее оно как бы респавнит, но не полностью... когда прописываю /respawn у меня просто убирается надпись DEAD


 
ExtasyДата: Воскресенье, 10.01.2010, 00:41:49 | Сообщение # 6
Лейтенант
Группа: Пользователи
Сообщений: 61
Репутация: 3
Статус: Не в сети
Bl0kc, а до этого всё нормально было?... я вроде не задевал функцию, отвечающую за респаун, просто добавил, чтобы деньги съедало.. я могу еще попробовать... но это не сегодня... завтра попробую, если время найдется.
 
Bl0kcДата: Воскресенье, 10.01.2010, 00:48:05 | Сообщение # 7
Полковник
Группа: Пользователи
Сообщений: 152
Репутация: 1
Статус: Не в сети
как-то странно он работает... если сразу же после сметри прописать /respawn, то респавнет, если чуть позже, то респавнит без прицелы, без хп, а если прописать когда уже во спектаторах, то просто сотрётся DEAD ))

Добавлено (10.01.2010, 00:45:18)
---------------------------------------------

Quote (Extasy)
Bl0kc, а до этого всё нормально было?... я вроде не задевал функцию, отвечающую за респаун, просто добавил, чтобы деньги съедало.. я могу еще попробовать... но это не сегодня... завтра попробую, если время найдется.

щас попробую халявный респаун

Добавлено (10.01.2010, 00:48:05)
---------------------------------------------
блин, он бесплатный такой кривой оказывается) эх... поищу нормальный и сам уже с ценой сделаю
спасибо тебе :)


 
Bl0kcДата: Воскресенье, 10.01.2010, 01:07:40 | Сообщение # 8
Полковник
Группа: Пользователи
Сообщений: 152
Репутация: 1
Статус: Не в сети
блин... как-то он не так сделан, вообще... вот короче тот второй, сам цену добавить не смог

Добавлено (10.01.2010, 01:07:40)
---------------------------------------------
стоп, этот второй плагин походу только для админов, а нужно чтобы для всех...

Прикрепления: 4351963.sma (4.0 Kb)


 
ExtasyДата: Воскресенье, 10.01.2010, 08:53:16 | Сообщение # 9
Лейтенант
Группа: Пользователи
Сообщений: 61
Репутация: 3
Статус: Не в сети
Тяжко мне дается разбор чужого кода... Пробуй
Quote
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "Respawn"
#define VERSION "1.0"
#define AUTHOR "Exta5y"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("spawn_cost","8000") // Стоимость спауна

register_concmd("say /respawn", "respawn_me")
register_concmd("say_team /respawn", "respawn_me")
}

public respawn_me(id) {
if (!is_user_alive(id)) {
new player_money = cs_get_user_money(id)
new cost = get_cvar_num("spawn_cost")
if (player_money >= cost) {
ExecuteHamB(Ham_CS_RoundRespawn, id)
cs_set_user_money(id, player_money - cost)
}
}
}

 
Bl0kcДата: Воскресенье, 10.01.2010, 12:58:07 | Сообщение # 10
Полковник
Группа: Пользователи
Сообщений: 152
Репутация: 1
Статус: Не в сети
кажется работает! спасибо большое! :)
а ты не сможешь написать плагин чтоб первые 10-20 секунд всех умерших возвращал на точки респа (в теме ниже) , думаю это не сложно

Добавлено (10.01.2010, 12:58:07)
---------------------------------------------
а как сделать чтоб на сервере в чате писало сообщение что работает эта функция

Code

public client_authorized(id)
  set_task(40.0, "showUsage", id)

public showUsage(id) {
  if ( !get_cvar_num("spawn_showusage") ) {
   client_print(id, print_chat, "[AMXX] The function /respawn is enabled on this server. Cost - 8000$. Say /respawn for respawn.")
  }  
}


вот это добавил, а оно не работает. брал с бхоп плагина, теперь и его сообщения не показывает)


 
ExtasyДата: Воскресенье, 10.01.2010, 13:42:22 | Сообщение # 11
Лейтенант
Группа: Пользователи
Сообщений: 61
Репутация: 3
Статус: Не в сети
Bl0kc, не понимаю, зачем даная строка
Code
if ( !get_cvar_num("spawn_showusage") )

Code
public client_putinserver(id)
  set_task(40.0, "showUsage", id)

public showUsage(id) {  
  client_print(id, print_chat, "[AMXX] The function /respawn is enabled on this server. Cost - 8000$. Say /respawn for respawn.")  
}

client_putinserver - когда игрок уже зашел на сервер, а не авторизовался. Можешь сменить, но не думаю, что это стоит того.
 
Bl0kcДата: Воскресенье, 10.01.2010, 15:19:46 | Сообщение # 12
Полковник
Группа: Пользователи
Сообщений: 152
Репутация: 1
Статус: Не в сети
это оно будет каждые 40 секунд писаться? судя по
Code
  set_task(40.0, "showUsage", id)

Добавлено (10.01.2010, 14:18:32)
---------------------------------------------
1 раз в консоли увидел что написало, а в игре не вижу что-то...

Добавлено (10.01.2010, 15:19:46)
---------------------------------------------

Code
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta_util>

#define PLUGIN "FreeRun"
#define VERSION "0.1.0"
#define AUTHOR "PomanoB"

new g_free
new g_cvar_t_only

public plugin_init()
{
  register_plugin(PLUGIN, VERSION, AUTHOR)
   
  g_cvar_t_only = register_cvar("dh_free_run_t_only", "1")
   
  register_clcmd("say free", "cmdFree")
   
  register_event("HLTV", "eventRoundStart", "a", "1=0", "2=0")
   
  RegisterHam(Ham_Touch, "armoury_entity", "fwdTouch")
  RegisterHam(Ham_Touch, "weaponbox", "fwdTouch")
  RegisterHam(Ham_Use, "func_button", "fwdUse")
   
  register_menucmd(register_menuid("Free?"), MENU_KEY_1|MENU_KEY_2, "free_run_menu")
}

public eventRoundStart()
{
  g_free = false
}

public free_run_menu(id, key)
{
  if (!key)
  {
   g_free = true
   set_hudmessage(0, 255, 255, 0.02, -1.0);
   show_hudmessage(id, "Free and knife!");
    
   new players[32], plNum, i
   get_players(players, plNum, "ah")
   for (i = 0; i < plNum; i++)
   {
    fm_strip_user_weapons(players[i])
    fm_give_item(players[i], "weapon_knife")
   }   
  }
  else
  {
   set_hudmessage(255, 0, 0, -1.0, 0.39, 0, 6.0, 12.0)
   show_hudmessage(id, "FREE REFUSED!")
  }
}
public cmdFree(id)
{
  if (get_pcvar_num(g_cvar_t_only) && get_user_team(id) != 1)
  {
   client_print(id, print_center, "Only T can Use it!")
   return
  }
  new menu[256], len
  len = format(menu, charsmax(menu), "\yFree?\w^n^n")
  len += format(menu[len], charsmax(menu) - len, "1. Yes^n")
  len += format(menu[len], charsmax(menu) - len, "2. No^n")
   
  new players[32], plNum
  get_players(players, plNum, "ace", "TERRORIST")
  if (players[0])
   show_menu(players[0], MENU_KEY_1|MENU_KEY_2, menu)
}

public fwdTouch(ent, id)
{
  if (is_user_alive(id) && g_free)
   return HAM_SUPERCEDE
  return HAM_IGNORED
}

public fwdUse(ent, idcaller, idactivator, use_type, Float:value)
{
  if (is_user_alive(idactivator) && g_free && get_user_team(idactivator) == 1)
  {
   client_print(idactivator, print_center, "You choose FreeRun!")
   return HAM_SUPERCEDE
  }
  return HAM_IGNORED
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/

Сделайте еще пожалуйста чтоб тут при вводе free не появлялось меню, а сразу делалось Free>Yes :)


 
ExtasyДата: Понедельник, 11.01.2010, 13:01:56 | Сообщение # 13
Лейтенант
Группа: Пользователи
Сообщений: 61
Репутация: 3
Статус: Не в сети
Quote (Bl0kc)
Сделайте еще пожалуйста чтоб тут при вводе free не появлялось меню, а сразу делалось Free>Yes

Держи
Прикрепления: free.sma (1.5 Kb)
 
Bl0kcДата: Понедельник, 11.01.2010, 14:54:52 | Сообщение # 14
Полковник
Группа: Пользователи
Сообщений: 152
Репутация: 1
Статус: Не в сети
спасибо beer

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

AMX Mod X Russian Community © 2006-2024