[Ajuda] Pvars + Mysql
#1

estou tentando tirar pvars para usar PlayerInfo[playerid][Variavel] como q devo fazer?

pawn Код:
SetPVarInt(playerid, "PID", cache_get_row_int(0, 0));
        SetPVarString(playerid, "PUsername", Nome(playerid));
        PlayerInfo[playerid][pSenha] = TempUsrPass;
        SetPVarInt(playerid, "PMoney", cache_get_row_int(0, 3));
        SetPVarInt(playerid, "PScore", cache_get_row_int(0, 4));
        SetPVarFloat(playerid, "PposX", cache_get_row_float(0, 5));
        SetPVarFloat(playerid, "PposY", cache_get_row_float(0, 6));
        SetPVarFloat(playerid, "PposZ", cache_get_row_float(0, 7));
Reply
#2

Deverб ficar alguma coisa por exemplo[primeira linha]:
pawn Код:
PlayerInfo[playerid][PID] = cache_get_row_int(0, 0);
Reply
#3

eu fiz assim mais tem partes que nгo funciona ou nao carrega :q
Reply
#4

up....
Reply
#5

Talvez te ajude a ter uma noзгo

Код:
// SALVAR PLAYER AO SAIR DO SERVER
public OnPlayerDisconnect(playerid, reason)
{
    if(Logged[playerid] == 1)
    {
        new Float:x, Float:y, Float:z, Float:a;
        GetPlayerPos(playerid, x, y, z);
        GetPlayerFacingAngle(playerid, a);
        PlayerInfo[playerid][pPosX] = x;
        PlayerInfo[playerid][pPosY] = y;
        PlayerInfo[playerid][pPosZ] = z;
        PlayerInfo[playerid][pPosA] = a;
        new score = GetPlayerScore(playerid);
        new money = GetPlayerMoney(playerid);
        new query[300], pname[24];
        GetPlayerName(playerid, pname, 24);
        format(query, sizeof(query), "UPDATE playerdata SET admin=%d, score=%d, money=%d, level=%d, vip=%d, kma=%d, rank=%d, kills=%d, deaths=%d, muted=%d, jailed=%d, frozen=%d, mutedtimes=%d, jailedtimes=%d, frozentimes=%d, banned=%d, bannedby='%s', logins=%d, posx=%f, posy=%f, posz=%f, posa=%f  WHERE user='%s'",
		PlayerInfo[playerid][pAdmin],
		score,
		money,
		PlayerInfo[playerid][pLevel],
		PlayerInfo[playerid][pVIP],
		PlayerInfo[playerid][pKMA],
		PlayerInfo[playerid][pRank],
		PlayerInfo[playerid][pKills],
		PlayerInfo[playerid][pDeaths],
		PlayerInfo[playerid][pMuted],
		PlayerInfo[playerid][pJailed],
		PlayerInfo[playerid][pFrozen],
		PlayerInfo[playerid][pMutedTimes],
		PlayerInfo[playerid][pJailedTimes],
		PlayerInfo[playerid][pFrozenTimes],
		PlayerInfo[playerid][pBanned],
		PlayerInfo[playerid][pBannedBy],
		PlayerInfo[playerid][pLogins],
  		PlayerInfo[playerid][pPosX],
        PlayerInfo[playerid][pPosY],
        PlayerInfo[playerid][pPosZ],
        PlayerInfo[playerid][pPosA],
		pname);
        mysql_query(query);
    }
    return 1;
}


//CARREGAR AO CONECTAR NO SERVER
stock MySQL_Login(playerid)
{
    new query[300], pname[24], savingstring[20];
    GetPlayerName(playerid, pname, 24);
    format(query, sizeof(query), "SELECT admin, title, score, money, level, vip, novip, kma, rank, kills, deaths, muted, jailed, frozen, mutedtimes, jailedtimes, frozentimes, banned, bannedby, logins, posx, posy, posz, posa FROM playerdata WHERE user = '%s'", pname);
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row_format(query,"|"))
    {
        mysql_fetch_field_row(savingstring, "admin"); PlayerInfo[playerid][pAdmin] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "title"); PlayerInfo[playerid][pTitle] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "score"); SetPlayerScore(playerid, strval(savingstring));
        mysql_fetch_field_row(savingstring, "money"); MoneyGiven[playerid] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "level"); PlayerInfo[playerid][pLevel] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "vip"); PlayerInfo[playerid][pVIP] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "novip"); PlayerInfo[playerid][pNVIP] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "kma"); PlayerInfo[playerid][pKMA] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "rank"); PlayerInfo[playerid][pRank] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "kills"); PlayerInfo[playerid][pKills] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "deaths"); PlayerInfo[playerid][pDeaths] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "muted"); PlayerInfo[playerid][pMuted] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "jailed"); PlayerInfo[playerid][pJailed] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "frozen"); PlayerInfo[playerid][pFrozen] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "mutedtimes"); PlayerInfo[playerid][pMutedTimes] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "jailedtimes"); PlayerInfo[playerid][pJailedTimes] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "frozentimes"); PlayerInfo[playerid][pFrozenTimes] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "banned"); PlayerInfo[playerid][pBanned] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "bannedby"); PlayerInfo[playerid][pBannedBy] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "logins"); PlayerInfo[playerid][pLogins] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "posx"); PlayerInfo[playerid][pPosX] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "posy"); PlayerInfo[playerid][pPosY] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "posz"); PlayerInfo[playerid][pPosZ] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "posa"); PlayerInfo[playerid][pPosA] = strval(savingstring);
    }
    mysql_free_result();
    return 1;
}
Reply
#6

Quote:
Originally Posted by Caio_Freeze
Посмотреть сообщение
eu fiz assim mais tem partes que nгo funciona ou nao carrega :q
Код:
        SetPVarString(playerid, "PUsername", Nome(playerid));
        PlayerInfo[playerid][pSenha] = TempUsrPass;
Quando estas a manipular arrays de chars, tens de usar o strcat.
Exemplo:
pawn Код:
strcat(PlayerInfo[playerid][pUsername], Nome(playerid));
strcat(PlayerInfo[playerid][pSenha], TempUsrPass);
No sнtio onde dбs "reset" a estas variбveis,elas tкm de ser tratadas deste tipo:
pawn Код:
PlayerInfo[<index>][pUsername][0] = '\0';
PlayerInfo[<index>][pSenha][0] = '\0';
Isto assim irб fazer com que o contйudo do index 0 para a frente nгo seja lido, e quando fores usar o STRCAT, ele irб ser escrito por cima.*
Mas atenзгo, isto й sу para as arrays de chars "A.K.A" strings.

*Se nгo estou em erro.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)