[Ajuda] Sistema de registro
#1

Galera, fiz esse GM:

pawn Код:
#include <a_samp>
#include <dini>

#define DialogTimes                                                              100
#define CONTAS-TDM                                                               "Contas TDM/%s"

enum pDados
{
    pNome,
    pDinheiro,
    pTime,
    pAdmin,
    pMatou,
    pMorreu
}
new ArrayDados[MAX_PLAYERS][pDados];

SalvarPlayer(playerid)
{
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), CONTAS-TDM, Nome);
    dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
    dini_IntSet(String,"Time", ArrayDados[playerid][pTime]);
    dini_IntSet(String,"Matou", ArrayDados[playerid][pMatou]);
    dini_IntSet(String,"Morreu", ArrayDados[playerid][pMorreu]);
    return 1;
}

main()
{
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
}


public OnGameModeInit()
{
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnPlayerConnect(playerid)
{
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    SalvarPlayer(playerid);
    return 1;
}

public OnPlayerSpawn(playerid)
{
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/time", cmdtext, true, 10) == 0)
    {
        new str[200] = "Escolha seu time";
        ShowPlayerDialog(playerid, DialogTimes, DIALOG_STYLE_MSGBOX, "Times", str, "Azul", "Vermelho");
        return 1;
    }
    return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DialogTimes)
    {
        if(response)
        {
            SendClientMessage(playerid, -1, "Seu time e Azul");
            ArrayDados[playerid][pTime] = 1;
        }
        else
        {
            SendClientMessage(playerid, -1, "Vermelho");
            ArrayDados[playerid][pTime] = 2;
        }
    }
    return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}
compilou mas quando vou na pasta scripfiles, Contas TDM nao tem nada!!
Reply
#2

falta muita coisa para ser um sistema de registro !
Reply
#3

Quote:
Originally Posted by mau.tito
Посмотреть сообщение
falta muita coisa para ser um sistema de registro !
vish cara, entao da uma forca ae
Reply
#4

Vocк precisa adicionar uma extensгo para o arquivo, e tambйm deve criar o arquivo antes de escrever algo dentro dele.

Troque:

pawn Код:
#define CONTAS-TDM "Contas TDM/%s.extensгo"
Pode ser uma extensгo que dк para ler com um editor de textos ou IDE.

E tambйm adicione o dini_create para criar o arquivo do jogador antes de escrever algo nele:

pawn Код:
format(String, sizeof(String), CONTAS-TDM, Nome);

if(!dini_Exists(String))
    dini_Create(String);

dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
dini_IntSet(String,"Time", ArrayDados[playerid][pTime]);
dini_IntSet(String,"Matou", ArrayDados[playerid][pMatou]);
dini_IntSet(String,"Morreu", ArrayDados[playerid][pMorreu]);
Aн й sу chamar essa function quando um jogador se desconectar/registrar.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)