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

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

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Ёще вопросы
Ёще вопросы
Vitaminoz Дата: Воскресенье, 24.06.2012, 15:34:08 | Сообщение # 1
Сообщений: 142
Репутация: 1 [ +/- ]
Изучая ёще 4 часа pawn появились вопросы:
Что такое bool переменная - dontBroadcast
Что такое Handle переменная - INVALID_HANDLE
В инете нашёл такой код пример в нём не все понятно
Code

#include <sourcemod>
#include <sdktools>
   
new Handle:sm_myslap_damage = INVALID_HANDLE
   
public Plugin:myinfo =
{
  name = "Мой первый плагин",
  author = "Я",
  description = "Мой первый супер плагин",
  version = "1.0.0.0",
  url = ""
}
   
public OnPluginStart()
{
  LoadTranslations("common.phrases")
  RegAdminCmd("sm_myslap", Command_MySlap, ADMFLAG_SLAY)
   
  sm_myslap_damage = CreateConVar("sm_myslap_damage", "5", "Повреждение от удара по умолчанию")
  AutoExecConfig(true, "plugin_myslap")
}
   
public Action:Command_MySlap(client, args)
{
  new String:arg1[32], String:arg2[32]
  new damage = GetConVarInt(sm_myslap_damage)
   
  GetCmdArg(1, arg1, sizeof(arg1))

  if (args >= 2 && GetCmdArg(2, arg2, sizeof(arg2)))
  {
   damage = StringToInt(arg2)
  }
  new String:target_name[MAX_TARGET_LENGTH]
  new target_list[MAXPLAYERS], target_count
  new bool:tn_is_ml
   
  if ((target_count = ProcessTargetString(
    arg1,
    client,
    target_list,
    MAXPLAYERS,
    COMMAND_FILTER_ALIVE,
    target_name,
    sizeof(target_name),
    tn_is_ml)) <= 0)
  {
   ReplyToTargetError(client, target_count);
   return Plugin_Handled;
  }
   
  for (new i = 0; i < target_count; i++)
  {
   SlapPlayer(target_list[i], damage)
   LogAction(client, target_list[i], "\"%L\" slapped \"%L\" (damage %d)", client, target_list[i], damage)
  }
   
  if (tn_is_ml)
  {
   ShowActivity2(client, "[SM] ", "Slapped %t for %d damage!", target_name, damage)
  }
  else
  {
   ShowActivity2(client, "[SM] ", "Slapped %s for %d damage!", target_name, damage)
  }
   
  return Plugin_Handled;
}
 
_wS_ Дата: Воскресенье, 24.06.2012, 15:49:17 | Сообщение # 2
dontBroadcast - уведомление о событии (true - его нет, false - есть).
Пример уведомления: иконка смерти вверху справа.

INVALID_HANDLE это значение по умолчанию у Handle: переменных, как у x 0, у Float:x 0.0, у bool:x false.

Code
#include <sourcemod>

public OnPluginStart()
{
     new Handle:var = GetMyHandle();
     PrintToServer("plugin handle = %x", var);

     // или PrintToServer("plugin handle = %x", GetMyHandle());
}
 
Vitaminoz Дата: Воскресенье, 24.06.2012, 15:55:58 | Сообщение # 3
Сообщений: 142
Репутация: 1 [ +/- ]
Ага спасибо а что насчет кода не мог бы ты разжувать мне =(
Ну не все а то что на твой взгляд по труднее понятнее для новичков
 
_wS_ Дата: Воскресенье, 24.06.2012, 17:31:08 | Сообщение # 4
Для начала нужно освоить это. На счет отдельных команд/функций есть информация в API и примеров немало есть (поиск). Сначала пробуй сам, не понимаешь что-то, почитай об этом где-то и попробуй, чтобы оно заработало у тебя. И только если в тупик зашел после тестов, пиши, проси помочь.
 
Vitaminoz Дата: Воскресенье, 24.06.2012, 19:24:24 | Сообщение # 5
Сообщений: 142
Репутация: 1 [ +/- ]
Ок спасибо

Добавлено (24.06.2012, 19:24:24)
---------------------------------------------
Вроде всё прочел ну очень трудно понял decl и static

 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Ёще вопросы
  • Страница 1 из 1
  • 1
Поиск: