Please look at my work
#1

Please look at my work its my first time with dini and it compiles im not sure if will work and i cant test it.

I want it to save the position when they logout and then set them back when they connect.

basically the relog where they logged out.

Please look though see if i made a mistake of if i can better it please

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

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];

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

public OnPlayerConnect(playerid)
{
    FirstLog[playerid] = true;
    if(!dini_Exists("LogPos/%s.veh"))//Dont look right :S
    {
        new dateiname[MAX_PLAYER_NAME+4];
        new playername[MAX_PLAYER_NAME];
        new var[256];

        GetPlayerName(playerid, playername, sizeof(playername));
        format(dateiname, sizeof(dateiname), "LogPos/%s.veh", playername);
        new File: LogFile = fopen(dateiname, io_write);
        format(var, 256, "LogX=0\n", pInfo[playerid][LogX]); fwrite(LogFile, var);
        format(var, 256, "LogY=0\n", pInfo[playerid][LogY]); fwrite(LogFile, var);
        format(var, 256, "LogZ=0\n", pInfo[playerid][LogZ]); fwrite(LogFile, var);
        fclose(LogFile);
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new dateiname[MAX_PLAYER_NAME+4];
    new playername[MAX_PLAYER_NAME];
    new var[256];
    GetPlayerName(playerid, playername, sizeof(playername));
    if(!dini_Exists("LogPos/%s.ini"))//Dont look right :S
    {
        format(dateiname, sizeof(dateiname), "LogPos/%s.ini", playername);
        new File: LogFile = fopen(dateiname, io_write);
        format(var, 256, "LogX=0\n", pInfo[playerid][LogX]); fwrite(LogFile, var);
        format(var, 256, "LogY=0\n", pInfo[playerid][LogY]); fwrite(LogFile, var);
        format(var, 256, "LogZ=0\n", pInfo[playerid][LogZ]); fwrite(LogFile, var);
        fclose(LogFile);
    }
    if(dini_Exists("LogPos/%s.txt"))//Dont look right :S
    {
        GetPlayerPos(playerid, pX, pY, pZ);
        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)
{
    if(FirstLog[playerid] == true)
    {
    if(dini_Exists("LogPos/%s.txt"))//Dont look right :S
    {
        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;
}
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)