09.08.2016, 07:12
Can someone tell me how to save the place where player disconnected?
OnPlayerDisconnect
New Float:player_pos[3];
GetPlayerPos(playerid, player_pos[0], player_pos[1], player_pos[2]);
//and save
PHP код:
|
new Float:player_posx, Float:player_posy, Float:player_posz;
GetPlayerPos(playerid, player_posx, player_posy, player_posz);
dude its easy check out this tutorial
https://sampforum.blast.hk/showthread.php?tid=299791 |
enum PlayerPos
{
X,
Y,
Z
}
new ppos[MAX_PLAYERS][PlayerPos];
forward playerpos_tag(playerid, name[], value[]);
public playerpos_tag(playerid, name[], value[])
{
INI_Float("X", ppos[playerid][X]);
INI_Float("Y", ppos[playerid][Y]);
INI_Float("Z", ppos[playerid][Z]);
return 1;
}
public OnPlayerDisconnect(playerid)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
new str[35], pname[24];
GetPlayerName(playerid, pname, sizeof(pname));
format(str, sizeof(str), "pos/%s.ini", pname);
new INI:file fopen(str);
INI_WriteFloat(file, "X", x);
INI_WriteFloat(file, "Y", y);
INI_WriteFloat(file, "Z", z);
INI_Close(file);
return 1;
}
public OnPlayerSpawn(playerid)
{
new str[35], pname[24];
GetPlayerName(playerid, pname, sizeof(pname));
format(str, sizeof(str), "pos/%s.ini", pname);
INI_ParseFile(str, "playerpos_%s", .bExtra = true, .extra = playerid);
SetPlayerPos(playerid, ppos[playerid][X], ppos[playerid][Y], ppos[playerid][Z]);
return 1;
}
(149) : error 017: undefined symbol "INI_Float"
(150) : error 017: undefined symbol "INI_Float"
(151) : error 017: undefined symbol "INI_Float"
(171) : error 021: symbol already defined: "str"
(174) : error 001: expected token: ";", but found "-identifier-"
(175) : error 017: undefined symbol "INI_WriteFloat"
(176) : error 017: undefined symbol "INI_WriteFloat"
(177) : error 017: undefined symbol "INI_WriteFloat"
(178) : error 017: undefined symbol "INI_Close"
(174) : warning 203: symbol is never used: "file"
(189) : error 021: symbol already defined: "str"
(192) : error 017: undefined symbol "INI_ParseFile"
(192) : warning 215: expression has no effect
(192) : error 029: invalid expression, assumed zero
(192) : error 017: undefined symbol "extra"
(192) : fatal error 107: too many error messages on one line
#include <YSI\y_ini>
new INI:file fopen(str);
new INI:file = INI_Open(str);
public OnPlayerSpawn(playerid)
{
SetTimerEx("spawn", 100, false, "i", playerid);
return 1;
}
forward spawn(playerid);
public spawn(playerid)
{
new str[35], pname[24];
GetPlayerName(playerid, pname, sizeof(pname));
format(str, sizeof(str), "pos/%s.ini", pname);
INI_ParseFile(str, "playerpos_%s", .bExtra = true, .extra = playerid);
SetPlayerPos(playerid, ppos[playerid][X], ppos[playerid][Y], ppos[playerid][Z]);
return 1;
}