All pastes #1091165 Raw Edit

Nate's Online MAP

public text v1 · immutable
#1091165 ·published 2008-08-02 19:52 UTC
rendered paste body
#include <a_samp>

#define DLX_POS2XML_REFRESH    1000


enum Onlinetime
	{
	    seconds,
	    minutes,
	    hours
	};

new onlinetime[200][Onlinetime];
forward updatePositions();

public OnFilterScriptInit() {
	print("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
	print("         delux");
	print("        pos2xml");
	print("    http://gtamap.delux-host.com");
	print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");


	SetTimer("updatePositions", DLX_POS2XML_REFRESH, 1);

	return 1;
}

public OnFilterScriptExit() {
    print(" ~~~     delux pos2xml unloaded     ~~~");
	return 1;
}
public OnPlayerConnect(playerid)
{
onlinetime[playerid][seconds] = 0;
onlinetime[playerid][minutes] = 0;
onlinetime[playerid][hours] = 0;
return 1;
}
public updatePositions() {
	for(new pCheck = 0; pCheck <= 200; pCheck++)
	{
	if(IsPlayerConnected(pCheck))
  	{
	onlinetime[pCheck][seconds]++;
	if(onlinetime[pCheck][seconds] == 60)
	{
 	onlinetime[pCheck][seconds] = 0;
  	onlinetime[pCheck][minutes]++;
	}
	if(onlinetime[pCheck][minutes] == 60)
	{
	onlinetime[pCheck][seconds] = 0;
	onlinetime[pCheck][minutes] = 0;
	onlinetime[pCheck][hours]++;
	}
	}
	}
   	if(fexist("delux2pos.xml"))
    {
	new File:file;
	file = fopen("delux2pos.xml",io_write);
	new string[256];
    fwrite(file,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n");
	fwrite(file,"<positions>\n");

    for(new i=0; i<MAX_PLAYERS; i++) {
	    if (IsPlayerConnected(i)) {
	        format(string,sizeof(string),"\t<player id=\"%d\">\n", i);
	    	fwrite(file,string);


    		new pname[255];
		    GetPlayerName(i, pname, sizeof(pname));
		    format(string,sizeof(string),"\t\t<name>%s</name>\n", pname);
		    fwrite(file,string);
		    
		    new Float:health;
   			GetPlayerHealth(i,health);
		    format(string,sizeof(string),"\t\t<Health>%f</Health>\n", health);
		    fwrite(file,string);
            
			new Float:armour;
   			GetPlayerArmour(i,armour);
		    format(string,sizeof(string),"\t\t<Armour>%f</Armour>\n", armour);
		    fwrite(file,string);
		    
		    new cash = GetPlayerMoney(i);
			format(string,sizeof(string),"/t/t<Cash>%d</Cash>/n",cash);
			fwrite(file,string);
			
			new score = GetPlayerScore(i);
   			format(string,sizeof(string),"\t\t<Score>%d</Score>\n", score);
		    fwrite(file,string);
		    
	        format(string,sizeof(string),"/t/t<OnlineTime>Hours: %d | Minutes: %d | Seconds: %d</OnlineTime>/n", onlinetime[i][hours],  onlinetime[i][minutes],  onlinetime[i][seconds]);
	        fwrite(file,string);
	        
			if(IsPlayerInAnyVehicle(i)){
			format(string,sizeof(string),"/t/t<image>http://dev.delux-host.com/gta/vehicles/?id=%d</image>/n",GetVehicleModel(GetPlayerVehicleID(i)));
			fwrite(file,string);
			}else{
			format(string,sizeof(string),"/t/t<image>http://dev.delux-host.com/gta/skins/?id=%d</image>/n",GetPlayerSkin(i));
			fwrite(file,string);
			}
			
			new Float:x,Float:y,Float:z;
			GetPlayerPos(i,x,y,z);
   			format(string,sizeof(string),"\t\t<x>%f</x>\n\t\t<y>%f</y>\n\t\t<z>%f</z>\n", x, y, z);
	    	fwrite(file,string);

			
	    	fwrite(file,"\t</player>\n");
		}
	}

	fwrite(file, "</positions>");
	fclose(file);
}
    return 1;
}