My Position Resets [Help!]
#1

Hey guys,

I am a scripting newb and I need some serious help here.
I installed Y_INI and thought that would fix my location problem, but it didn't.
Everytime I log onto the server, I am not where I logged off, I am at my spawn which is the San Fierro Airport
I have set the spawn their so that is normal.

Anyone know what to do?
Oh, And how come I run so weird? Anyway to fix this?
Reply
#2

Show us the codes, we are not able to fix without any codes. And Yes, there are ways to fix it.
Reply
#3

do u have save positions implements?

in playerinfo Floatx,
Floaty,
Floatz <<<< u know like that, dont have ?
Reply
#4

Quote:
Originally Posted by lelemaster
Посмотреть сообщение
Show us the codes, we are not able to fix without any codes. And Yes, there are ways to fix it.
http://pastebin.com/Fqc1nt0P
Reply
#5

lmfao *sigh* :/ ur crazy :/ idk what iz that, but it looks like all the fs and gms in one post, lmfao u got lots 2 learn, and u aint save player position
Reply
#6

PHP код:
enum pInfo
{
    
pPass,
    
pCash,
    
pAdmin,
    
pKills,
    
pDeaths,
    
Float:pPosX,
    
Float:pPosY,
    
Float:pPosZ,
    
Float:pPosA
}
public 
LoadUser_data(playerid,name[],value[])
{
        
INI_Int("Password",PlayerInfo[playerid][pPass]);
        
INI_Int("Cash",PlayerInfo[playerid][pCash]);
        
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
        
INI_Int("Kills",PlayerInfo[playerid][pKills]);
        
INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
        
INI_Float("X"PlayerInfo[playerid][pPosX]);
        
INI_Float("Y"PlayerInfo[playerid][pPosY]);
        
INI_Float("Z"PlayerInfo[playerid][pPosZ]);
        
INI_Float("A"PlayerInfo[playerid][pPosA]);
        return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
        new 
INI:File INI_Open(UserPath(playerid));
        new 
Float:PosXFloat:PosYFloat:PosZFloat:PosA;
        
GetPlayerPos(playeridPosXPosYPosZ);
        
GetPlayerFacingAngle(playeridPosA);
        
INI_SetTag(File,"data");
        
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
        
INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
        
INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
        
INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
        
INI_WriteFloat(File,"pPosX",PosX);
        
INI_WriteFloat(File,"pPosY",PosY);
        
INI_WriteFloat(File,"PosZ",PosZ);
        
INI_WriteFloat(File,"PosA",PosA);
        
INI_Close(File);
        return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch( 
dialogid )
    {
        case 
DIALOG_REGISTER:
        {
            if (!
response) return Kick(playerid);
            if(
response)
            {
                if(!
strlen(inputtext)) return ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
                new 
INI:File INI_Open(UserPath(playerid));
                
INI_SetTag(File,"data");
                
INI_WriteInt(File,"Password",udb_hash(inputtext));
                
INI_WriteInt(File,"Cash",0);
                
INI_WriteInt(File,"Admin",0);
                
INI_WriteInt(File,"Kills",0);
                
INI_WriteInt(File,"Deaths",0);
                
INI_Close(File);
 
                
SetSpawnInfo(playerid001958.331343.1215.36269.15000000);
                
SpawnPlayer(playerid);
                
ShowPlayerDialog(playeridDIALOG_SUCCESS_1DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
                        }
        }
 
        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(playeridPlayerInfo[playerid][pCash]);
                    
SpawnPlayer(playerid);
                    
SetPlayerPos(playeridPlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
                    
SetPlayerFacingAngle(playeridPlayerInfo[playerid][pPosA]);
                                        
ShowPlayerDialog(playeridDIALOG_SUCCESS_2DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
                }
                else
                {
                    
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
                }
                return 
1;
            }
        }
    }
    return 
1;

Edit this how you feel needed.
Reply
#7

Quote:
Originally Posted by JhnzRep
Посмотреть сообщение
PHP код:
enum pInfo
{
    
pPass,
    
pCash,
    
pAdmin,
    
pKills,
    
pDeaths,
    
Float:pPosX,
    
Float:pPosY,
    
Float:pPosZ,
    
Float:pPosA
}
public 
LoadUser_data(playerid,name[],value[])
{
        
INI_Int("Password",PlayerInfo[playerid][pPass]);
        
INI_Int("Cash",PlayerInfo[playerid][pCash]);
        
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
        
INI_Int("Kills",PlayerInfo[playerid][pKills]);
        
INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
        
INI_Float("X"PlayerInfo[playerid][pPosX]);
        
INI_Float("Y"PlayerInfo[playerid][pPosY]);
        
INI_Float("Z"PlayerInfo[playerid][pPosZ]);
        
INI_Float("A"PlayerInfo[playerid][pPosA]);
        return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
        new 
INI:File INI_Open(UserPath(playerid));
        new 
Float:PosXFloat:PosYFloat:PosZFloat:PosA;
        
GetPlayerPos(playeridPosXPosYPosZ);
        
GetPlayerFacingAngle(playeridPosA);
        
INI_SetTag(File,"data");
        
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
        
INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
        
INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
        
INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
        
INI_WriteFloat(File,"pPosX",PosX);
        
INI_WriteFloat(File,"pPosY",PosY);
        
INI_WriteFloat(File,"PosZ",PosZ);
        
INI_WriteFloat(File,"PosA",PosA);
        
INI_Close(File);
        return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch( 
dialogid )
    {
        case 
DIALOG_REGISTER:
        {
            if (!
response) return Kick(playerid);
            if(
response)
            {
                if(!
strlen(inputtext)) return ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
                new 
INI:File INI_Open(UserPath(playerid));
                
INI_SetTag(File,"data");
                
INI_WriteInt(File,"Password",udb_hash(inputtext));
                
INI_WriteInt(File,"Cash",0);
                
INI_WriteInt(File,"Admin",0);
                
INI_WriteInt(File,"Kills",0);
                
INI_WriteInt(File,"Deaths",0);
                
INI_Close(File);
 
                
SetSpawnInfo(playerid001958.331343.1215.36269.15000000);
                
SpawnPlayer(playerid);
                
ShowPlayerDialog(playeridDIALOG_SUCCESS_1DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
                        }
        }
 
        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(playeridPlayerInfo[playerid][pCash]);
                    
SpawnPlayer(playerid);
                    
SetPlayerPos(playeridPlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
                    
SetPlayerFacingAngle(playeridPlayerInfo[playerid][pPosA]);
                                        
ShowPlayerDialog(playeridDIALOG_SUCCESS_2DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
                }
                else
                {
                    
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
                }
                return 
1;
            }
        }
    }
    return 
1;

Edit this how you feel needed.
Pasted it overtop of its original and got these errors:

Код:
C:\Users\Cody\Desktop\OrbzGaming\SAMP\Server\gamemodes\grandlarc.pwn(25) : warning 235: public function lacks forward declaration (symbol "LoadUser_data")
C:\Users\Cody\Desktop\OrbzGaming\SAMP\Server\gamemodes\grandlarc.pwn(27) : error 017: undefined symbol "INI_Int"
C:\Users\Cody\Desktop\OrbzGaming\SAMP\Server\gamemodes\grandlarc.pwn(27) : warning 215: expression has no effect
C:\Users\Cody\Desktop\OrbzGaming\SAMP\Server\gamemodes\grandlarc.pwn(27) : error 001: expected token: ";", but found "]"
C:\Users\Cody\Desktop\OrbzGaming\SAMP\Server\gamemodes\grandlarc.pwn(27) : error 029: invalid expression, assumed zero
C:\Users\Cody\Desktop\OrbzGaming\SAMP\Server\gamemodes\grandlarc.pwn(27) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Reply
#8

You must have deleted
PHP код:
forward LoadUser_data(playerid,name[],value[]); 
put it right above

PHP код:
public LoadUser_data(playerid,name[],value[]); 
Reply
#9

Quote:
Originally Posted by JhnzRep
Посмотреть сообщение
You must have deleted
PHP код:
forward LoadUser_data(playerid,name[],value[]); 
put it right above

PHP код:
public LoadUser_data(playerid,name[],value[]); 
Код:
#include <YSI\y_ini>
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_SUCCESS_1 3
#define DIALOG_SUCCESS_2 4
#define PATH "/Users/%s.ini"
#define COL_WHITE "{FFFFFF}"
#define COL_RED "{F81414}"
#define COL_GREEN "{00FF22}"
#define COL_LIGHTBLUE "{00CED1}"
enum pInfo
{
    pPass,
    pCash,
    pAdmin,
    pKills,
    pDeaths,
    Float:pPosX,
    Float:pPosY,
    Float:pPosZ,
    Float:pPosA
}
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
        INI_Int("Password",PlayerInfo[playerid][pPass]);
        INI_Int("Cash",PlayerInfo[playerid][pCash]);
        INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
        INI_Int("Kills",PlayerInfo[playerid][pKills]);
        INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
        INI_Float("X", PlayerInfo[playerid][pPosX]);
        INI_Float("Y", PlayerInfo[playerid][pPosY]);
        INI_Float("Z", PlayerInfo[playerid][pPosZ]);
        INI_Float("A", PlayerInfo[playerid][pPosA]);
        return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
        new INI:File = INI_Open(UserPath(playerid));
        new Float:PosX, Float:PosY, Float:PosZ, Float:PosA;
        GetPlayerPos(playerid, PosX, PosY, PosZ);
        GetPlayerFacingAngle(playerid, PosA);
        INI_SetTag(File,"data");
        INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
        INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
        INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
        INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
        INI_WriteFloat(File,"pPosX",PosX);
        INI_WriteFloat(File,"pPosY",PosY);
        INI_WriteFloat(File,"PosZ",PosZ);
        INI_WriteFloat(File,"PosA",PosA);
        INI_Close(File);
        return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGISTER:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"data");
                INI_WriteInt(File,"Password",udb_hash(inputtext));
                INI_WriteInt(File,"Cash",0);
                INI_WriteInt(File,"Admin",0);
                INI_WriteInt(File,"Kills",0);
                INI_WriteInt(File,"Deaths",0);
                INI_Close(File);

                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
                        }
        }

        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]);
                    SpawnPlayer(playerid);
                    SetPlayerPos(playerid, PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
                    SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPosA]);
                                        ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
                }
                return 1;
            }
        }
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
	new INI:File = INI_Open(UserPath(playerid));
	INI_SetTag(File,"data");
	INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
	INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
	INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
	INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
	INI_Close(File);
	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
	PlayerInfo[killerid][pKills]++;
	PlayerInfo[playerid][pDeaths]++;
	return 1;
}
//
//End
Errors:
Код:
C:\Users\Cody\Desktop\OrbzGaming\SAMP\Server\gamemodes\grandlarc.pwn(39) : error 017: undefined symbol "PlayerInfo"
C:\Users\Cody\Desktop\OrbzGaming\SAMP\Server\gamemodes\grandlarc.pwn(39) : warning 215: expression has no effect
C:\Users\Cody\Desktop\OrbzGaming\SAMP\Server\gamemodes\grandlarc.pwn(39) : error 001: expected token: ";", but found "]"
C:\Users\Cody\Desktop\OrbzGaming\SAMP\Server\gamemodes\grandlarc.pwn(39) : error 029: invalid expression, assumed zero
C:\Users\Cody\Desktop\OrbzGaming\SAMP\Server\gamemodes\grandlarc.pwn(39) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Reply
#10

You have OnPlayerDisconnect twice, and what is line 39?

EDIT:Found the error, when you forwarded LoadUser_data, you deleted something...
PHP код:
enum pInfo
{
    
pPass,
    
pCash,
    
pAdmin,
    
pKills,
    
pDeaths,
    
Float:pPosX,
    
Float:pPosY,
    
Float:pPosZ,
    
Float:pPosA
}
new 
PlayerInfo[MAX_PLAYERS][pInfo];//forgot this
forward LoadUser_data(playerid,name[],value[]); 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)