Portal SAMP
[Pedido] Ajudar skin fixo em dini - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Pedido] Ajudar skin fixo em dini (/showthread.php?tid=4953)



Ajudar skin fixo em dini - André Santos - 14/01/2025

Eu tenho um sistema simples de registro e login todas vez que entro no servidor depois de logado eu tenho que escolher as eskin disponíveis que fica na public onplayerrequestclass , até aí tudo bem o q eu queria saber e como eu faço para quando o player logar ele possa escolher na public onplayerrequestclass as skins e quando ele entrar novamente no servidor já que está logado ele spawnar com a última skin que ele escolheu e não aparecer mais as escolhas de skin para ele na public onplayerrequestclass  já tentei de tudo e não dá certo se não for pedir muito que seja salvo em dini , pode ser só um exemplo pra mim adaptar na minha Gamemode pois estou criando uma Gamemode igual ao axwell World aqual sou fan e falta isso pois o resto já fiz


RE: Ajudar skin fixo em dini - xbruno1000x - 14/01/2025

Ficaria uma coisa parecida com isso:

Código:
#define PLAYER_FILE "Players/%s.ini"

public OnPlayerConnect(playerid)
{
    new playerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playerName, sizeof(playerName));
   
    new filePath[128];
    format(filePath, sizeof(filePath), PLAYER_FILE, playerName);
   
    if (dini_Exists(filePath))
    {
        new savedSkin = dini_Int(filePath, "Skin");
        SetPlayerSkin(playerid, savedSkin);
        SpawnPlayer(playerid);             
    } else {
        SendClientMessage(playerid, -1, "Escolha sua skin!");
    }
    return 1;
}

public OnPlayerSpawn(playerid)
{
    new playerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playerName, sizeof(playerName));
   
    new filePath[128];
    format(filePath, sizeof(filePath), PLAYER_FILE, playerName);
   
    new playerSkin = GetPlayerSkin(playerid);
    dini_IntSet(filePath, "Skin", playerSkin);
    return 1;
}

Você carregaria ou encaminharia para a seleção de skin na OnPlayerConnect. Na OnPlayerSpawn, após já ter escolhido a skin, salvaria a skin.