[Ajuda] Skin
#1

Galera!

Criei um comando de setar skin e salvar numa tabela MySQL, Mais ao Player logar nгo logar com a skin setada alguйm poderia ajudar?

PHP код:
CMD:setskin(playeridparams[])
{
    if(
Player[playerid][pAdmin] | Player[playerid][pGM] < 2)
        return 
sendErrorMessage(playeridMSG_CMD_WITHOUT_PERMISSION);
    static 
skinidstring[78], str[67];
    if(
sscanf(params"dd"idskin))
        return 
sendErrorMessage(playerid"/setskin [ID] [ID - SKIN]");
    if(
id == INVALID_PLAYER_ID)
        return 
sendErrorMessage(playeridMSG_PLAYER_OFF);
    
SetPlayerSkin(idskin);
    
Player[id][pSkin] = skin;
    
format(stringsizeof(string),"| ADMIN | O(A) Staffer {FFFFFF}%s{1874CD} setou а skin ID: %d em vocк."Player[playerid][pName], skin);
    
SendClientMessage(idCOR_ADMINString);
    
format(strsizeof(str),"| INFO | Vocк setou skin ID: %d no player %s"skinPlayer[id][pName]);
    
SendClientMessage(playeridCOR_INFOstr);
    return 
1;
}
loadPlayer(playerid)
{
    
orm_addvar_int(ormidPlayer[playerid][pSkin], "Skin");

Reply
#2

Vocк colocou essa funзгo em OnPlayerSpawn?
Nгo adianta vocк colocar em OnPlayerConnect. A Skin Sу serб setada em OnPlayerSpawn.
Reply
#3

OnPlayerConnect:
PHP код:
SetSpawnInfo(playerid0Player[playerid][pSkin], 1958.37831343.157215.3746269.1425000000); 
Reply
#4

Vocк verificou se a skin realmente estб sendo salva no banco de dados?
Reply
#5

O ID estб sendo salva sim.
Reply
#6

Como vocк estб fazendo o salvamento e o carregamento? As vezes pode estar salvando, mas nгo realizando o carregamento adequado.

Pelo o que vi vocк estб utilizando o sistema de orms do MySQL.

Lembre-se:
Para carregar uma conta => https://sampwiki.blast.hk/wiki/MySQL/R33#orm_select
Para atualizar uma conta => https://sampwiki.blast.hk/wiki/MySQL/R33#orm_update
Para criar uma conta => https://sampwiki.blast.hk/wiki/MySQL/R33#orm_insert
Reply
#7

PHP код:
CMD:setskin(playeridparams[]) 

    if(
Player[playerid][pAdmin] | Player[playerid][pGM] < 2
        return 
sendErrorMessage(playeridMSG_CMD_WITHOUT_PERMISSION); 
    static 
skinidstring[78], str[67]; 
    if(
sscanf(params"dd"idskin)) 
        return 
sendErrorMessage(playerid"/setskin [ID] [ID - SKIN]"); 
    if(
id == INVALID_PLAYER_ID
        return 
sendErrorMessage(playeridMSG_PLAYER_OFF); 
    
SetPlayerSkin(idskin); 
    
Player[id][pSkin] = skin
    
format(stringsizeof(string),"| ADMIN | O(A) Staffer {FFFFFF}%s{1874CD} setou а skin ID: %d em vocк."Player[playerid][pName], skin); 
    
SendClientMessage(idCOR_ADMINString); 
    
format(strsizeof(str),"| INFO | Vocк setou skin ID: %d no player %s"skinPlayer[id][pName]); 
    
SendClientMessage(playeridCOR_INFOstr); 
    return 
1

loadPlayer(playerid

    
orm_addvar_int(ormidPlayer[playerid][pSkin], "Skin"); 
}  
public 
OnPlayerConnect
{
    if(!
IsPlayerNPC(playerid))
    {
        
clearPlayerVars(playerid);
        
loadPlayer(playerid);
        
SetSpawnInfo(playerid0Player[playerid][pSkin], 1958.37831343.157215.3746269.1425000000);
        
Player[playerid][pTimerPlayer] = SetTimerEx("OnPlayerUpdateEx"1000true"i"playerid);
    } 
Reply
#8

Precisa melhorar bastante coisa nisso.

PHP код:
// Sua variavel
enum pData
{
    
ORM:OrmID,
    
// outros dados
    
pNome[24],
    
pTimerPlayer,
    
pSkin
}
new 
Player[MAX_PLAYERS][pData];
// Sua funзгo
loadPlayer(playerid)  
{
    new 
ORM:ormid Player[playerid][OrmID] = orm_create("suatabela"conexao_mysql);
    
// Outros que tiverem vocк pхe tambйm
    
orm_addvar_int(ormidPlayer[playerid][pSkin], "Skin"); 
    
orm_addvar_string(ormidPlayer[playerid][pNome], 24"Nome"); // nickname
    
orm_setkey(ormid24"Nome");
    
orm_select(ormid"OnPlayerLogin""d"playerid); 
}
// Salvamento de conta
savePlayer(playerid) return orm_update(Player[playerid][OrmID]);
// Quando conectar
public OnPlayerConnect(playerid)
{
    
GetPlayerName(playeridPlayer[playerid][pNome], 24);
    
loadPlayer(playerid);
    
Player[playerid][pTimerPlayer] = SetTimerEx("OnPlayerUpdateEx"1000true"i"playerid);
}
// Parвmetros para recebimento de informaзхes / login
forward OnPlayerLogin(playerid);
public 
OnPlayerLogin(playerid
{
    if(
orm_errno(PlayerInfo[playerid][OrmID]) == ERROR_OK) { // jogador tem registro no banco de dados
        
SetSpawnInfo(playerid0Player[playerid][pSkin], 1958.37831343.157215.3746269.1425000000); 
        
SendClientMessage(playerid0x00FF00FF"Vocк estб registrado!");
    } else { 
// Jogador nгo possui registro no banco de dados
        
SendClientMessage(playerid0xFFFF00FF"Vocк nгo estб registrado!");
        
SetSpawnInfo(playerid0random(311), 1958.37831343.157215.3746269.1425000000);
    }
    return 
1;

Use como exemplo isto.
Reply
#9

SetSpawnInfo sу na hora que o player logar, ai se a skin mesmo assim nгo for sentada, use SetPlayerSkin(playerid, Player[playerid][pSkin]); no OnPlayerSpawn.
Reply
#10

Quote:
Originally Posted by Felipealves
Посмотреть сообщение
SetSpawnInfo sу na hora que o player logar, ai se a skin mesmo assim nгo for sentada, use SetPlayerSkin(playerid, Player[playerid][pSkin]); no OnPlayerSpawn.
SetSpawnInfo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)