Как сделать в подарке способность из шопа?

boba

Участник
Сообщения
100
Реакции
3
Здравствуйте. Подскажите, как можно в подарок упаковать способность или другие плюхи из шопа? Плагин подарков - Gifts. Шоп - FrozDark. Простыми словами - нужно, что бы в подарке лежало например, возрождение... Заранее спасибо. Игра CS Source v91
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • #2
Здравствуйте. Подскажите, как можно в подарок упаковать способность или другие плюхи из шопа? Плагин подарков - Gifts. Шоп - FrozDark. Простыми словами - нужно, что бы в подарке лежало например, возрождение... Заранее спасибо. Игра CS Source v91
Врядли придется существенно переписывать код плагина на подарки, т.к. отработка триггера уже есть, на функцию этого триггера получив кто тригернул вешаете функцию выдачи определенного предмета в шопе, нативы для этого все есть.
Если функция выдачи предмета вернет false, то проверяете есть ли предмет у игрока. Если есть и он finite, то добавляете кол-во (тоже натив есть), если он со сроком жизни, то прибавляете ему срок жизни (не помню есть ли натив).
 

boba

Участник
Сообщения
100
Реакции
3
Врядли придется существенно переписывать код плагина на подарки, т.к. отработка триггера уже есть, на функцию этого триггера получив кто тригернул вешаете функцию выдачи определенного предмета в шопе, нативы для этого все есть.
Спасибо, я понял. Ничего про тригеры особо не понял, но в целом... Жаль нету квара на выдачу способностей и т.д. В подарок можно вписать команду. Например,я в подарке делал скорость и +хп именно с помощью команды. То есть, когда игрок подымал подарок, то выполнялась команда и к команде присваивался юсайди (кому предназначается эта команда).(((((((((((((
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • #4
Спасибо, я понял. Ничего про тригеры особо не понял, но в целом... Жаль нету квара на выдачу способностей и т.д. В подарок можно вписать команду. Например,я в подарке делал скорость и +хп именно с помощью команды. То есть, когда игрок подымал подарок, то выполнялась команда и к команде присваивался юсайди (кому предназначается эта команда).(((((((((((((
Я описал схему работы для выдачи предмета в шоп. Если хотите свои способности, то нужно будет многое учесть.
 

boba

Участник
Сообщения
100
Реакции
3
Я описал схему работы для выдачи предмета в шоп. Если хотите свои способности, то нужно будет многое учесть.
А. ну просто не совсем понял. Вот пример, как я в подарок вснул маяк на раунд:
"подарок 23"
{
"Chance" "1"
"Lifetime" "15.0"
"TextToAll" "#B8860B{NAME} #FFFF00поднял подарок\nи на него будет устанвлен #FFA500МАЯК!"
"TextToPlayer" "#FFFF00Вы подняли подарок\nи на вас будет установлен #FFA500МАЯК!"
"Command" "sm_beacon #{USER_ID}"
Так не получится?)))))
Сообщения автоматически склеены:

А. ну просто не совсем понял. Вот пример, как я в подарок вснул маяк на раунд:
"подарок 23"
{
"Chance" "1"
"Lifetime" "15.0"
"TextToAll" "#B8860B{NAME} #FFFF00поднял подарок\nи на него будет устанвлен #FFA500МАЯК!"
"TextToPlayer" "#FFFF00Вы подняли подарок\nи на вас будет установлен #FFA500МАЯК!"
"Command" "sm_beacon #{USER_ID}"
Так не получится?)))))
Ну то есть нету квара на выдачу способности?
 

boba

Участник
Сообщения
100
Реакции
3
Тю, я думал всё это время про Модуль плагина - [Shop] Ball

Для Gifts модули есть, в чем проблема собственно?
И ему подобные...
Задача состоит в том, что бы в подарке плагина гифтс лежала способность, которую можно купить в шопе)) Как это реализовать, не знаю)
Сообщения автоматически склеены:

Тю, я думал всё это время про Модуль плагина - [Shop] Ball

Для Gifts модули есть, в чем проблема собственно?
И ему подобные...
Например, модулья "маяк" в списке модулей гифтс нету, это просто команда. Так вот я и думал, если бы была команда, с помощью которой можно выдать какую-либо плюху из шопа
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • #8
какая-то дичь на павне:
#pragma semicolon 1

#include <sourcemod>
#include <gifts_core>
#include <shop>
#pragma newdecls required

public int Gifts_OnPickUpGift_Post(int client, Handle hKeyValues)
{
    KeyValues kv = view_as<KeyValues>(hKeyValues);
    char cBuffer[64];
    
    kv.GetString("Shop_CategoryName", cBuffer, sizeof(cBuffer));
    CategoryId cId = Shop_GetCategoryId(cBuffer);
    if (cId != INVALID_CATEGORY)
    {
        kv.GetString("Shop_ItemName", cBuffer, sizeof(cBuffer));
        ItemId item_id = Shop_GetItemId(cId, cBuffer);
        if (item_id != INVALID_ITEM)
        {
            Shop_GiveClientItem(client, item_id);
        }
    }
}
Указываете ключи в gifts.cfg у подарка.
C-подобный:
"Shop_CategoryName" "уникальное название категории"
"Shop_ItemName" "уникальное название предмета"
 

boba

Участник
Сообщения
100
Реакции
3
какая-то дичь на павне:
#pragma semicolon 1

#include <sourcemod>
#include <gifts_core>
#include <shop>
#pragma newdecls required

public int Gifts_OnPickUpGift_Post(int client, Handle hKeyValues)
{
    KeyValues kv = view_as<KeyValues>(hKeyValues);
    char cBuffer[64];
  
    kv.GetString("Shop_CategoryName", cBuffer, sizeof(cBuffer));
    CategoryId cId = Shop_GetCategoryId(cBuffer);
    if (cId != INVALID_CATEGORY)
    {
        kv.GetString("Shop_ItemName", cBuffer, sizeof(cBuffer));
        ItemId item_id = Shop_GetItemId(cId, cBuffer);
        if (item_id != INVALID_ITEM)
        {
            Shop_GiveClientItem(client, item_id);
        }
    }
}
Указываете ключи в gifts.cfg у подарка.
C-подобный:
"Shop_CategoryName" "уникальное название категории"
"Shop_ItemName" "уникальное название предмета"
Извиняюсь. Просто не знаю, что с этим кодом делать :(
 

boba

Участник
Сообщения
100
Реакции
3
Сохрани нынешнюю сборку себе на компьютер и экспериментируй.
Кстати, вариант не плохой. Но только в случае отката собьются базы с кредитами и ранком игроков (и пр.базы)
Сообщения автоматически склеены:

какая-то дичь на павне:
#pragma semicolon 1

#include <sourcemod>
#include <gifts_core>
#include <shop>
#pragma newdecls required

public int Gifts_OnPickUpGift_Post(int client, Handle hKeyValues)
{
    KeyValues kv = view_as<KeyValues>(hKeyValues);
    char cBuffer[64];
   
    kv.GetString("Shop_CategoryName", cBuffer, sizeof(cBuffer));
    CategoryId cId = Shop_GetCategoryId(cBuffer);
    if (cId != INVALID_CATEGORY)
    {
        kv.GetString("Shop_ItemName", cBuffer, sizeof(cBuffer));
        ItemId item_id = Shop_GetItemId(cId, cBuffer);
        if (item_id != INVALID_ITEM)
        {
            Shop_GiveClientItem(client, item_id);
        }
    }
}
Указываете ключи в gifts.cfg у подарка.
C-подобный:
"Shop_CategoryName" "уникальное название категории"
"Shop_ItemName" "уникальное название предмета"
Скажите, а как узнать уникальные категории и предметы? Вернее их имена? Где это можно узнать? На каждый предмет из шопа идет отдельный плагин.
 
Последнее редактирование:

Патриот Анархии

Чиполлино
Сообщения
113
Реакции
68
Кстати, вариант не плохой. Но только в случае отката собьются базы с кредитами и ранком игроков (и пр.базы)
Сообщения автоматически склеены:


Скажите, а как узнать уникальные категории и предметы? Вернее их имена? Где это можно узнать? На каждый предмет из шопа идет отдельный плагин.
Не знаю, на сколько это ещё актуально, но всё же.
"Уникальная категория" - категория, из которой ты хочешь поставить товар.
И сам "товар" - тоже имя этого товара, в магазине.

Вот тебе скомпиленный плагин.
И ещё раз пример того, что нужно вписать в кфг:
кфг:
    "подарок 2"
    {
        "Chance"            "20"
        "Lifetime"            "10.0"
        
        "Shop_CategoryName" "WCS"
        "Shop_ItemName"     "Levels"       
        "TextToAll"            "#B8860B{NAME} #FFFF00поднял подарок и получит #FFA500Бонус!"
        "TextToPlayer"        "#FFFF00Вы подняли подарок\nи получите #FFA500Бонус!"
    }
 

Вложения

  • plugin1.smx
    4 КБ · Просмотры: 3

boba

Участник
Сообщения
100
Реакции
3
Не знаю, на сколько это ещё актуально, но всё же.
"Уникальная категория" - категория, из которой ты хочешь поставить товар.
И сам "товар" - тоже имя этого товара, в магазине.

Вот тебе скомпиленный плагин.
И ещё раз пример того, что нужно вписать в кфг:
кфг:
    "подарок 2"
    {
        "Chance"            "20"
        "Lifetime"            "10.0"
       
        "Shop_CategoryName" "WCS"
        "Shop_ItemName"     "Levels"      
        "TextToAll"            "#B8860B{NAME} #FFFF00поднял подарок и получит #FFA500Бонус!"
        "TextToPlayer"        "#FFFF00Вы подняли подарок\nи получите #FFA500Бонус!"
    }
Спасибо, это все еще актуально))
Думаю, сегодня попробую))
 
Сверху Снизу