Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Форум Perfect Soft » Моды и AMX Скриптинг CS 1.6 » AMX Скриптинг CS 1.6 (вопрос | ответ) » Как переделать плагины от zp, чтобы он работал на простом ? (Вопрос?)
Как переделать плагины от zp, чтобы он работал на простом ?
Andre
Дата: Пятница, 01.06.2012, 13:49 | Сообщение # 1
офлайн

  • Сообщения: 25
  • Награды: 0
  • Замечания:
 
как переделать плагины от zp, чтобы он работал на простом СЕРВЕРЕ ИЛИ СКАЖЕМ НА WAR3FT

Я знаю что есть такие темы тут но все же как к примеру изменить вот этот плагин

Code
/*
        [ZP] Extra Item : Leap
        ( Ability for Zombies )
         by Fry!
   

  Description :  

    Ever wanted that if You are zombie jump longer? Now You can, for zombies are one special ability "Long Jump".

  Cvars :

    zp_longjump_force "550"  - How far zombie will jump
    zp_longjump_height "255"    - How high zombie will jump
    zp_longjump_cooldown "5.0"    - How long cooldown will be before you can use long jump again
    zp_longjump_cost "9"  - How much it will cost to you

  Credits :

    Locks - for his Long Jump Plugin
    bmann_420 - for helping again ^^
    Mercylezz - for helping me with delay (thanks to him fixed one error and converted to fakemeta)

  Changelog :

    20/09/2008 - v1.0 - first release
    25/09/2008 - v1.1 - fixed that plugin not working only ammo packs waste.
    27/09/2008 - v1.2 - fixed that when have bought a jump pack it show to all players.
    04/10/2008 - v1.3 - added delay between long jump, force and height.
    08/10/2008 - v1.4 - fixed delay not working between jumps.
    12/10/2008 - v1.5 - fixed this last error and converted all to fakemeta
    15/11/2008 - v1.5.3 - added cvar how much it will cost, optimized code, changed plugin name.
    20/02/2009 - v1.5.7 - removed toggle cvar, changed chat function, changed plugin name, optimized code.
   
*/

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>

#define PLUGIN "[ZP] Extra Item : Leap"
#define VERSION "1.5.7"
#define AUTHOR "Fry!"

/*================================================================================
  [Plugin Customization]
=================================================================================*/

new bool:g_hasLongJump[33]
new Float:g_last_LongJump_time[33]
new g_itemid_long, g_LongJump_cost, g_LongJump_force, g_LongJump_height, g_LongJump_cooldown

new g_item_name[] = "Long Jump"

public plugin_init()  
{
  register_plugin(PLUGIN, VERSION, AUTHOR)
   
  register_cvar("zp_extra_leap",VERSION,FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
   
  g_LongJump_force = register_cvar("zp_longjump_force", "580")
  g_LongJump_height = register_cvar("zp_longjump_height", "320")
  g_LongJump_cooldown = register_cvar("zp_longjump_cooldown", "5.0")
  g_LongJump_cost = register_cvar("zp_longjump_cost", "5")
   
  register_clcmd("say /blj", "buy_longjump")
   
  register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
   
  register_event("DeathMsg", "death", "a")
  register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
   
  g_itemid_long = zp_register_extra_item(g_item_name, get_pcvar_num(g_LongJump_cost), ZP_TEAM_ZOMBIE)
}

// Reset on disconnection
public client_disconnect(id)
{
  g_hasLongJump[id] = false
}

// Reset on death
public death()
{
  g_hasLongJump[read_data(2)] = false
}

// Reset if turned into human
public zp_user_humanized_post(id)
{
  g_hasLongJump[id] = false
}

// Reset at round start (for everyone)
public event_round_start()
{
  for (new i = 1; i <= 32; i++)
   g_hasLongJump[i] = false
}

// Buy throught extra items menu
public zp_extra_item_selected(player, itemid)
{
  if (itemid == g_itemid_long)
  {
   g_hasLongJump[player] = true
   client_print(player, print_chat,"[ZP] You have bought a Jump Pack. To use it, press duck and jump while moving forward.")
  }
}     

// Buy through command "say /blj"
public buy_longjump(id)
{
  if ( g_hasLongJump[id] )
  {
   client_print(id, print_chat, "[ZP] You have already purchased a jumppack.")
   return PLUGIN_HANDLED
  }
   
  if ( !is_user_alive(id) )
  {
   client_print(id, print_chat, "[ZP] You can't buy jumppack because You are dead.")
   return PLUGIN_HANDLED
  }
   
  if ( !zp_get_user_zombie(id) )
  {
   client_print(id, print_chat, "[ZP] You can't buy jumppack because You are not a zombie.")
   return PLUGIN_HANDLED
  }
   
  new money = zp_get_user_ammo_packs(id)
  new cost = get_pcvar_num(g_LongJump_cost)
   
  if ( money < cost )
  {
   client_print(id, print_chat, "[ZP] You don't have enough ammo packs to buy a jumppack. (%i needed).", cost )
   return PLUGIN_HANDLED
  }
   
  g_hasLongJump[id] = true
   
  zp_set_user_ammo_packs(id, money - cost)
   
  client_print(id, print_chat, "[ZP] You have bought a Jump Pack. To use it, press duck and jump while moving forward.")
   
  return PLUGIN_HANDLED
}

   
public fw_PlayerPreThink(id)
{
  if (!is_user_alive(id))
   return FMRES_IGNORED
   
  if (allow_LongJump(id))
  {
   static Float:velocity[3]
   velocity_by_aim(id, get_pcvar_num(g_LongJump_force), velocity)
    
   velocity[2] = get_pcvar_float(g_LongJump_height)
    
   set_pev(id, pev_velocity, velocity)
    
   g_last_LongJump_time[id] = get_gametime()
  }
   
  return FMRES_IGNORED
}

// Check if the player can longjump
allow_LongJump(id)
{
  if (!g_hasLongJump[id])
   return false
   
  if (!(pev(id, pev_flags) & FL_ONGROUND) || fm_get_speed(id) < 80)
   return false
   
  static buttons
  buttons = pev(id, pev_button)
   
  if (!is_user_bot(id) && (!(buttons & IN_JUMP) || !(buttons & IN_DUCK)))
   return false
   
  if (get_gametime() - g_last_LongJump_time[id] < get_pcvar_float(g_LongJump_cooldown))
   return false
   
  return true
}

// Get entity's speed (from fakemeta_util)
stock fm_get_speed(entity)
{
  static Float:velocity[3]
  pev(entity, pev_velocity, velocity)
   
  return floatround(vector_length(velocity))
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
Прикрепления: 1-zp_extra_leap.sma (5.4 Kb)
 
SMaster
Дата: Пятница, 01.06.2012, 14:22 | Сообщение # 2
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Нужно полностью убрать код связанный с zombieplague

Удаляешь инклюд:
Code
#include <zombieplague>


Удаляешь регистрацию класса:
Code
g_itemid_long = zp_register_extra_item(g_item_name, get_pcvar_num(g_LongJump_cost), ZP_TEAM_ZOMBIE)


Удаляешь лишние переменные если не нужны:
Code
new g_item_name[] = "Long Jump"


Удаляешь проверку если игрок зомби:
Code
if ( !zp_get_user_zombie(id) )
{
  client_print(id, print_chat, "[ZP] You can't buy jumppack because You are not a zombie.")
  return PLUGIN_HANDLED
}


Заменяешь амо паки на деньги:
Code
new money = zp_get_user_ammo_packs(id)

меняешь на
Code
new money = cs_get_user_money(id);


И
Code
zp_set_user_ammo_packs(id, money - cost)

меняешь на
Code
cs_set_user_money(id, money - cost)


Для cs_set_user_money нужно подключить файл cstrike
Code
#include <cstrike>


Теперь можешь установить на любой сервер и покупать предмет или способность.


Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
Andre
Дата: Пятница, 01.06.2012, 16:16 | Сообщение # 3
офлайн

  • Сообщения: 25
  • Награды: 0
  • Замечания:
 
SMaster, Спасибо большое, а еще что нибудь есть изменять? чтобы заранее знать!?
 
SMaster
Дата: Пятница, 01.06.2012, 16:18 | Сообщение # 4
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Все что начинается на zp_ то и меняй.

Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
Andre
Дата: Пятница, 01.06.2012, 16:26 | Сообщение # 5
офлайн

  • Сообщения: 25
  • Награды: 0
  • Замечания:
 
Ясно спс

Прости я час может не по теме вот это отвечает за то чтобы его в новом раунде не было

Code


  register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

Code


// Reset at round start (for everyone)
public event_round_start()
{
  for (new i = 1; i <= 32; i++)
   g_hasLongJump[i] = false
}
 
SMaster
Дата: Пятница, 01.06.2012, 16:31 | Сообщение # 6
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Да.

Code
g_hasLongJump[player] = true

Добавь когда игрок покупает.

В эту функцию public buy_longjump(id)
Code

public buy_longjump(id)
{
if ( g_hasLongJump[id] )
{
client_print(id, print_chat, "[ZP] You have already purchased a jumppack.")
return PLUGIN_HANDLED
}
g_hasLongJump[player] = true
}


Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
Andre
Дата: Пятница, 01.06.2012, 16:53 | Сообщение # 7
офлайн

  • Сообщения: 25
  • Награды: 0
  • Замечания:
 
Прости я снова не по теме как сделать
допустим вот это выводилось по Русские
Code
[ZP] You have already purchased a jumppack.

простоя по русский написал а в Чате не чего не выходит кроме этого
Code
[] .

Если у меня вот так
Code
[Меню Закупки] ^3Вы уже приобрели JumpPack.


Сообщение отредактировал Andre - Пятница, 01.06.2012, 16:54
 
SMaster
Дата: Пятница, 01.06.2012, 17:02 | Сообщение # 8
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Файл пересохрани в кодировке UTF-8 без BOM

Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
Andre
Дата: Суббота, 02.06.2012, 15:10 | Сообщение # 9
офлайн

  • Сообщения: 25
  • Награды: 0
  • Замечания:
 
СПС

Добавлено (02.06.2012, 15:10)
---------------------------------------------
Еще один вопрос с догадками

чтобы он срабатывал по нажатию WW

Надо поменять здесь

Code
if (!is_user_bot(id) && (!(buttons & IN_JUMP) || !(buttons & IN_DUCK)))


Подскажите ПЖЛ че надо написать!?

С меня +1 и подарок
 
SMaster
Дата: Суббота, 02.06.2012, 17:41 | Сообщение # 10
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Найди плагин где применяется WW и скопируй код.

Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
Andre
Дата: Суббота, 02.06.2012, 18:59 | Сообщение # 11
офлайн

  • Сообщения: 25
  • Награды: 0
  • Замечания:
 
я нашел но я не знаю что надо брать

SMaster, Подскажи пожалуйста
Code


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>

#define PLUGIN "Amx Dodge"
#define VERSION "0.1.0"
#define AUTHOR "PomanoB/fl0wer only W for DarkNill :D"

#define TIME_INTERVAL 0.35
#define TIME_RESET 2.0

#define ADD_BUTTON(%1,%2) g_key[%1][0]=g_key[id][1];g_key[%1][1]=%2;
#define RESET_BUTTON(%1) g_key[%1][0]=0;g_key[%1][1]=0;  

new bool:g_dodge[33];
new Float:g_time[33];
new g_key[33][2];

public plugin_init()
{
  register_plugin(PLUGIN, VERSION, AUTHOR)
   
}

public client_PreThink(id)
{

  if (!is_user_alive(id) || zp_get_user_zombie(id))
   return PLUGIN_CONTINUE  
   
   
  if (g_dodge[id])
   return PLUGIN_CONTINUE
    
    
   
  new button=pev(id,pev_button)
  if (button==0)
   return PLUGIN_CONTINUE
    
    
  new oldbutton=pev(id,pev_oldbuttons);
  if ((button & IN_FORWARD) && !(oldbutton & IN_FORWARD))
  {
   ADD_BUTTON(id,'w')
  }
  else  
   return PLUGIN_CONTINUE;
    
  new Float:time_out=get_gametime();
    
  if ( (!g_time[id]) || (time_out-g_time[id] >TIME_INTERVAL))
  {
   g_time[id]=time_out
   RESET_BUTTON(id)
   return PLUGIN_CONTINUE;
  }
  g_time[id]=time_out;
   
   
  if (equali(g_key[id],"ww"))
  {
    
   g_dodge[id]=true
   RESET_BUTTON(id)
   g_time[id]=0.0;
   give_dodge(id,0);
   set_task(TIME_RESET,"reset_dodge",id)
    
    
  }  
   
  return PLUGIN_CONTINUE;
}

public give_dodge(id,n)
{
  new coord[3];
  new aiming[3];
   
  get_user_origin(id,coord)
  get_user_origin(id,aiming,3);
   
  new Float:orign[3];
   
  new Float:len=floatabs(floatsqroot (float((aiming[0]-coord[0])*(aiming[0]-coord[0])+(aiming[1]-coord[1])*(aiming[1]-coord[1])+(aiming[2]-coord[2])*(aiming[2]-coord[2]))))/10;
   
   
  new i;
   
  new Float:temp;
  for (i=0;i<3;i++)
  {
   orign[i]=float(aiming[i]-coord[i])/len;

    
  }
   
  if (n==1)
  {
   orign[0]=-orign[0];
   orign[1]=-orign[1];
  }
  else if (n==2)
  {
   temp=orign[0];
   orign[0]=orign[1];
   orign[1]=-temp;
  }
  else if (n==3)
  {
   temp=orign[0];
   orign[0]=-orign[1];
   orign[1]=temp;
  }
   
  new Float:vel[3]
   
   
   

  vel[0] = orign[0]*60.0;
  vel[1] = orign[1]*60.0;
  vel[2] = 250.0;
   

  set_pev(id, pev_velocity, vel)
   
}
public reset_dodge(id)
{
  g_dodge[id]=false;
   
}

 
KinD
Дата: Суббота, 02.06.2012, 19:26 | Сообщение # 12
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
IN_FORWARD

"ловит" ,когда игрок идет вперед


Skype:daywerok
 
Andre
Дата: Суббота, 02.06.2012, 22:04 | Сообщение # 13
офлайн

  • Сообщения: 25
  • Награды: 0
  • Замечания:
 
СПС но там не только это надо было меня пришлось повозится

Добавлено (02.06.2012, 22:04)
---------------------------------------------
Не подскажите как с этого кода у брать zp_get_user_zombie
я пробовал удалить но это привело к новым ошибкам

и что такое zp_get_user_survivor



Прикрепления: 7716718.jpg (225.7 Kb) · 1-zp_weapon_svd.sma (30.0 Kb)


Сообщение отредактировал Andre - Суббота, 02.06.2012, 22:08
 
KinD
Дата: Воскресенье, 03.06.2012, 11:25 | Сообщение # 14
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Code
zp_get_user_zombie- это значит что игрок зомби
   !zp_get_user_zombie  игрок не зомби
zp_get_user_survivor - получить  "выжившего"


Skype:daywerok

Сообщение отредактировал KinD - Воскресенье, 03.06.2012, 11:28
 
Andre
Дата: Воскресенье, 03.06.2012, 12:22 | Сообщение # 15
офлайн

  • Сообщения: 25
  • Награды: 0
  • Замечания:
 
KinD, СПС
 
Форум Perfect Soft » Моды и AMX Скриптинг CS 1.6 » AMX Скриптинг CS 1.6 (вопрос | ответ) » Как переделать плагины от zp, чтобы он работал на простом ? (Вопрос?)
  • Страница 1 из 1
  • 1
Поиск: