Иконка ресурса

[VIP] [SMRPG] Exp Multiplier 1.0

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #3
@diman1000w,
во-первых при чем тут lvl ranks?
во-вторых lvl ranks больше не поддерживается т.к. автор убрал необходимое api
 

BaFeR

Добрый человек
Сообщения
721
Реакции
216
Чуток код поломался)
upload_2017-8-3_17-46-53.png
 
  • Мне нравится
Реакции: R1KO

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #5
@diman1000w, только если расширить api
 

CAH4E3

Сосанчез.
Сообщения
1,597
Реакции
779
А с rankme?
--- Добавлено позже ---
L 08/03/2017 - 21:50:22: SourceMod error session started
L 08/03/2017 - 21:50:22: Info (map "de_dust") (file "errors_20170803.log")
L 08/03/2017 - 21:50:22: [SM] Unable to load plugin "vip\VIP_SMRPG_Exp_Multiplier_1.0.smx": Could not find required plugin "smrpg"
L 08/03/2017 - 21:50:36: Error log file session closed.
Этот плагин для smrpg
 

diman1000w

Участник
Сообщения
422
Реакции
24
Жаль множитель бы такой для rankme игроки сразу же бы vip покупать стали))
 

marlboro

Участник
Сообщения
146
Реакции
36
Можно ли реализовать тоже самое только для thc_rpg от senator'a?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #9
@marlboro, мне каждому персонально ответить?
В THC RPG нет необходимого API !
Далее 2 варианта:
  1. Забить
  2. Скинуть мне исходники чтобы я добавил форвард (если он конечно не приватный)
 

marlboro

Участник
Сообщения
146
Реакции
36
@marlboro, мне каждому персонально ответить?
В THC RPG нет необходимого API !
Далее 2 варианта:

  1. Забить
    Скинуть мне исходники чтобы я добавил форвард (если он конечно не приватный)
Я так понимаю вот что тебе нужно:
C-подобный:
#if defined _thc_rpg_included
    #endinput
#endif
#define _thc_rpg_included


// Xp
native thc_rpg_SetXP(client, amount);
native thc_rpg_SetReqXP(client, amount);
native thc_rpg_SetStaticReqXP(client, amount);
native thc_rpg_SetStaticXP(client, amount);
native thc_rpg_GetXP(client);
native thc_rpg_TeamWinXP(team);
native thc_rpg_GetReqXP(client);
native thc_rpg_GetHurtXP(client);
native thc_rpg_SetHurtXP(client, amount);
// Level
native thc_rpg_SetLevel(client, amount);
native thc_rpg_SetStaticLevel(client, amount);
native thc_rpg_GetLevel(client);
// Credits
native thc_rpg_SetCredits(client, amount);
native thc_rpg_SetStaticCredits(client, amount);
native thc_rpg_GetCredits(client);
// Vip
native thc_rpg_GetVip(client);
//1mpulse
native thc_rpg_GetPlayerFreezing(client);
// Databases
native thc_rpg_RemovePlayer(client);
native thc_rpg_GetPlayerTop10(client);
native thc_rpg_SavePlayerData(client);
native thc_rpg_LoadPlayerData(client);
native thc_rpg_InsertPlayer(client);
native thc_rpg_ResetPlayer(client);
// Forwards
forward ThcRpg_LvlUp(client); //(Player lvl up)

public SharedPlugin:__pl_thc_rpg =
{
    name = "thc_rpg",
    file = "thc_rpg.smx",
#if defined REQUIRE_PLUGIN
    required = 1,
#else
    required = 0,
#endif
};

#if !defined REQUIRE_PLUGIN
public __pl_thc_rpg_SetNTVOptional()
{
    MarkNativeAsOptional("thc_rpg_SetXP");
    MarkNativeAsOptional("thc_rpg_SetReqXP");
    MarkNativeAsOptional("thc_rpg_SetStaticReqXP");
    MarkNativeAsOptional("thc_rpg_SetStaticXP");
    MarkNativeAsOptional("thc_rpg_GetXP");
    MarkNativeAsOptional("thc_rpg_TeamWinXP");
    MarkNativeAsOptional("thc_rpg_GetReqXP");
    MarkNativeAsOptional("thc_rpg_GetHurtXP");
    MarkNativeAsOptional("thc_rpg_SetLevel");
    MarkNativeAsOptional("thc_rpg_SetStaticLevel");
    MarkNativeAsOptional("thc_rpg_GetLevel");
    MarkNativeAsOptional("thc_rpg_SetCredits");
    MarkNativeAsOptional("thc_rpg_SetStaticCredits");
    MarkNativeAsOptional("thc_rpg_GetCredits");
    MarkNativeAsOptional("thc_rpg_GetVip");
    MarkNativeAsOptional("thc_rpg_RemovePlayer");
    MarkNativeAsOptional("thc_rpg_GetPlayerTop10");
    MarkNativeAsOptional("thc_rpg_SavePlayerData");
    MarkNativeAsOptional("thc_rpg_InsertPlayer");
    MarkNativeAsOptional("thc_rpg_LoadPlayerData");
    MarkNativeAsOptional("thc_rpg_ResetPlayer");
    MarkNativeAsOptional("thc_rpg_GetPlayerFreezing");
}
#endif
 
Последнее редактирование:

Ice_Sochi

Участник
Сообщения
709
Реакции
413
R1KO, а можно в вип меню еще добавить "Увеличение получаемого опыта" или что-то типа того, даже не обязательно, чтоб его можно выключать было. А то некоторые ноют, что у них ничего нет, не видя в меню этого пункта.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #12
@Ice_Sochi, через 2 недели приеду - добавлю.
 

Ice_Sochi

Участник
Сообщения
709
Реакции
413
Попробовал под свои нужны своими силами дописать плагин немножко, на разумеется у меня все пошло через одно место
Помогите пожалуйста, может, взглянув на код, кто-то рассмотрит ошибку
Суть: хотел сделать так, чтобы при достижении 250 уровня игроки получали в 10 раз меньше опыта (вип игроки в 5 раз)
Что вышло: опыт после 250 вроде как работает как я и хотел, но вот вип игроки до 250 стали получать меньше, чем даже простые, хотя в випке стоит множитель х2
Не могу понять, что я сделал не так
В коде расписал, какой логикой я руководствовался

Код:
PHP:
#pragma semicolon 1

#include <sourcemod>
#include <vip_core>
#include <smrpg>

public Plugin myinfo =
{
    name = "[VIP] [SMRPG] Exp Multiplier",
    author = "R1KO (skype: vova.andrienko1)",
    version = "1.0"
};

static const char g_sFeature[] = "SMRPGExpMultiplier";

public void OnPluginStart()
{
    if(VIP_IsVIPLoaded())
    {
        VIP_OnVIPLoaded();
    }
}

public void OnPluginEnd()
{
    if(CanTestFeatures() && GetFeatureStatus(FeatureType_Native, "VIP_UnregisterFeature") == FeatureStatus_Available)
    {
        VIP_UnregisterFeature(g_sFeature);
    }
}

public VIP_OnVIPLoaded()
{
    VIP_RegisterFeature(g_sFeature, FLOAT, HIDE);
}

public Action SMRPG_OnAddExperience(int iClient, const char[] szReason, int &iExperience, int iOther)
{
    if(VIP_IsClientVIP(iClient) && VIP_IsClientFeatureUse(iClient, g_sFeature))  // Если игрок вип
    {
        if(SMRPG_GetClientLevel(iClient) < 250)  //и его уровень меньше 250, опыт умножается на 2
        {
            float fMultiplier = VIP_GetClientFeatureFloat(iClient, g_sFeature);
            if(fMultiplier)
            {
                iExperience = RoundToCeil(float(iExperience)*fMultiplier); //fMultiplier=2 в моем случае
            }
        }
        iExperience = RoundToCeil(float(iExperience)*0.2);  //уровень 250+ опыт в 5 раз меньше
        return Plugin_Changed;
    }
    else if (SMRPG_GetClientLevel(iClient) > 249)  //обычный игрок 250+ опыт в 10 раз меньше
    {
        iExperience = RoundToCeil(float(iExperience)*0.1);
        return Plugin_Changed;
    }
    return Plugin_Continue;    //обычный игрок до 250ур. автоматом получает опыт х1 (верно же?)
}
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #14
@Ice_Sochi,
upload_2017-10-9_22-42-27.png

но не перенеси, а скопируй
 

marlboro

Участник
Сообщения
146
Реакции
36
Ребят может кто-нибудь сделать тоже самое только для умножения кредитов?
 

Mr. Just

Участник
Сообщения
193
Реакции
6
Под THC_RPG так и не сделали? Исходники есть.
 
Сверху Снизу