[Ajuda] Qual erro nesse code?
#1

O Titulo jб diz.
pawn Код:
public OnPlayerDisconnect(playerid)
{
    new arquivo[40], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, 32);
    format(arquivo, 40, "Contas/%s.ini", name);
    if(DOF2_FileExists(arquivo))
    {
        Player[playerid][Dinheiro] = GetPlayerMoney(playerid);
        DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
        DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
        DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
        DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
        DOF2_SaveFile();
    }
    return 1;
}
Erros:

PHP код:
warning 215expression has no effect
error 017
undefined symbol "Player"
warning 215expression has no effect
error 001
expected token";"but found "]"
error 029invalid expressionassumed zero
fatal error 107
too many error messages on one line 
Jб procurei neste code, mas nгo encontrei o erro.
Reply
#2

Criou a Variavel Player no Enum que vocк fez com as informaзoes do player ?
Reply
#3

Criei fуra
pawn Код:
/////////////////Enumeraзхes/////////////////////
enum Informacoes
{
    Senha,
    Matou,
    Morreu,
    Dinheiro,
}
/////////////////NEWS///////////////////////////
new Player[MAX_PLAYERS][Informacoes];
new Erro[MAX_PLAYERS];
////////////////////////////////////////////////
Reply
#4

pawn Код:
public OnPlayerDisconnect(playerid, reason) {

    new arquivo[40], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, 32);
    format(arquivo, 40, "Contas/%s.ini", name);
    if(DOF2_FileExists(arquivo)) {
   
        DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
        DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
        DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
        DOF2_SetInt(arquivo, "Dinheiro", GetPlayerMoney(playerid));
        DOF2_SaveFile();
    }
    return 1;
}
Reply
#5

Quote:
Originally Posted by iCasTiel
Посмотреть сообщение
pawn Код:
public OnPlayerDisconnect(playerid, reason) {

    new arquivo[40], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, 32);
    format(arquivo, 40, "Contas/%s.ini", name);
    if(DOF2_FileExists(arquivo)) {
   
        DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
        DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
        DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
        DOF2_SetInt(arquivo, "Dinheiro", GetPlayerMoney(playerid));
        DOF2_SaveFile();
    }
    return 1;
}
Erro tambкm, os mesmos, sу que agora em :
pawn Код:
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
Reply
#6

pawn Код:
enum Informacoes {

    Senha,
    Matou,
    Morreu,
    Dinheiro
};
/////////////////NEWS///////////////////////////
new Player[MAX_PLAYERS][Informacoes];
new Erro[MAX_PLAYERS];
Reply
#7

Mesmos erros..
Reply
#8

Quote:
Originally Posted by Diksplay
Посмотреть сообщение
Mesmos erros..
Bom, testei o cуdigo aqui e o mesmo compilou, certifique-se de que nгo criou o enumerador e a variavel 'Player' dentro de nenhuma callback.

Cуdigo usado:

pawn Код:
#include a_samp
#include DOF2

enum Informacoes {

    Senha[24],
    Matou,
    Morreu,
    Dinheiro
};
/////////////////NEWS///////////////////////////
new Player[MAX_PLAYERS][Informacoes];

main(){}


public OnGameModeInit() {

    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}

public OnGameModeExit() {

    DOF2_Exit();
    return 1;
}

public OnPlayerDisconnect(playerid, reason) {

    new arquivo[40], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(arquivo, 40, "Contas/%s.ini", name);
    if(DOF2_FileExists(arquivo)) {

        DOF2_SetString(arquivo, "Senha", Player[playerid][Senha]);
        DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
        DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
        DOF2_SetInt(arquivo, "Dinheiro", GetPlayerMoney(playerid));
        DOF2_SaveFile();
    }
    return 1;
}
Reply
#9

Fuck, foi й que eu coloquei a variavel, no lugar errado, enfim
agora tб dando outro erro, mas nгo sei como resolver. pode me ajudar?
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new arquivo[40], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, 32);
    format(arquivo, 40, "Contas/%s.ini", name);
    if(dialogid == DIALOG_REGISTRO)
    {
        if(!strval(inputtext))
        {
            ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
            return 1;
        }
        if(!response)
        {
            Kick(playerid);
            return 1;
        }
        else
        {
            Player[playerid][Senha] = strval(inputtext);
            DOF2_CreateFile(arquivo);

            DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
            DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
            DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
            DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
            DOF2_SaveFile();
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
        }
    }
    if(dialogid == DIALOG_LOGAR)
    {
        if(!strval(inputtext))
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
            return 1;
        }
        if(!response)
        { //Caso ele clicar em cancelar, irб retornar ao playerid KICK
            Kick(playerid);
            return 1;
        }
        else
        {
            Player[playerid][Senha] = DOF2_GetInt(arquivo, "Senha");
            if(strval(inputtext) == Player[playerid][Senha])
            {
                Player[playerid][Matou] = DOF2_GetInt(arquivo, "Matou");
                Player[playerid][Skin] = DOF2_GetInt(arquivo, "Skin");
                Player[playerid][Morreu] = DOF2_GetInt(arquivo, "Morreu");
                Player[playerid][Dinheiro] = DOF2_GetInt(arquivo, "Dinheiro");
                GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
                SetPlayerSkin(playerid, Player[playerid][Skin]);
                SpawnPlayer(playerid);
            }
            else
            {
                ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
                Erro[playerid]++;
                if(Erro[playerid] == 5)
                {
                    SendClientMessage(playerid, -1, "[SISTEMA] Sua conta estб banida por errar 5 vezes a sua senha, contacte um administrador para retirar seu banimento!");
                    Ban(playerid);
                    return 1;
                }
            }
        }
    }
    return 1;
}
ERROS:
PHP код:
warning 209: function "OnDialogResponse" should return a value
error 010
invalid function or declaration 
mas no code tem um retorno, isso que nгo estou entendendo.
Reply
#10

muda
Код:
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
para
Код:
DOF2_SetString(arquivo, "Senha", Player[playerid][Senha]);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)