18.11.2018, 14:40
Всё выше сказанное касательно отдельных функций это гораздо более эффективный и логичный вариант, но если есть чисто спортивный интерес это реализовать хоть каким-то путём, то...
Вариант с передачей строки:
Использование:
Вариант с передачей строки:
PHP Code:
#define VALUE_GIVEN 1 //Вернёт 1, если прибавит значение
#define VALUE_SET 0 //Вернёт 0, если установит значение
#define VALUE_TAKEN -1 //Вернёт -1, если отнимет значение
MakePlayerLevel(playerid, const level[])
{
new lvl = strval(level);
if(level[0] == '+')
{
INFO[playerid][Level] += lvl;
return VALUE_GIVEN;
}
else if(level[0] == '-')
{
INFO[playerid][Level] += lvl; //Именно +, т.к. lvl уже будет иметь в себе отрицательное значение, возвращенное strval'ом
return VALUE_TAKEN;
}
//else
INFO[playerid][Level] = lvl;
return VALUE_SET;
}
PHP Code:
MakePlayerLevel(playerid, "+2"); //Добавит к level'у 2
MakePlayerLevel(playerid, "-1"); //Отнимет от level'а 1
MakePlayerLevel(playerid, "5"); //Установит level на 5