Заказать Сервер Заказать Плагин Контакты Поиск

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

Страница 5 из 6«123456»
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » MENU
MENU
Parlament☆ Дата: Вторник, 07.07.2015, 00:10:08 | Сообщение # 61
Сообщений: 15
Репутация: 0 [ +/- ]
«SeReGa»☆, вы мне можете сказать что с этим делать? Звук каждый 0 сек играет + по всей карте а не на координате
 
«SeReGa»☆ Дата: Вторник, 07.07.2015, 03:56:04 | Сообщение # 62
Сообщений: 395
Репутация: 37 [ +/- ]
вот я покажу этот бред)
Цитата Nahal ()

Код

public Action:HookSound_Func(clients[64], &numClients, String:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)     
{
    for (new i = 1; i <= MaxClients; i++)     
    {
     if (IsClientInGame(i)) ClientCommand(i, "playgamesound wf22.mp3", ControlPoint_1);     
    }
}



Сообщение отредактировал «SeReGa»☆ - Вторник, 07.07.2015, 04:29:16
 
BarD Дата: Вторник, 07.07.2015, 05:26:05 | Сообщение # 63
Сообщений: 944
Репутация: 132 [ +/- ]
«SeReGa»☆, Nahal - это и есть Parlament :) Зачем OnGameFrame?) Это ж 66 раз в секунду

Добавлено (07.07.2015, 05:26:05)
---------------------------------------------
Nahal, как ты свой код вообще скомпилил? Непонятно откуда переменную взял. Объясню, почему так. Ты хукнул все звуки. Т.е. когда любой объект на карте издаёт звук, то у всех игроков играет твой звук. И он начинает играть снова и снова. Звук шагов считается за звук, поэтому ты слышишь то, что слышишь.

 
«SeReGa»☆ Дата: Вторник, 07.07.2015, 05:38:49 | Сообщение # 64
Сообщений: 395
Репутация: 37 [ +/- ]
BarD, я думаю если использовать хук звуков не по назначению как в его случае, то мой ответ из сарказмом поможет достичь. правильного решения подобно тому что он сделал.. я думаю что в этом я ему точно помог!


Сообщение отредактировал «SeReGa»☆ - Вторник, 07.07.2015, 05:39:30
 
Parlament☆ Дата: Вторник, 07.07.2015, 09:29:55 | Сообщение # 65
Сообщений: 15
Репутация: 0 [ +/- ]
Возможно ли сделать в OnMapStart()? Или возможно создать новый хук события?
 
BarD Дата: Вторник, 07.07.2015, 11:04:42 | Сообщение # 66
Сообщений: 944
Репутация: 132 [ +/- ]
Цитата Parlament☆ ()
Или возможно создать новый хук события?

http://world-source.ru/forum/100-2382-1

Цитата Parlament☆ ()
Возможно ли сделать в OnMapStart()

Сделай, только толку нет.
 
Parlament☆ Дата: Вторник, 07.07.2015, 22:02:19 | Сообщение # 67
Сообщений: 15
Репутация: 0 [ +/- ]
У меня никак не получается сделать...
Куда приписывать
Допустим
PrintToChatAll("вы прошли координаты", PontControl_1);
Где PontControl_1 это координаты
 
Jon4ik Дата: Вторник, 07.07.2015, 22:18:03 | Сообщение # 68
Сообщений: 279
Репутация: 7 [ +/- ]
Parlament☆,
если правильно понял тебе нужно для начала - http://world-source.ru/forum/100-2688-1


Сообщение отредактировал Jon4ik - Вторник, 07.07.2015, 22:20:23
 
Parlament☆ Дата: Вторник, 07.07.2015, 22:28:51 | Сообщение # 69
Сообщений: 15
Репутация: 0 [ +/- ]
Не мне нужно когда игрок прошёл определённый координат ему писало сообщение только не понимаю какой хук использовать:(
 
Jon4ik Дата: Вторник, 07.07.2015, 22:45:54 | Сообщение # 70
Сообщений: 279
Репутация: 7 [ +/- ]
Parlament☆, думаю через OnPlayerRunCmd надо как то делать
 
Parlament☆ Дата: Вторник, 07.07.2015, 22:49:11 | Сообщение # 71
Сообщений: 15
Репутация: 0 [ +/- ]
Jon4ik,
Цитата Jon4ik ()
OnPlayerRunCmd

Это же связанно с клавишами'( тож не варик...
 
«SeReGa»☆ Дата: Вторник, 07.07.2015, 22:51:15 | Сообщение # 72
Сообщений: 395
Репутация: 37 [ +/- ]
Parlament☆, OnPlayerRunCmd засунь кому нить поглубже! таймер используй таймер!
 
Parlament☆ Дата: Вторник, 07.07.2015, 22:54:49 | Сообщение # 73
Сообщений: 15
Репутация: 0 [ +/- ]
«SeReGa»☆, кстате:) надо попробовать:) блин у меня же тогда напишет игроку через какое то время а звук на координатах не будет наверно возможно я ошибаюсь
 
Jon4ik Дата: Вторник, 07.07.2015, 23:07:04 | Сообщение # 74
Сообщений: 279
Репутация: 7 [ +/- ]
«SeReGa»☆, а что не так с OnPlayerRunCmd?

Parlament☆, можно сделать в начале раунда повторяющийся таймер

Код
#include <sourcemod>   

public OnPluginStart()   
{   
       CreateTimer(2.0, Timer_Func, _, TIMER_REPEAT);   
}   

public Action:Timer_Func(Handle:timer)   
{   
       static x = 0;   
       if (++x < 10)   
       {   
           PrintToServer("-> %d", x);   
           return Plugin_Continue;   
       }   
       return Plugin_Stop;   
}

Флаг TIMER_REPEAT значит, что функция Timer_Func будет вызываться через каждые две секунды, пока не будет сделано return Plugin_Stop; или отключится скрипт. return Plugin_Continue; значит 'продолжить'.


Сообщение отредактировал Jon4ik - Вторник, 07.07.2015, 23:07:27
 
«SeReGa»☆ Дата: Среда, 08.07.2015, 12:10:32 | Сообщение # 75
Сообщений: 395
Репутация: 37 [ +/- ]
Код
#include <sourcemod>
#include <sdktools>
new Handle:WOrldTimer = INVALID_HANDLE;

new Float:ControlPoint_1[3] = {-181.378006, 781.256592, 64.294182};
new Float:ControlPoint_2[3] = {-122.975571, 1385.483398, 64.031311};
new Float:ControlPoint_3[3] = {336.781830, 1683.403320, 104.031311};
new Float:ControlPoint_4[3] = {378.632538, 2120.956787, 160.031311};
new Float:ControlPoint_5[3] = {561.352295, 2505.940430, 160.031311};
new Float:ControlPoint_6[3] = {1132.837280, 2708.210693, 160.031311};

new bool:ContrPoint1[MAXPLAYERS+1]=false,
      bool:ContrPoint2[MAXPLAYERS+1]=false,
      bool:ContrPoint3[MAXPLAYERS+1]=false,
      bool:ContrPoint4[MAXPLAYERS+1]=false,
      bool:ContrPoint5[MAXPLAYERS+1]=false,
      bool:ContrPoint6[MAXPLAYERS+1]=false;
           

new SpriteCP_1,
      SpriteCP_2,
      SpriteCP_3,
      SpriteCP_4,
      SpriteCP_5,
      SpriteCP_6;
           
public OnPluginStart()
{
      HookEvent("round_start", Event_RoundStart);
      HookEvent("round_end", Event_RoundEnd);
}

public OnMapStart()
{
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint1.vmt");
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint1.vtf");
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint2.vmt");
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint2.vtf");
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint3.vmt");
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint3.vtf");
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint4.vmt");
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint4.vtf");
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint5.vmt");
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint5.vtf");      
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint6.vmt");
      AddFileToDownloadsTable("materials/sprites/CP/ControlPoint6.vtf");

      SpriteCP_1=PrecacheModel("materials/sprites/CP/ControlPoint1.vmt");
      SpriteCP_2=PrecacheModel("materials/sprites/CP/ControlPoint2.vmt");
      SpriteCP_3=PrecacheModel("materials/sprites/CP/ControlPoint3.vmt");
      SpriteCP_4=PrecacheModel("materials/sprites/CP/ControlPoint4.vmt");
      SpriteCP_5=PrecacheModel("materials/sprites/CP/ControlPoint5.vmt");
      SpriteCP_6=PrecacheModel("materials/sprites/CP/ControlPoint6.vmt");
}

public Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
      WOrldTimer = CreateTimer(0.5, Check, _, TIMER_REPEAT);
      for(new i = 1; i <= MaxClients; i++)
      {
       if(IsClientInGame(i)&&IsPlayerAlive(i))
       {
        ContrPoint1[i]=false;
        ContrPoint2[i]=false;
        ContrPoint3[i]=false;
        ContrPoint4[i]=false;
        ContrPoint5[i]=false;
        ContrPoint6[i]=false;
       }
      }
}

public Action: Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
{
      ClearTimer(WOrldTimer);
}

public Action:Check(Handle:timer)      
{
      TE_SetupGlowSprite(ControlPoint_1, SpriteCP_1, 0.6, 0.1, 100);
      TE_SendToAll();
      TE_SetupGlowSprite(ControlPoint_2, SpriteCP_2, 0.6, 0.1, 100);
      TE_SendToAll();
      TE_SetupGlowSprite(ControlPoint_3, SpriteCP_3, 0.6, 0.1, 100);
      TE_SendToAll();
      TE_SetupGlowSprite(ControlPoint_4, SpriteCP_4, 0.6, 0.1, 100);
      TE_SendToAll();
      TE_SetupGlowSprite(ControlPoint_5, SpriteCP_5, 0.6, 0.1, 100);
      TE_SendToAll();
      TE_SetupGlowSprite(ControlPoint_6, SpriteCP_6, 0.6, 0.1, 100);
      TE_SendToAll();
           
           
      for(new i = 1; i <= MaxClients; i++)
      {
       if(IsClientInGame(i)&&IsPlayerAlive(i))
       {      
        decl Float:i_pos[3];
        GetClientAbsOrigin(i, i_pos);
        if(GetVectorDistance(ControlPoint_1, i_pos) <= 100.0)
        {
         if(ContrPoint1[i]==false)
         {
          PrintToChat(i,"Вы добрались до контрольной точки №1!");
          ContrPoint1[i]=true;
         }
        }
        else if(GetVectorDistance(ControlPoint_2, i_pos) <= 100.0)
        {
         if(ContrPoint2[i]==false)
         {
          PrintToChat(i,"Вы добрались до контрольной точки №2!");
          ContrPoint2[i]=true;
         }
        }
        else if(GetVectorDistance(ControlPoint_3, i_pos) <= 100.0)
        {
         if(ContrPoint3[i]==false)
         {
          PrintToChat(i,"Вы добрались до контрольной точки №3!");
          ContrPoint3[i]=true;
         }
        }
        else if(GetVectorDistance(ControlPoint_4, i_pos) <= 100.0)
        {
         if(ContrPoint4[i]==false)
         {
          PrintToChat(i,"Вы добрались до контрольной точки №4!");
          ContrPoint4[i]=true;
         }
        }
        else if(GetVectorDistance(ControlPoint_5, i_pos) <= 100.0)
        {
         if(ContrPoint5[i]==false)
         {
          PrintToChat(i,"Вы добрались до контрольной точки №5!");
               
          ContrPoint5[i]=true;
         }
        }
        else if(GetVectorDistance(ControlPoint_6, i_pos) <= 100.0)
        {
         if(ContrPoint6[i]==false)
         {
          PrintToChat(i,"Вы добрались до контрольной точки №6!");
          ContrPoint6[i]=true;
         }
        }
       }
      }
}

stock ClearTimer(&Handle:timer)      
{       
      if (timer != INVALID_HANDLE)      
      {       
       KillTimer(timer);       
      }       
      timer = INVALID_HANDLE;       
}       


Прикрепления: CP.rar(1631Kb)


Сообщение отредактировал «SeReGa»☆ - Среда, 08.07.2015, 12:17:34
 
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » MENU
Страница 5 из 6«123456»
Поиск: