All pastes #769735 Raw Edit

Advanced Position Saver

public cpp v1 · immutable
·published 2007-11-11 17:23 UTC
rendered paste body
new cmd[256];new idx;cmd = strtok(cmdtext, idx);if (strcmp(cmd, "/savep", true) == 0){ 	new str[256];	new comment[256];	new Float:Angle;	tmp = strtok(cmdtext,idx);	if(!strlen(tmp))	{		SendClientMessage(playerid,0xF97804FF,"USAGE: /savep [class/vehicle/object/pickup/position] [comment]");		SendClientMessage(playerid,0xF97804FF,"FUNCTION: Will save your position and create a file to save it in.");		SendClientMessage(playerid,0xF97804FF,"HELP: Class: AddPlayerClass - Vehicle: CreateVehicle - Object: CreateObject");		SendClientMessage(playerid,0xF97804FF,"HELP: Pickup: CreatePickup - Position: X,Y,Z,Angle");		SendClientMessage(playerid,0xF97804FF,"HELP: You don't have to enter a comment.");	}	else if(strcmp(tmp,"class",true) == 0)	{	    new length = strlen(cmdtext);		while ((idx < length) && (cmdtext[idx] <= ' '))		{			idx++;		}		new offset = idx;		while ((idx < length) && ((idx - offset) < (sizeof(comment) - 1)))		{			comment[idx - offset] = cmdtext[idx];			idx++;		}		comment[idx - offset] = EOS;	    GetPlayerPos(playerid,X,Y,Z);	    GetPlayerFacingAngle(playerid,Angle);		new skin = GetPlayerSkin(playerid);		format(string,sizeof(string),"AddPlayerClass(%d,%.0f,%.0f,%.0f,%.0f,0,0,0,0,0,0); // %s",skin,X,Y,Z,Angle,comment);		new File: save = fopen("savedcoords.txt",io_append);		format(str,256," \r\n");		fwrite(save, string);		fwrite(save,str);		fclose(save);		SendClientMessage(playerid,0x38FF06FF,string);	}	else if(strcmp(tmp,"vehicle",true) == 0)	{	    new length = strlen(cmdtext);		while ((idx < length) && (cmdtext[idx] <= ' '))		{			idx++;		}		new offset = idx;		while ((idx < length) && ((idx - offset) < (sizeof(comment) - 1)))		{			comment[idx - offset] = cmdtext[idx];			idx++;		}		comment[idx - offset] = EOS;	    GetPlayerPos(playerid,X,Y,Z);	    GetPlayerFacingAngle(playerid,Angle);		new model = GetVehicleModel(GetPlayerVehicleID(playerid));		format(string,sizeof(string),"CreateVehicle(%d,%.0f,%.0f,%.0f,%.0f,-1,-1,180000); // %s",model,X,Y,Z,Angle,comment);		new File: save = fopen("savedcoords.txt",io_append);		format(str,256," \r\n");		fwrite(save, string);		fwrite(save,str);		fclose(save);		SendClientMessage(playerid,0x38FF06FF,string);	}	else if(strcmp(tmp,"object",true) == 0)	{	    new objectid[256];		objectid = strtok(cmdtext,idx);	    if(!strlen(objectid))		{			SendClientMessage(playerid,0xF97804FF,"USAGE: /savep object [objectid] [comment]");			SendClientMessage(playerid,0xE60000FF,"ERROR: You have to enter an object id to continue! If you don't know the ID, type anything to proceed");			return 1;		}	    new length = strlen(cmdtext);		while ((idx < length) && (cmdtext[idx] <= ' '))		{			idx++;		}		new offset = idx;		while ((idx < length) && ((idx - offset) < (sizeof(comment) - 1)))		{			comment[idx - offset] = cmdtext[idx];			idx++;		}		comment[idx - offset] = EOS;	    GetPlayerPos(playerid,X,Y,Z);		format(string,sizeof(string),"CreateObject(%s,%.0f,%.0f,%.0f,0,0,0); // %s",objectid,X,Y,Z,comment);		new File: save = fopen("savedcoords.txt",io_append);		format(str,256," \r\n");		fwrite(save, string);		fwrite(save,str);		fclose(save);		SendClientMessage(playerid,0x38FF06FF,string);	}	else if(strcmp(tmp,"pickup",true) == 0)	{	    new pickupid[256];		pickupid = strtok(cmdtext,idx);	    if(!strlen(pickupid))		{			SendClientMessage(playerid,0xF97804FF,"USAGE: /savep pickup [pickupid] [comment]");			SendClientMessage(playerid,0xE60000FF,"ERROR: You have to enter a pickup id to continue! If you don't know the ID, type anything to proceed");			return 1;		}	    new length = strlen(cmdtext);		while ((idx < length) && (cmdtext[idx] <= ' '))		{			idx++;		}		new offset = idx;		while ((idx < length) && ((idx - offset) < (sizeof(comment) - 1)))		{			comment[idx - offset] = cmdtext[idx];			idx++;		}		comment[idx - offset] = EOS;	    GetPlayerPos(playerid,X,Y,Z);		format(string,sizeof(string),"CreatePickup(%s,23,%.0f,%.0f,%.0f); // %s",pickupid,X,Y,Z,comment);		new File: save = fopen("savedcoords.txt",io_append);		format(str,256," \r\n");		fwrite(save, string);		fwrite(save,str);		fclose(save);		SendClientMessage(playerid,0x38FF06FF,string);	}    else if(strcmp(tmp,"position",true) == 0)	{	    new length = strlen(cmdtext);		while ((idx < length) && (cmdtext[idx] <= ' '))		{			idx++;		}		new offset = idx;		while ((idx < length) && ((idx - offset) < (sizeof(comment) - 1)))		{			comment[idx - offset] = cmdtext[idx];			idx++;		}		comment[idx - offset] = EOS;	    GetPlayerPos(playerid,X,Y,Z);	    GetPlayerFacingAngle(playerid,Angle);		format(string,sizeof(string),"// %f, %f, %f,%.0f // %s",X,Y,Z,Angle,comment);		new File: save = fopen("savedcoords.txt",io_append);		format(str,256," \r\n");		fwrite(save, string);		fwrite(save,str);		fclose(save);		SendClientMessage(playerid,0x38FF06FF,string);	}	else	{		SendClientMessage(playerid,0xF97804FF,"USAGE: /savep [class/vehicle/object/pickup/position] [comment]");	}	return 1;}