Сохранение позиции при выходе [ MySQL R7+ ]
PHP код:
#define TABLE_ACCOUNT ""
// таблица аккаунтов
#define PosX ""
// названия в структуре таблице колонки позиции по иксу
#define PosY ""
// названия в структуре таблице колонки позиции по игрику
#define PosZ ""
// названия в структуре таблице колонки позиции по зэт
#define Int ""
// названия в структуре таблице колонки интерьера
#define World ""
// названия в структуре таблице колонки вирт. мира
#define Name ""
// названия в структуре таблице колонки имя
В OnPlayerDisconnect ( Сохраняем значения )
PHP код:
stock SavePositionExit(playerid)
{
new Float: SavePosition[3],
query_string[128];
GetPlayerPos(playerid, SavePosition[0], SavePosition[1], SavePosition[2]);
format(query_string, sizeof(query_string),
"UPDATE "TABLE_ACCOUNT" SET `"PosX"` = '%f', `"PosY"` = '%f', `"PosZ"` = '%f', \
`"Int"` = '%d', `"World"` = '%d' WHERE `"Name"` = '%s'",
SavePosition[0],
SavePosition[1],
SavePosition[2],
GetPlayerInterior(playerid),
GetPlayerVirtualWorld(playerid));
mysql_function_query(connectionHandle, query_string, 0, "","");
}
В сток или функции , там где логинится игрок ( где нужно телепортировать игрока )
PHP код:
stock SetPositionExit(playerid)
{
SetPlayerPos(playerid,
cache_get_field_content_float(0,""PosX"",connectionHandle),
cache_get_field_content_float(0,""PosY"",connectionHandle),
cache_get_field_content_float(0,""PosZ"",connectionHandle));
SetPlayerVirtualWorld(playerid, cache_get_field_content_int(0,""World"",connectionHandle));
SetPlayerInterior(playerid, cache_get_field_content_int(0,""Int"",connectionHandle));
return 1;
}
Не-то чтобы баян.
Но вполне рабочая, и функциональная система. Которая работать будет под любой мод на MySQL.
Если вы что-то не поняли пишите в теме.
Перевел в инклуд. Ссылка: Кликабельно
Как использовать с инклудом:
PHP код:
#define TABLE_ACCOUNT "accounts"
#define PosX "PosX"
#define PosY "PosY"
#define PosZ "PosZ"
#define Int "Int"
#define World "World"
#define Name "player_name"
#include <t_teleport>
Макросы (#define) меняем на свои.
Там где вы хотите ТП игрока:
PHP код:
SetPositionExit(playerid);