All pastes #121475 Raw Edit

Something

public text v1 · immutable
·published 2006-08-08 01:24 UTC
rendered paste body
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;
}