new 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; }