AMX MOD X
Понедельник, 29.04.2024, 14:38:59



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Перевод денег (Че-то не выходит)
Перевод денег
AlModДата: Вторник, 03.04.2007, 06:53:57 | Сообщение # 1
Сонный кодер
Группа: Админы
Сообщений: 600
Репутация: 27
Статус: Не в сети
Вообщем, вот код
Code
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "AMXX Money Transfer"
#define VERSION "1.0"
#define AUTHOR "AlMod"

new bool:g_Mod=true

public plugin_init()  
{
  register_plugin(PLUGIN, VERSION, AUTHOR)
   
  register_cvar("amx_transfer","1")
  register_clcmd("say /gm","CMDTransMyMoney",ADMIN_ALL,"<ник игрока> <количество денег>")
  register_clcmd("say_team /gm","CMDTransMyMoney",ADMIN_ALL,"<ник игрока> <количество денег>")
   
  init()
}

public plugin_cfg()
{
  init()
}

public init()
{
  new cvar = get_cvar_num("amx_transfer")
  if (cvar==0)
  {
   g_Mod=false
  }
  else
  {
   g_Mod=true
  }
}

public CMDTransMyMoney(id,level,cid)
{
  if (!cmd_access(id, level, cid, 3))
   return PLUGIN_HANDLED
    
  init()
   
  if (!g_Mod)
   return PLUGIN_HANDLED
    
  new arg[32],pname[32],name[32]
   
  read_argv(2, arg, 31)
   
  new player = cmd_target(id, arg, 4)
   
  if (!player)
  {
   client_print(id,print_chat,"* [ПЕРЕВОД] Игрок %s не найден!",arg)
   return PLUGIN_HANDLED
  }
   
  get_user_name(player,pname,31)
  get_user_name(id,name,31)
   
  if (id==player)
   return PLUGIN_HANDLED
   
  new givemoney[32]
  read_argv(3, givemoney, 31)
   
  new money_dec = str_to_num(givemoney)
   
  new money = cs_get_user_money(id)
  new money2 = cs_get_user_money(player)
   
  if (money-money_dec>=0)
  {
   if (money2+money_dec<=16000)
   {
    if (cs_get_user_team(id)==cs_get_user_team(player))
    {
     cs_set_user_money(id,money-money_dec)
     cs_set_user_money(player,money2+money _dec)
     client_print(id,print_chat,"* [ПЕРЕВОД] Вы перевели игроку %s %d долларов!",pname,money_dec)
     client_print(player,print_chat,"* [ПЕРЕВОД] Игрок %s перевел вам %d долларов!",name,money_dec)
    }
    else
    {
     client_print(id,print_chat,"* [ПЕРЕВОД] Вы не можете переводить деньги игроку из другой команды!")
     return PLUGIN_HANDLED
    }
   }
   else
   {
    client_print(id,print_chat,"* [ПЕРЕВОД] У этого игрока и так достаточно денег!")
    return PLUGIN_HANDLED
   }
  }
  else
  {
   client_print(id,print_chat,"* [ПЕРЕВОД] У вас столько нет!")
   return PLUGIN_HANDLED
  }
    
  return PLUGIN_HANDLED
}

Плагин немного тупит. Он не делает нишиша из чата, но когда набираешь из консоли - все ок


 
VENДата: Вторник, 03.04.2007, 10:47:36 | Сообщение # 2
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Потому как при использовании messagemode аргументы оборачиваются в кавычки. См. мой Any Money на офф. форуме для примера решения.
 
AlModДата: Вторник, 03.04.2007, 12:42:04 | Сообщение # 3
Сонный кодер
Группа: Админы
Сообщений: 600
Репутация: 27
Статус: Не в сети
Нашёл.

Вот http://forums.alliedmods.net/showthread.php?t=21454&highlight=Money
если кому нужно


 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Перевод денег (Че-то не выходит)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024