хотел изменить плагин на мои привилегии и что то у меня не получилось делаю первый раз

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
3
Реакции
0
Ошибка
AMX Mod X Compiler 1.9.0.5263
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team

New_MoneyBonus.sma(12) : warning 201: redefinition of constant/macro (symbol "Admin_Flag")
New_MoneyBonus.sma(13) : warning 201: redefinition of constant/macro (symbol "Admin_Flag")
New_MoneyBonus.sma(14) : warning 201: redefinition of constant/macro (symbol "Admin_Flag")
New_MoneyBonus.sma(28) : error 001: expected token: ",", but found "-string-"
New_MoneyBonus.sma(28) : warning 215: expression has no effect
New_MoneyBonus.sma(28) : error 001: expected token: ";", but found "-string-"
New_MoneyBonus.sma(28) : warning 215: expression has no effect
New_MoneyBonus.sma(28) : error 001: expected token: ";", but found "-string-"
New_MoneyBonus.sma(28) : fatal error 107: too many error messages on one line

Compilation aborted.
4 Errors.
Done.


ERROR: Your plugin failed to compile, see above.
Please note that the silly compiler still tried to output a compiled plugin, but since it would be broken,
the webcompiler caught it, and won't let you download it.
Компилятор
WEB-компилятор
Amx Mod X
1.9.0
Исходный код
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <fun>
#include <cstrike>

new const PLUGIN[] = "New_MoneyBonus & Sokrat" //Немнного изменил )
new const VERSION[] = "1.0"
new const AUTHOR[] = "NewGame_PL"

#define Admin_Flag ADMIN_PASSWORD // // Флаг для Админа
#define Admin_Flag LEVEL_B // // Флаг для вип
#define Admin_Flag LEVEL_C // // Флаг для меценат
#define Admin_Flag LEVEL_E // // Флаг для содатель
#define SETMoney_ADMIN 800 // Сколько денег будет выдаваться админу
#define SETMoney_PLAYER 400 // Сколько денег будет выдаваться игроку
#define SETMoney_LEVEL_B 600 //Сколько денег будет выдаваться вип
#define SETMoney_LEVEL_C 1000 // Сколько денег будет выдаваться меценат
#define SETMoney_LEVEL_E 1500 // Сколько денег будет выдаваться создателю

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
}

public client_putinserver(id)
{
set_task(120.0, "MoneyBonus", id"o" "q" "k" "n" ) // Время через которое будет выдан бонус 120.0
}

public MoneyBonus(id)
{
new iName[32]
get_user_name(id, iName, 31)
if(get_user_flags(id) & Admin_Flag)
{
cs_set_user_money(id, cs_get_user_money(id) + SETMoney_ADMIN);
ColorChat(id, GREEN, "^4[^3Информация^4] ^4%s ^1тебе выдан бонус в размере ^4%d$", iName, SETMoney_ADMIN)
}else
{
cs_set_user_money(id, cs_get_user_money(id) + SETMoney_PLAYER);
ColorChat(id, GREEN, "^4[^3Информация^4] ^4%s ^1тебе выдан бонус в размере ^4%d$", iName, SETMoney_PLAYER)
}
}

public client_disconnect(id)
{
remove_task(id) // Обнуление времени если игрок вышел.
}
может кто то помочь сделать на мои привилегии бонус
 

Вложения

Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
Код:
#define Admin_Flag         ADMIN_PASSWORD //        // Флаг для Админа
#define Admin_Flag         LEVEL_B //        // Флаг для вип
#define Admin_Flag         LEVEL_C //        // Флаг для меценат
#define Admin_Flag         LEVEL_E //        // Флаг для содатель
назови их по разному.

Код:
    if(get_user_flags(id) & Admin_Flag)
    {
        cs_set_user_money(id, cs_get_user_money(id) + SETMoney_ADMIN);
        ColorChat(id, GREEN, "^4[^3Информация^4] ^4%s ^1тебе выдан бонус в размере ^4%d$", iName, SETMoney_ADMIN)
    }else
    {
        cs_set_user_money(id, cs_get_user_money(id) + SETMoney_PLAYER);
        ColorChat(id, GREEN, "^4[^3Информация^4] ^4%s ^1тебе выдан бонус в размере ^4%d$", iName, SETMoney_PLAYER)
    }
и тут проверку надо будет на каждый флаг делать.
например
Код:
new flags = get_user_flags(id)

if(flags & Admin_Flag1 || flags & Admin_Flag2)
и тд
 
Последнее редактирование:
Сообщения
494
Реакции
341
Помог
11 раз(а)
Для амхх 1.9.0 есть встроенный колорчат, поэтому этот выкидываем:
Код:
#include <colorchat>
Переобъявление макросов (Макросы, переменные, функции не могут иметь одинаковые имена и пересекаться):
Код:
#define Admin_Flag         ADMIN_PASSWORD //        // Флаг для Админа
#define Admin_Flag         LEVEL_B //        // Флаг для вип
#define Admin_Flag         LEVEL_C //        // Флаг для меценат
#define Admin_Flag         LEVEL_E //        // Флаг для содатель
Это вообще что:
Код:
set_task(120.0, "MoneyBonus", id"o" "q" "k" "n" )    // Время через которое будет выдан бонус 120.0
Код:
/**
* Calls a function after a specified time has elapsed.
*
* @note Please consider using set_task_ex() instead which allows you to
*       use named constants for flags instead of letters.
*
* @param time          Time interval to assign
* @param function      Function to execute
* @param id            Task id to assign
* @param parameter     Data to pass through to callback
* @param len           Size of data
* @param flags         Optional set of flags:
*                        "a" - repeat timer a set amount of times
*                        "b" - loop indefinitely until timer is stopped
*                        "c" - time interval is treated as absolute time after
*                              map start
*                        "d" - time interval is treated as absolute time before
*                              map change
* @param repeat        If the "a" flag is set, the task will be repeated this
*                      many times
*
* @noreturn
* @error               If an invalid callback function is provided, an error is
*                      thrown.
*/
?

native set_task(Float:time, const function[], id = 0, const any:parameter[] = "", len = 0, const flags[] = "", repeat = 0);
6 Июл 2022
Ну а про флаги уже конкретней Nordic Warrior написал.
 
Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
И вот эти константы LEVEL_B и тд, их нет. Есть ADMIN_LEVEL_B. Полный список в amxconst.inc
 
Сообщения
893
Реакции
149
Помог
25 раз(а)
bizon, Еще по поводу 1.9.0
Можно не узнавать имя через get_user_name, а вывести через %n.

C++:
ColorChat(id, GREEN, "^4[^3Информация^4] ^4%s ^1тебе выдан бонус в размере ^4%d$", iName, SETMoney_ADMIN)
ColorChat(id, GREEN, "^4[^3Информация^4] ^4%s ^1тебе выдан бонус в размере ^4%d$", iName, SETMoney_PLAYER)
->
C++:
ColorChat(id, GREEN, "^4[^3Информация^4] ^4%n ^1тебе выдан бонус в размере ^4%d$", id, SETMoney_ADMIN)
ColorChat(id, GREEN, "^4[^3Информация^4] ^4%n ^1тебе выдан бонус в размере ^4%d$", id, SETMoney_PLAYER)

И это:
C++:
new iName[32]
get_user_name(id, iName, 31)
Можно удалить.
 
Сообщения
893
Реакции
149
Помог
25 раз(а)
Oleg0000, почему не используешь реапи? Чисто интересно. Да и зачем тебе цветной чат через сток, когда есть client_print_color?
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу