[CS: Source] Happy New Year 2k15

Статус
В этой теме нельзя размещать новые ответы.

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Попробуй создать объект hegrenade_projectile на месте поднятого подарка. По сути, это и есть граната без чеки.
Тут что-то об этом есть, код.

Еще была гениальная идея выдавать баны за неверный ответ :D
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
выдавать баны за неверный ответ
Уже было. Кто-то говорил, что как только раунд начинается, то все бегут к этим подаркам. Вот и предложили выдавать кики и баны по 5 минут (можно и шлепки выдать).
 

edgar

Участник
Сообщения
139
Реакции
12
Под cs go бы пофиксить. У меня чет не пашет. Желательно без shop'а:D
L 12/29/2015 - 14:48:36: [SM] Unable to load plugin "HappyNewYear_v3-1.smx": Could not find required plugin "shop"
 

Серый™

CS:S Server
Сообщения
2,925
Реакции
1,376
Danyas, В моём подарке коде есть уже пример как удалять эффект вместе с моделью.
PHP:
SetEntPropEnt(iEntity, Prop_Send, "m_hEffectEntity", iRotating); // наш индекс енти

new iRotating = GetEntPropEnt(iEnti, Prop_Send, "m_hEffectEntity"); // а тут уже его получаем
PHP:
char g_sColorT[16][] = {"#1",   "#2",   "#3",   "#4",   "#5",   "#6",   "#7",   "#8",   "#9",   "#10", "#OB",   "#OC",  "#OE",  "#HC",          "#HT", "#HE"},
     g_sColorC[16][] = {"\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", "\x08", "\x09", "\x10", "\x0B", "\x0C", "\x0E", "<font color='", "'>", "</font>"};

void PrintToChat2(int iClient, const char[] sMesag, any ...)
{
    char sBufer[256];
    VFormat(sBufer, sizeof(sBufer), sMesag, 3);
    for(int i = 0; i < 16; i++)
        ReplaceString(sBufer, sizeof(sBufer), g_sColorT[i], g_sColorC[i]);

    PrintToChat(iClient, "\x01%s %s", PREFIX, sBufer);
}
Цвета:
Для ксго

  • #1 - DEFAULT
  • #2 - RED
  • #3 - LIGHTPURPLE
  • #4 - GREEN
  • #5 - LIME
  • #6 - LIGHTGREEN
  • #7 - LIGHTRED
  • #8 - GRAY
  • #9 - LIGHTOLIVE
  • #10 - OLIVE
  • #OB - PURPLE
  • #OC - LIGHTBLUE
  • #OE - BLUE

html цвет для кс го

  • #HC - цвет
  • #HT - в начале текста
  • #HE - в конце текста

Пример использования:
#HС34c924#HTмама папа#HE
Для ксс

  • #7 - html цвет (пример; #734c924)

Для других игр поддерживающие стандартные цвета

  • #1 - желтый
  • #3 - светло зелёный
  • #4 - зелёный

PHP:
public Action:Gift(Handle:timer, any:i)
{
    if (!IsClientInGame(i))    return Plugin_Handled;    
    new iEntity = CreateEntityByName("prop_dynamic");
    if (iEntity)
    {
        decl Float:fPos[3], String:clr[20];
        new String:sTargetName[32],
            String:sBufer[70],
            Float:fTime = 30.0;
            
        GetClientAbsOrigin(i, fPos); fPos[0] += 50.0;
        if (!IsPlayerAlive(i))        fPos[2] -= 40.0;
        Format(sTargetName, sizeof(sTargetName), "xmasgift_%i", iEntity);
        DispatchKeyValueVector(iEntity, "origin", fPos);
        DispatchKeyValue(iEntity, "solid", "6");
        DispatchKeyValue(iEntity, "model", "models/models_kit/xmas/giftbox_mini_quad.mdl");
        DispatchKeyValue(iEntity, "targetname", sTargetName);
        SetVariantString(sTargetName);
        DispatchSpawn(iEntity);
        SetEntProp(iEntity, Prop_Send, "m_usSolidFlags", 8);
        SetEntProp(iEntity, Prop_Send, "m_CollisionGroup", 1);
        Format(sBufer, sizeof(sBufer), "OnUser1 !self:kill::%0.2f:-1", fTime);
        SetVariantString(sBufer);
        AcceptEntityInput(iEntity, "AddOutput");
        AcceptEntityInput(iEntity, "FireUser1");

        
        new iRotating = CreateEntityByName("func_rotating", -1);
        DispatchKeyValueVector(iRotating, "origin", fPos);
        DispatchKeyValue(iRotating, "targetname", sTargetName);
        DispatchKeyValue(iRotating, "maxspeed", "180");
        DispatchKeyValue(iRotating, "friction", "0");
        DispatchKeyValue(iRotating, "dmg", "0");
        DispatchKeyValue(iRotating, "solid", "0");
        DispatchKeyValue(iRotating, "spawnflags", "64");
        DispatchSpawn(iRotating);
        SetVariantString("!activator");
        AcceptEntityInput(iEntity, "SetParent", iRotating, iRotating);
        AcceptEntityInput(iRotating, "Start", -1, -1);
        SetEntProp(iRotating, Prop_Send, "m_CollisionGroup", 1);
        Format(sBufer, sizeof(sBufer), "OnUser1 !self:kill::%0.2f:-1", fTime);
        SetVariantString(sBufer);
        AcceptEntityInput(iRotating, "AddOutput");
        AcceptEntityInput(iRotating, "FireUser1");
        SetEntPropEnt(iEntity, Prop_Send, "m_hEffectEntity", iRotating);
        
        Format(clr, sizeof(clr), "%i %i %i", GetRandomInt(0,255),GetRandomInt(0,255),GetRandomInt(0,255));
        new iSprite = CreateEntityByName("env_sprite");
        DispatchKeyValue(iSprite, "rendermode", "5");
        DispatchKeyValue(iSprite, "rendercolor", String:clr);
        DispatchKeyValue(iSprite, "renderamt", "255");
        DispatchKeyValue(iSprite, "scale", "1");
        DispatchKeyValue(iSprite, "model", "sprites/glow01.spr");
        DispatchKeyValueVector(iSprite, "origin", fPos);
        DispatchSpawn(iSprite);
        SetVariantString("!activator");
        AcceptEntityInput(iSprite, "SetParent", iEntity);
        SetEntPropEnt(iEntity, Prop_Send, "m_hGroundEntity", iSprite);


        SDKHook(iEntity, SDKHook_StartTouch, Hook_GiftStartTouch);
    }
    return Plugin_Stop;
}

public Hook_GiftStartTouch(iEntity, iClient)
{
    if (iClient > 0 && iClient <= MaxClients)
    {
        OnBreak_Func(iClient);
        DelEnti(iEntity);
    }
}

DelEnti(iEnti)
{
    if(!IsValidEdict(iEnti))    return;
    new iRotating = GetEntPropEnt(iEnti, Prop_Send, "m_hEffectEntity");
    if(iRotating && IsValidEdict(iRotating))
        AcceptEntityInput(iRotating, "Kill");
    new iSprite = GetEntPropEnt(iEnti, Prop_Send, "m_hGroundEntity");
    if (iSprite && IsValidEdict(iSprite))
        AcceptEntityInput(iSprite, "Kill");
    AcceptEntityInput(iEnti, "Kill");
}
И ещё у тебя нормально с этой моделью подарок подбирается? Оффтоп
 
Последнее редактирование:

master117

Участник
Сообщения
275
Реакции
10
А чё она в ксго вверх ногами спавнится и удалить её нельзя? Конфиг чет не создаётся. Подарки иногда чуть в землю вкопаны...
 

₮αй₮оβый

Участник
Сообщения
317
Реакции
35
А чё она в ксго вверх ногами спавнится и удалить её нельзя? Конфиг чет не создаётся. Подарки иногда чуть в землю вкопаны...

Поддерживаются игры:
CS:S v34
CS:S Steam
Частично будет работать CSGO, нужно несколько фиксов.
 

SkorP1onS

Участник
Сообщения
156
Реакции
4
Danyas, Конфиг должен создаваться?

Добавлено через 15 минут
Переменные:
ny_snowman - снеговики
ny_large - большие ёлки
ny_snowball - снежки
ny_light - гирлянда на ёлках
ny_gift - выдача подарков
ny_gsanta - выдача подарков с викторины

Куда их вообще писать? не работают что-то))
И как вообще деду морозу отвечать на вопросы, ответ в чат просто цифрами не пашет, прошу объяснить)
 
Последнее редактирование:

Морковка

Котлетка ^^
Сообщения
878
Реакции
472
скоро новый год, нет идеи переписать плагин под cs go?
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Твою ж налево, этот плагин перепишу еще раз, ибо то что стоит сейчас - опасно ставить.

Вопрос на засыпку, уже написал набросок с adt-массивом, в который загружаются ёлки.
Как реализовать удаление ёлки из kv?
Была мысль создавать kv с названием карты "trees.de_dust2.txt", а в нём уже делать по такому принципу:

PHP:
"treees"
{
  "tree_0"
  {
     "origin" "0.0 0.0 0.0"
     "angle" "0.0 0.0 0.0"
   }
}

Каждый елемент массива равен номеру дерева, с дубликатами я уже справился.
А вот как узнать какой нужно удалить - абсолютно понятия не имею. Даже если я имею точные координаты ёлки - как я ее удалю?
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Твою ж налево, этот плагин перепишу еще раз, ибо то что стоит сейчас - опасно ставить.

Вопрос на засыпку, уже написал набросок с adt-массивом, в который загружаются ёлки.
Как реализовать удаление ёлки из kv?
Была мысль создавать kv с названием карты "trees.de_dust2.txt", а в нём уже делать по такому принципу:

PHP:
"treees"
{
  "tree_0"
  {
     "origin" "0.0 0.0 0.0"
     "angle" "0.0 0.0 0.0"
   }
}

Каждый елемент массива равен номеру дерева, с дубликатами я уже справился.
А вот как узнать какой нужно удалить - абсолютно понятия не имею. Даже если я имею точные координаты ёлки - как я ее удалю?
http://world(дефис)source(точка)ru/forum/100-2292-1
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #34
@Danyas, идешь циклом по всем ключам, сравниваешь координаты (через Float:GetVectorDistance) ну и таким образом находишь нужную
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
в kv файле 100+ ключей
Для kv несколько сотен ключей - это ещё ерунда. А вот когда попытаешься записывать туда статистику всех игроков, что играли/побывали на сервере (миллионы), то конечно.
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Ну, наброски кода у меня в принципе есть (прогона по kv + сравнения), по этому позже как-нить займусь.

Я почему-то думал что проще будет для пропа добавить какое-либо свойство, и с него "брать" его позицию в kv.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу