SA-MP Forums Archive
[Ajuda] Skin - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Skin (/showthread.php?tid=650894)



Skin - BuDweiSeR - 09.03.2018

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");




Re: Skin - GuiKommander - 09.03.2018

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


Re: Skin - BuDweiSeR - 09.03.2018

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



Re: Skin - Locky_ - 09.03.2018

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


Re: Skin - BuDweiSeR - 09.03.2018

O ID estб sendo salva sim.


Re: Skin - Locky_ - 09.03.2018

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


Re: Skin - BuDweiSeR - 09.03.2018

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);
    } 



Re: Skin - Locky_ - 09.03.2018

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.


Re: Skin - Felipealves - 11.03.2018

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.


Re: Skin - Marllun - 11.03.2018

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