Please look at my work
#3

Thanks

May you look at this does it look right?

pawn Код:
#include <a_samp>
#include <dini>

#define FILTERSCRIPT

enum LogInfo
{
    LogX,
    LogY,
    LogZ
};
new pInfo[MAX_PLAYERS][LogInfo];

new Float:pX, Float:pY, Float:pZ;
new Float:SetPosX[MAX_PLAYERS];
new Float:SetPosY[MAX_PLAYERS];
new Float:SetPosZ[MAX_PLAYERS];

new bool:FirstLog[MAX_PLAYERS];

public OnFilterScriptInit()
{
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

public OnPlayerConnect(playerid)
{
    FirstLog[playerid] = true;
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new dateiname[MAX_PLAYER_NAME+4];
    new playername[MAX_PLAYER_NAME];
    new var[256];
    new file[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(file,sizeof(file),"LogPos/%s.ini",name);
    if(!fexist(file))
    {
        GetPlayerPos(playerid, pX, pY, pZ);
        pX = pInfo[playerid][LogX];
        pY = pInfo[playerid][LogY];
        pZ = pInfo[playerid][LogZ];
        format(dateiname, sizeof(dateiname), "LogPos/%s.ini", playername);
        new File: LogFile = fopen(dateiname, io_write);
        format(var, 256, "LogX=%i\n", pX); fwrite(LogFile, var);
        format(var, 256, "LogY=%i\n", pY); fwrite(LogFile, var);
        format(var, 256, "LogZ=%i\n", pZ); fwrite(LogFile, var);
        fclose(LogFile);
    }
    format(file,sizeof(file),"LogPos/%s.ini",name);
    if(fexist(file))
    {
        GetPlayerPos(playerid, pX, pY, pZ);
        pX = pInfo[playerid][LogX];
        pY = pInfo[playerid][LogY];
        pZ = pInfo[playerid][LogZ];
        format(dateiname, sizeof(dateiname), "LogPos/%s.ini", playername);
        new File: LogFile = fopen(dateiname, io_write);
        format(var, 256, "LogX=%i\n", pX); fwrite(LogFile, var);
        format(var, 256, "LogY=%i\n", pY); fwrite(LogFile, var);
        format(var, 256, "LogZ=%i\n", pZ); fwrite(LogFile, var);
        fclose(LogFile);
    }
    return 1;
}

public OnPlayerSpawn(playerid)
{
    new file[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(file,sizeof(file),"LogPos/%s.ini",name);
    if(FirstLog[playerid] == true)
    {
        if(fexist(file))
        {
            SetPosX[playerid] = pInfo[playerid][LogX];
            SetPosY[playerid] = pInfo[playerid][LogY];
            SetPosZ[playerid] = pInfo[playerid][LogZ];
            SetPlayerPos(playerid,SetPosX[playerid],SetPosY[playerid],SetPosZ[playerid]);
            FirstLog[playerid] = false;
        }
    }
    return 1;
}
EDIT:

Tested it dont even save the pos on disconnect :S

Help plz
Reply


Messages In This Thread
Please look at my work - by YungGee - 16.02.2011, 05:47
Re: Please look at my work - by park4bmx - 16.02.2011, 06:40
Re: Please look at my work - by YungGee - 16.02.2011, 08:12
Re: Please look at my work - by park4bmx - 16.02.2011, 14:37

Forum Jump:


Users browsing this thread: 1 Guest(s)