rendered paste bodynew gPlayerPos[MAX_PLAYERS][3];
public OnPlayerConnect(playerid)
{
StoreSavedPosition(playerid);
}
public OnPlayerSpawn(playerid)
{
SetPlayerPos(playerid, gPlayerPos[playerid][0],gPlayerPos[playerid][1],gPlayerPos[playerid][2]);
{
public StoreSavedPosition(playerid)
{
new playername[128];
GetPlayerName(playerid, playername, sizeof(playername));
if(fexist("pos.txt"))
{
new File: file = fopen("pos.txt", io_read);
new line[256], storedname[256];
new idx;
while (fread(file, line, sizeof(line)))
{
storedname = strtok(line, idx);
if (strcmp(storedname, playername, true) == 0)
{
new Xstr[56], Ystr[56], Zstr[56];
Xstr = strtok(line, idx);
gPlayerPos[playerid][0] = strfloat(Xstr);
Ystr = strtok(line, idx);
gPlayerPos[playerid][1] = strfloat(Ystr);
Zstr = strtok(line, idx);
gPlayerPos[playerid][2] = strfloat(Zstr);
fclose("pos.txt");
return 1;
}
idx = 0;
}
fclose("pos.txt");
}
//add default values
gPlayerPos[playerid][0] = 0.000;
gPlayerPos[playerid][1] = 0.000;
gPlayerPos[playerid][2] = 0.000;
return 0;
}
//strtok
public strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}