AMX MOD X
Суббота, 04.05.2024, 16:48:10



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » как сделать?
как сделать?
Bl0kcДата: Понедельник, 18.01.2010, 11:01:33 | Сообщение # 1
Полковник
Группа: Пользователи
Сообщений: 152
Репутация: 1
Статус: Не в сети
Code
/*
*
* AMX Mod X Script
* cheer v 0.3b
* (c) Copyright 2008, Radiance
* This file is provided as is (no warranties)
*
*/

#include <amxmodx>

new g_sprite
new g_accesscvar
new bool:gb_smile[33]

public plugin_init()
{
  register_plugin("cheer", "0.3b", "Radiance + NZXT.")
  register_clcmd("cheer", "cmdCheer")
  g_accesscvar = register_cvar("cheer_access", "0")
}

public plugin_precache()
{
  g_sprite = precache_model("sprites/smile.spr")
  precache_sound("misc/woohoo2.wav")
}

public cmdCheer(id)
{
  if(!is_user_alive(id))
   return 1;
    
  if(get_pcvar_num(g_accesscvar) && !(get_user_flags(id) & ADMIN_CHAT))
   return 1;   

  switch(gb_smile[id])
  {
   case true:    rem_cheer(id);
   case false: set_cheer(id);
  }

  gb_smile[id] = !gb_smile[id];

  return 1;
}

stock rem_cheer(id)
{
  message_begin(MSG_ALL, SVC_TEMPENTITY);
     write_byte(125);
     write_byte(id);
     message_end();
  client_print(id, print_chat, "*Smile Off");
}

stock set_cheer(id)
{
  message_begin(MSG_ALL, SVC_TEMPENTITY);
  write_byte(124);
  write_byte(id);
  write_coord(35);
  write_short(g_sprite);
  write_short(100);
  message_end();
  emit_sound(id, CHAN_VOICE, "misc/woohoo2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
  client_print(id, print_chat, "*Smile On");
}

public client_connect(id) gb_smile[id] = false;
public client_disconnect(id) gb_smile[id] = false;

как тут сделать чтобы не надо было 2-й раз нажимать J для rem_cheer, а чтобы оно само оффалось после 3-х секунд?


 
PomanoBДата: Понедельник, 18.01.2010, 16:46:58 | Сообщение # 2
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Code
public cmdCheer(id)  
{  
   if(!is_user_alive(id))  
    return 1;  
      
   if(get_pcvar_num(g_accesscvar) && !(get_user_flags(id) & ADMIN_CHAT))  
    return 1;    
set_task(3.0, "cmdCheer", id)
   switch(gb_smile[id])  
   {  
    case true:    rem_cheer(id);  
    case false: set_cheer(id);  
   }  

   gb_smile[id] = !gb_smile[id];  

   return 1;  
}


http://romanov4400.mybrute.com
 
Bl0kcДата: Понедельник, 18.01.2010, 19:03:04 | Сообщение # 3
Полковник
Группа: Пользователи
Сообщений: 152
Репутация: 1
Статус: Не в сети
сначало было 2 варнинг, потом я в игре пару раз нажал J и оно начало постоянно работать )

 
PomanoBДата: Вторник, 19.01.2010, 10:28:00 | Сообщение # 4
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Code
public cmdCheer(id)   
{   
  if(!is_user_alive(id))   
   return 1;   
   
  if(get_pcvar_num(g_accesscvar) && !(get_user_flags(id) & ADMIN_CHAT))   
   return 1;     
   
  switch(gb_smile[id])   
  {   
   case true:    rem_cheer(id);   
   case false:  
   {
    set_cheer(id);   
    remove_task(id)
    set_task(3.0, "cmdCheer", id)  
   }
  }   
   
  gb_smile[id] = !gb_smile[id];   
   
  return 1;   
}


http://romanov4400.mybrute.com
 
Bl0kcДата: Вторник, 19.01.2010, 17:02:18 | Сообщение # 5
Полковник
Группа: Пользователи
Сообщений: 152
Репутация: 1
Статус: Не в сети
спс

 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » как сделать?
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024