Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Запрет на присаживание
Запрет на присаживание
Meow_1337 Дата: Воскресенье, 03.03.2013, 17:09:53 | Сообщение # 1
Сообщений: 209
Репутация: 11 [ +/- ]
Код
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
   if (buttons & IN_DUCK)
   {
     buttons &= ~IN_DUCK;
   }
}


Как сделать так чтобы игрок мог присаживаться только 1 раз после воскрешения?

Добавлено (03.03.2013, 17:09:53)
---------------------------------------------
Я не могу понять как сделать проверку чтобы игрок мог присесть только 1 раз.

 
TEIN Дата: Воскресенье, 03.03.2013, 17:17:18 | Сообщение # 2
Сообщений: 568
Репутация: 78 [ +/- ]
пробуй так

Прикрепления: 9346330.sp(0.5 Kb)
 
Meow_1337 Дата: Воскресенье, 03.03.2013, 17:30:01 | Сообщение # 3
Сообщений: 209
Репутация: 11 [ +/- ]
Нет. На сервере стоит Deathmatch.
Не работает твой вариант.
Еще может идеи есть?
К примеру с таймером.
 
Sunday Дата: Воскресенье, 03.03.2013, 21:47:11 | Сообщение # 4
Сообщений: 186
Репутация: 24 [ +/- ]
Код
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>

new trigger[MAXPLAYERS+1] = 0;

public OnPluginStart() {

  HookEvent("player_spawn", player_spawn);
}

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon) {

  if (trigger[client] == 0) {
   if(GetClientButtons(client) & IN_DUCK) {
    CreateTimer(3.0, aTimer, client);
   }
  }
  if (trigger[client] == 1) {
   buttons &= ~IN_DUCK;  
   return Plugin_Changed;  
  }
  return Plugin_Continue;  
}

public player_spawn(Handle:event,const String:name[],bool:dontBroadcast) {

  new client = GetClientOfUserId(GetEventInt(event, "userid"));
  trigger[client] = 0;
}

public Action:aTimer(Handle:timer, any:client) {

  if (IsClientInGame(client)) trigger[client] = 1;
}


Так должно работать, проверки только еще допиши, в игре плеер или нет и т.п..

Добавлено (03.03.2013, 21:47:11)
---------------------------------------------
кстати пока писал, возник вопрос, как проверить что игрок отжал кнопку? Если есть такая проверка то можно было бы чуть чуть изменить скрипт и было бы идеально...


Прикрепления: imduck.sp(0.8 Kb)
 
TEIN Дата: Понедельник, 04.03.2013, 09:32:37 | Сообщение # 5
Сообщений: 568
Репутация: 78 [ +/- ]
Последний вариант был таким
В принципе работает, но не так как нужно, нужно делать таймером, позже скину

Добавлено (04.03.2013, 09:32:37)
---------------------------------------------
Sunday
У тебя можно запустить уйму таймеров, + учти, если игрок вышел или мапа сменилась


Прикрепления: 9836125.sp(0.6 Kb)
 
TEIN Дата: Понедельник, 04.03.2013, 11:25:38 | Сообщение # 6
Сообщений: 568
Репутация: 78 [ +/- ]
Версия с таймером

Прикрепления: 9499529.sp(1.0 Kb)
 
Sunday Дата: Понедельник, 04.03.2013, 16:17:17 | Сообщение # 7
Сообщений: 186
Репутация: 24 [ +/- ]
Цитата (DoK_1997)
Sunday
У тебя можно запустить уйму таймеров, + учти, если игрок вышел или мапа сменилась

Да, поэтому я ниже написал, что бы проверки только поставил.
 
Meow_1337 Дата: Среда, 06.03.2013, 12:11:58 | Сообщение # 8
Сообщений: 209
Репутация: 11 [ +/- ]
Какая хорошая помощь у данного форума.
Спасибо не проверял плагины нету времени на сервер :)
По + каждому.

на hlmod бы затралили и послали бы куда по дальше.


Сообщение отредактировал Meow_1337 - Среда, 06.03.2013, 12:12:59
 
TEIN Дата: Среда, 06.03.2013, 12:44:41 | Сообщение # 9
Сообщений: 568
Репутация: 78 [ +/- ]
попытка не пытка
 
daniil Дата: Среда, 06.03.2013, 18:00:11 | Сообщение # 10
Сообщений: 100
Репутация: 0 [ +/- ]
Meow_1337, Единственная помощь тут это DoK_1997 klas
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Запрет на присаживание
  • Страница 1 из 1
  • 1
Поиск: