Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Nadroj poslato Maj 08, 2013, 13:10:09 POSLE PODNE

Naslov: [POMOC]Pos
Poruka od: Nadroj poslato Maj 08, 2013, 13:10:09 POSLE PODNE
skripta: moja od 0
opis problema:

imam ovo

public OnPlayerDisconnect(playerid, reason)
{
new Float:x, Float:y, Float:z;
//==========================
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Novac",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Ubistva",PlayerInfo[playerid][pKills]);
    INI_WriteInt(File,"Smrti",PlayerInfo[playerid][pDeaths]);
    INI_WriteInt(File,"Lider",PlayerInfo[playerid][pLeader]);
    INI_WriteInt(File,"Clan",PlayerInfo[playerid][pMember]);
    INI_WriteInt(File,"Rank",PlayerInfo[playerid][pRank]);
    INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
    INI_WriteInt(File,"Org_Skin",PlayerInfo[playerid][pOrg_Skin]);
    INI_Close(File);
    //============================
    return 1;
}


e sad mi treba da sacuvam pozicije ali ne znam kako... da li da dodam GetPlayerPos(playerid, x, y, z) pa onda dalje nesto ili kako
Naslov: Odg: [POMOC]Pos
Poruka od: Nadroj poslato Maj 08, 2013, 19:07:20 POSLE PODNE
napisi gde treba sta da stavim...
Naslov: Odg: [POMOC]Pos
Poruka od: Nadroj poslato Maj 08, 2013, 19:39:20 POSLE PODNE
evo stavio sam ovako


enum pInfo
{
    pPass,
    pCash,
    pAdmin,
    pKills,
    pDeaths,
    pLeader,
    pMember,
    pRank,
    pSkin,
    pOrg_Skin,
    FirmaID,
Float:pPozicijaX,
Float:pPozicijaY,
Float:pPozicijaZ;




public OnPlayerDisconnect(playerid, reason)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
//==========================
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Novac",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Ubistva",PlayerInfo[playerid][pKills]);
    INI_WriteInt(File,"Smrti",PlayerInfo[playerid][pDeaths]);
    INI_WriteInt(File,"Lider",PlayerInfo[playerid][pLeader]);
    INI_WriteInt(File,"Clan",PlayerInfo[playerid][pMember]);
    INI_WriteInt(File,"Rank",PlayerInfo[playerid][pRank]);
    INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
    INI_WriteInt(File,"Org_Skin",PlayerInfo[playerid][pOrg_Skin]);
INI_WriteFloat(File, "X", PlayerInfo[playerid][pPozicijaX]);
    INI_WriteFloat(File, "Y", PlayerInfo[playerid][pPozicijaY]);
    INI_WriteFloat(File, "Z", PlayerInfo[playerid][pPozicijaZ]);
    INI_Close(File);
    //============================
    return 1;
}


ali on mi sacuva ali pozicije su 0.000 sve.....
Naslov: Odg: [POMOC]Pos
Poruka od: pax95 poslato Maj 08, 2013, 20:04:13 POSLE PODNE
Tvoj onplayeridisconnect zameni sa ovim:
public OnPlayerDisconnect(playerid, reason)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
//==========================
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Novac",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Ubistva",PlayerInfo[playerid][pKills]);
    INI_WriteInt(File,"Smrti",PlayerInfo[playerid][pDeaths]);
    INI_WriteInt(File,"Lider",PlayerInfo[playerid][pLeader]);
    INI_WriteInt(File,"Clan",PlayerInfo[playerid][pMember]);
    INI_WriteInt(File,"Rank",PlayerInfo[playerid][pRank]);
    INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
    INI_WriteInt(File,"Org_Skin",PlayerInfo[playerid][pOrg_Skin]);
INI_WriteFloat(File, "X", x);
    INI_WriteFloat(File, "Y", y);
    INI_WriteFloat(File, "Z", z);
    INI_Close(File);
    //============================
    return 1;
}
Naslov: Odg: [POMOC]Pos
Poruka od: Nadroj poslato Maj 09, 2013, 09:14:23 PRE PODNE
sad je super cuva mi poziciju ali na spawnu me ne spawna tamo..


        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
                    ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""C_WHITE"Success!",""C_WHITE"You have successfully logged in!","Ok","");
SetPlayerPos(playerid, PlayerInfo[playerid][pPozicijaX], PlayerInfo[playerid][pPozicijaY], PlayerInfo[playerid][pPozicijaZ]);
SpawnPlayer(playerid);
}
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""C_WHITE"Login",""C_RED"You have entered an incorrect password.\n"C_WHITE"Type your password below to login.","Login","Quit");
                }
                return 1;
            }
        }
Naslov: Odg: [POMOC]Pos
Poruka od: Crazyn3ss poslato Maj 09, 2013, 10:35:48 PRE PODNE
Citat: ladolez poslato Maj 09, 2013, 09:14:23 PRE PODNE
sad je super cuva mi poziciju ali na spawnu me ne spawna tamo..


        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
                    ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""C_WHITE"Success!",""C_WHITE"You have successfully logged in!","Ok","");
SetPlayerPos(playerid, PlayerInfo[playerid][pPozicijaX], PlayerInfo[playerid][pPozicijaY], PlayerInfo[playerid][pPozicijaZ]);
SpawnPlayer(playerid);
}
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""C_WHITE"Login",""C_RED"You have entered an incorrect password.\n"C_WHITE"Type your password below to login.","Login","Quit");
                }
                return 1;
            }
        }


pa kad radis i provjeru spawna???
moras izbrisat ovo
SpawnPlayer(playerid);
Naslov: Odg: [POMOC]Pos
Poruka od: Nadroj poslato Maj 09, 2013, 18:09:31 POSLE PODNE
u sk Sam sad pa kad stignem kuci proba cu  ali ako stavim pod spawn svaki put na spawnu ce da me spawna na posledju pos
Naslov: Odg: [POMOC]Pos
Poruka od: Nadroj poslato Maj 09, 2013, 20:04:23 POSLE PODNE
neradi nista od toga -.-
Naslov: Odg: [POMOC]Pos
Poruka od: Nadroj poslato Maj 11, 2013, 14:24:58 POSLE PODNE
BUMP
Naslov: Odg: [POMOC]Pos
Poruka od: Crazyn3ss poslato Maj 11, 2013, 15:10:44 POSLE PODNE
pa nadi taj dio kad te spawna sad bez tih pozicija i samo zamjeni, nema tu neke logike
Naslov: Odg: [POMOC]Pos
Poruka od: Nadroj poslato Maj 11, 2013, 15:52:34 POSLE PODNE
evo sad cu na pm da ti posaljem mod.. mali je
Naslov: Odg: [POMOC]Pos
Poruka od: Joey_ poslato Maj 12, 2013, 00:51:17 PRE PODNE
Ako još nisi riješio problem, onda unutar OnDialogReponse callbacka onaj dio za DIALOG_LOGIN zamijeni ovime:
        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
                    ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""C_WHITE"Success!",""C_WHITE"You have successfully logged in!","Ok","");
                                        SpawnPlayer(playerid);
SetPlayerPos(playerid, PlayerInfo[playerid][pPozicijaX], PlayerInfo[playerid][pPozicijaY], PlayerInfo[playerid][pPozicijaZ]);
}
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""C_WHITE"Login",""C_RED"You have entered an incorrect password.\n"C_WHITE"Type your password below to login.","Login","Quit");
                }
                return 1;
            }
        }