- Регистрация
- 16 Апр 2013
- Сообщения
- 744
- Лучшие ответы
- 0
- Репутация
- 218
Доброго времени суток! Хочу с Вами поделиться такой функцией как SavePlayerMysQL(...). Создавал я её для своего сервера. В чем же еще смысл? Лично у меня в моде очень много связанно с MySQL, прям очень и мне не удобно каждый раз меняя значение переменной, обнулять массив, делать format и посылать запрос в БД.
Пример:
И я решил это дело упростить для себя, сделав так:
Как работает этот адский код:
Я не буду Вам рекомендовать, вставлять это в свой код. Я это делал под свой мод. Решил выложить, может быть кому-то и пригодится и натолкнет на новую идею.
Пример:
PHP:
Query = "";
format(Query, 150, "UPDATE `account` SET `FiremanSkill`='%d',`FiremanCount`='%d' WHERE `Nick` = '%s'",
Player[playerid][pFiremanSkill], Player[playerid][pFiremanCount], PlayerName(playerid));
И я решил это дело упростить для себя, сделав так:
PHP:
#define Save_Level 0
#define Save_Money 1
#define Save_Skin 2
stock SavePlayerMysQL(...)
{
new x = numargs()-1;
new playerid = getarg(0);
savequery = "UPDATE `account` SET ";
for(new i = numargs(); --i > 0;)
{
Query = "";
if(getarg(i) == Save_Level)
{
format(Query, 50, "`Level` = '%d'", Player[playerid][pLevel]);
strcat(savequery, Query);
if(--x >= 0) strcat(savequery, ","), x--;
}
else if(getarg(i) == Save_Money)
{
format(Query, 50, "`Money` = '%d'", Player[playerid][pCash]);
strcat(savequery, Query);
if(--x >= 0) strcat(savequery, ","), x--;
}
else if(getarg(i) == Save_Skin)
{
format(Query, 50, "`Skin` = '%d'", Player[playerid][pChar]);
strcat(savequery, Query);
if(--x >= 0) strcat(savequery, ","), x--;
}
if(i == 1)
{
Query = "";
format(Query, 50, " WHERE `Nick` = '%s'", Player[playerid][pNick]);
strcat(savequery, Query);
}
}
mysql_pquery(dbHandle, savequery, "","");
return true;
}
Как работает этот адский код:
PHP:
SavePlayerMysQL(playerid, Save_Level, Save_Money, Save_Skin);
Я не буду Вам рекомендовать, вставлять это в свой код. Я это делал под свой мод. Решил выложить, может быть кому-то и пригодится и натолкнет на новую идею.
Последнее редактирование модератором: