Jump to content
  • 0

pomoc Pomoc s YSI ukládání pozice


ActiV3Drifter

Dotaz

Ahojte večerní tvorové, potřeboval bych pomoc s ukládáním pozic u icludu YSI\y_ini potřeboval bych aby mi někdo napsal jak tam mám zapsat na to ukládání pozic teď to mám takhle:

enum pInfo
{

    pPass,
    pCash,
    pAdmin,
    pKills,
    pDeaths
}
new PlayerInfo[MAX_PLAYERS][pInfo];

všechno funguje stáčí mi jenom to co tam mám připsat aby mi šlo to ukládání pozic děkuji moc :)

Link to comment
Share on other sites

11 odpovědí na tuto otázku

Recommended Posts

  • 0

Zdravím tady to máš

 

Proměna:

new
    Float: pX[ MAX_PLAYERS ],
    Float: pY[ MAX_PLAYERS ],
    Float: pZ[ MAX_PLAYERS ],
;

Do PlayerInfa Nic :d

LoadData nebo LoadUser nevím co máš

Dáš toto

 

Float: Jané

A pak už jen zapsaní


    INI_Float( "PoziceX", pX[ playerid ] );
    INI_Float( "PoziceY", pY[ playerid ] );
    INI_Float( "PoziceZ", pZ[ playerid ] );

Věškeré kouzlo je v ukladaní

 

Takže asi Disconnect

Všimni si jak GetPlayerPos spojíme z naší proměnou co máš uplně nahoře

GetPlayerPos( playerid, pX[ playerid ], pY[ playerid ], pZ[ playerid ] );

A ted jen podle tohodle budem zapisovat:

Takže zatím nám GetPlayerPos zjistila pozici pX,pY,pZ

Zapsání:

    INI_WriteFloat( File, "PoziceX",pX[ playerid ]);    
    INI_WriteFloat( File, "PoziceY",pY[ playerid ]);
    INI_WriteFloat( File, "PositionZ",pZ[ playerid ]);

Takže už máme zapsané

 

A ted asi do přihašení nebo kam chceš si dát 

 

Což nám nastaví pozici co má zapsanou

SetPlayerPos( playerid, pX[ playerid ], pY[ playerid ], pZ[ playerid ] );

A je hotovo

Link to comment
Share on other sites

  • 0


Někam nahoru
new bool:pos;

OnPlayerConnect
 pos = false;

public OnPlayerDisconnect(playerid, reason)
{
    pos = false;
    new file[256];
     format(file, sizeof(file), SERVER_USER_FILE, Jmeno(playerid));
      if(gPlayerLogged[playerid] == 1)
       {
        SavePos(playerid, file);
      }
    return 1;
}
uprav podle sebe

OnPlayerSpawn
new file[104];
    format(file, sizeof(file), SERVER_USER_FILE, Jmeno(playerid));

    if(pos == false)
    {
        LoadPos(playerid, file);
    }

zase podle sebe

někam dolů


SavePos(playerid, file[])
{
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    dini_FloatSet(file, "PosX",X);
    dini_FloatSet(file, "PosY",Y);
    dini_FloatSet(file, "PosZ",Z);
    return 1;
}

LoadPos(playerid, file[])
{
    new Float:X,Float:Y,Float:Z;
    X = dini_Float(file, "PosX");
    Y = dini_Float(file, "PosY");
    Z = dini_Float(file, "PosZ");
    SetPlayerPos(playerid, X, Y, Z);
    pos = true;

    return 1;
}

 

Link to comment
Share on other sites

  • 0
Někam nahoru
new bool:pos;

OnPlayerConnect
 pos = false;

public OnPlayerDisconnect(playerid, reason)
{
    pos = false;
    new file[256];
     format(file, sizeof(file), SERVER_USER_FILE, Jmeno(playerid));
      if(gPlayerLogged[playerid] == 1)
       {
        SavePos(playerid, file);
      }
    return 1;
}
uprav podle sebe

OnPlayerSpawn
new file[104];
    format(file, sizeof(file), SERVER_USER_FILE, Jmeno(playerid));

    if(pos == false)
    {
        LoadPos(playerid, file);
    }

zase podle sebe

někam dolů


SavePos(playerid, file[])
{
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    dini_FloatSet(file, "PosX",X);
    dini_FloatSet(file, "PosY",Y);
    dini_FloatSet(file, "PosZ",Z);
    return 1;
}

LoadPos(playerid, file[])
{
    new Float:X,Float:Y,Float:Z;
    X = dini_Float(file, "PosX");
    Y = dini_Float(file, "PosY");
    Z = dini_Float(file, "PosZ");
    SetPlayerPos(playerid, X, Y, Z);
    pos = true;

    return 1;
}

Nic proti ale on chtěl YSI :d

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...