set&getData без учета string,float etc...
Всем привет!
Не знал как назвать тему так что заранее прошу прощения.
Я решил сделать функции наподобие setElementData, getElementData (аля MTA), но столкнулся проблемой.
Не знаю как объяснить, попытаюсь объяснить кодом
У меня есть enum для игрока с разными переменными.
PHP код:
enum player_data {
Name[MAX_PLAYER_NAME+1],//string
Pass[32],//string
Ip[16],//string
bool:Logged,//bool
Float:X,//Float
Float:Y,//Float
Float:Z,//Float
Level//Integer
}
new pData[MAX_PLAYERS][player_data];
И я к ним "сделал" универсальные функции
PHP код:
stock _setData(playerid, data, value) {
if (pData[playerid][data]) {// если data имеются в enum
pData[playerid][data] = value;//меняем значение data
}
}
stock _getData(playerid, data) {
if (pData[playerid][data]) {// если data имеются в enum
return pData[playerid][data];// возвращаем data
}
}
Я знаю что функции сейчас не будут работать ибо функции будут работают только с integer данными т.е номерными.
PHP код:
_setData(playerid, Level, 2)//меняем игроку лвл
_getData(playerid, Level)//узнаем лвл игрока
Есть ли способ заставить работать эти функции и с другими видами? я имею ввиду (integer, strin, float, bool и т.д).
PHP код:
_setData(playerid, Logged, true)//
_getData(playerid, Logged)//
//etc
p.s возможно кто то спросить зачем это мне, мне так удобней.
Заранее спасибо за ответ.