Wrong spawn position
#1

I'm making a login & register MySQL system, and when the player register, it always spawn wrong although I set the player's spawn position correctly.
PHP код:
public OnPlayerConnect(playerid){
    
Character[playerid][Level] = 1;
    
Character[playerid][Money] = 10000;
    
Character[playerid][Health] = 100;
    
Character[playerid][Armour] = 0;
    
Character[playerid][Admin] = 0;
    
Character[playerid][Helper] = 0;
    
Character[playerid][SecretKey] = EOS// End Of String, clear this string
    
Character[playerid][posX] = 1685.7357// This is player spawn position
    
Character[playerid][posY] = 2333.7434;
    
Character[playerid][posZ] = -2.6797;
    
Character[playerid][posA] = 1.1255;
    
loginAttempt[playerid] = 0;
    
SetPVarInt(playerid"FirstConnection"1);
    return 
1;
}
public 
OnPlayerRequestSpawn(playerid){ // When the player click 'spawn' button, I will check their account.
    
CreateCharacterTextDraws(playerid);
    
CheckAccountConnection(playerid);
    return 
0;
}
CheckAccountConnection(playerid){
    new 
pName[MAX_PLAYER_NAME], query[512];
    
GetPlayerName(playeridpNamesizeof(pName));
    
mysql_format(MHandlequerysizeof(query), "SELECT * FROM `character` WHERE `Username` = '%e' LIMIT 1"pName);
    
mysql_tquery(MHandlequery"OnCharacterCheck""i"playerid);
    return 
1;
}
forward OnCharacterCheck(playerid);
public 
OnCharacterCheck(playerid){
    new 
rowsszFieldName[MAX_PLAYER_NAME];
    
cache_get_row_count(rows); 
    for(new 
row 0row rowsrow++){
        
cache_get_value_name(row"Username"szFieldName);
        if(!
strcmp(szFieldNameGetPlayerNameEx(playerid))){
            
cache_get_value_name(row"Password"Character[playerid][Password]);
            
cache_get_value_name(row"Username"Character[playerid][Username]);
            
System_Scm(playeridCOLOR_YELLOW"LOGIN""This account has been registered.");
            
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Login""Fill your password""Ok""Cancel");
            return 
1;
        }
    }
    
System_Scm(playeridCOLOR_YELLOW"REGISTER""You can register.");
    
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_PASSWORD"REGISTRATION""Fill your password""Ok""Cancel");
    return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[]){
    switch(
dialogid){
        case 
DIALOG_REGISTER:{
            if(!
responseKick(playerid);
            if(
strlen(inputtext) < || strlen(inputtext) > 129) return System_Scm(playeridCOLOR_RED"ERROR""Password must be at least 5 words."), ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_PASSWORD"Register""Fill your password""Ok""Cancel");
            new 
query[512];
            
TogglePlayerSpectating(playeridtrue);
            
WP_Hash(Character[playerid][Password], 129inputtext);
            
mysql_format(MHandlequerysizeof(query), "INSERT INTO `character` (`Username`, `Password`, `Level`, `Money`, `IP`, `posX`, `posY`, `posZ`, `posA`, `Health`, `Armour`, `Admin`, `Helper`, `SecretKey`, `Skin`, `Age`) VALUES ('%e', SHA1('%e'), 1, 10000, '%e', %f, %f, %f, %f, 100.0, 0.0, %d, %d, '', %d, %d)",
            
GetPlayerNameEx(playerid), Character[playerid][Password], Character[playerid][IP], Character[playerid][posX], Character[playerid][posY], Character[playerid][posZ], Character[playerid][posA], Character[playerid][Admin], Character[playerid][Helper], Character[playerid][Skin], Character[playerid][Age]);
            
mysql_tquery(MHandlequery"OnCharacterRegister""i"playerid);
        }
    return 
1;
}
forward OnCharacterRegister(playerid);
public 
OnCharacterRegister(playerid){
    
GetPlayerName(playeridCharacter[playerid][Username], MAX_PLAYER_NAME);
    
SetSpawnInfo(playerid0Character[playerid][Skin], Character[playerid][posX], Character[playerid][posY], Character[playerid][posZ], Character[playerid][posA], 000000);
    
SpawnPlayer(playerid); // I will spawn the player with the above positions and then go to the public OnPlayerSpawn.
    
    
SaveCharacterInfo(playerid);
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    
SetPlayerSkin(playeridCharacter[playerid][Skin]);
    
SetPlayerMoney(playeridCharacter[playerid][Money]);
    
SetPlayerScore(playeridCharacter[playerid][Level]);
    
//SetPlayerPos(playerid, Character[playerid][posX], Character[playerid][posY], Character[playerid][posZ]);
    // SetPlayerFacingAngle(playerid, Character[playerid][posA]);
    
SetPlayerHealth(playeridCharacter[playerid][Health]);
    
SetPlayerArmour(playeridCharacter[playerid][Armour]);
    
GetPlayerIp(playeridCharacter[playerid][IP], 16);
    
CreateCharacterNameTag(playerid); 
    
SetPlayerColor(playeridCOLOR_WHITE);
    
TogglePlayerClock(playerid,1);
    return 
1;

Please help me.
Reply


Messages In This Thread
Wrong spawn position - by DuyDang2412 - 03.03.2017, 04:31
Re: Wrong spawn position - by JessThompson - 03.03.2017, 05:41
Re: Wrong spawn position - by DuyDang2412 - 03.03.2017, 09:20
Re: Wrong spawn position - by DuyDang2412 - 03.03.2017, 09:36

Forum Jump:


Users browsing this thread: 1 Guest(s)