Ajuda Dini Faz Gm Buga
#1

to com esse warning
esta fazendo o meu game mode bugar.

Код:
C:\Documents and Settings\mauricio\Desktop\servermaurilio\pawno\include\Dini.inc(239) : warning 219: local variable "string" shadows a variable at a preceding level
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Warning.
Reply
#2

mande as linhas completinhas, mais creio que o problema seja porque nгo definiu uma variavel ao String e.e
Reply
#3

aki comesei o gm do zero ai ele ta bugado vo posta ele inteiro
pawn Код:
#include <a_samp>
#include <Dini>

#define DialogRegistro 123
#define DialogLogin    124
#define DialogSaidaA   125
#define DialogSaidaB   126

#define MAXIMO_TLOGAR 3
#define CASE_SENSITIVE false
#define VALOR_MAXIMO_VIDA 100.0
#define VALOR_MAXIMO_COLETE 100.0
#define ContasPlayers "/ContasPlayers/%s.ini"

new arquivo[45];
new string[200];
new nome[MAX_PLAYER_NAME];
new TentativasDeLogar[MAX_PLAYERS];
new bool:PrimeiroSpawn[MAX_PLAYERS];
new TotalDeVezesMorreu[MAX_PLAYERS];
new TotalDeVezesMatou[MAX_PLAYERS];

stock SalvarDadosPlayer(playerid)
{
    static Float:PosX, Float:PosY, Float:PosZ, Float:Vida, Float:Colete;
    GetPlayerHealth(playerid, Vida);
    GetPlayerArmour(playerid, Colete);
    GetPlayerPos(playerid, PosX, PosY, PosZ);
    GetPlayerName(playerid, nome, sizeof(nome));
    format(arquivo, sizeof(arquivo), ContasPlayers, nome);
    if(!dini_Exists(arquivo)) dini_Create(arquivo);

    dini_IntSet(arquivo, "Dinheiro", GetPlayerMoney(playerid));
    dini_IntSet(arquivo, "Level", GetPlayerScore(playerid));
    dini_IntSet(arquivo, "LevelProcurado", GetPlayerWantedLevel(playerid));
    dini_IntSet(arquivo, "SkinAtual", GetPlayerSkin(playerid));
    dini_FloatSet(arquivo, "Vida", Vida);
    dini_FloatSet(arquivo, "Colete", Colete);
    dini_IntSet(arquivo, "Interior", GetPlayerInterior(playerid));
    dini_IntSet(arquivo, "VirtualWorld", GetPlayerVirtualWorld(playerid));
    dini_IntSet(arquivo, "TotalDeVezesMorreu", TotalDeVezesMorreu[playerid]);
    dini_IntSet(arquivo, "TotalDeVezesMatou", TotalDeVezesMatou[playerid]);
    return 0x1;
}

stock CarregarDadosPlayer(playerid)
{
    GetPlayerName(playerid, nome, sizeof(nome));
    format(arquivo, sizeof(arquivo), ContasPlayers, nome);
    if(!dini_Exists(arquivo)) return 0x1;

    GivePlayerMoney(playerid, dini_Int(arquivo, "Dinheiro"));
    SetPlayerScore(playerid, dini_Int(arquivo, "Level"));
    SetPlayerWantedLevel(playerid, dini_Int(arquivo, "LevelProcurado"));
    TotalDeVezesMorreu[playerid] = dini_Int(arquivo, "TotalDeVezesMorreu");
    TotalDeVezesMatou[playerid] = dini_Int(arquivo, "TotalDeVezesMatou");
    return 0x1;
}

main()
{
    print("\n----------------------------------");
    print(" Carregando Gm SMT");
    print("----------------------------------\n");
}

public OnGameModeInit()
{
//==========================nome gm =======================
    SetGameModeText("SMT v1.5");
    SendRconCommand("hostname [Elite Samp] Brasil Player Of Lorencia [0.3c]");
    SendRconCommand("map Los Santos");
    SendRconCommand("weburl brasilplayerlorencia.forumeiros.com");
    AddPlayerClass(26,-15.0451,-75.4585,1003.5542,90.0725,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 OnPlayerConnect(playerid)
{
    PrimeiroSpawn[playerid] = true;
    TentativasDeLogar[playerid] = 0;
    GetPlayerName(playerid, nome, sizeof(nome));
    format(arquivo, sizeof(arquivo), ContasPlayers, nome);
    if(!dini_Exists(arquivo))
    {
        format(string, sizeof(string), "{FF0000}..:: [SMT]Regitro em dialog ::..\n{FFFFFF}Olб, vocк ainda nгo possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
        ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[SMT] - Registro", string, "Registrar", "Sair");
    }
    if(dini_Exists(arquivo))
    {
        format(string, sizeof(string), "{FF0000}..:: [SMT]Regitro em dialog ::..\n{FFFFFF}Olб, vocк jб possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
        ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[SMT] - Login", string, "Login", "Sair");
    }
    return 1;
}

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


public OnPlayerSpawn(playerid)
{
    if(PrimeiroSpawn[playerid] == true)
    {
        PrimeiroSpawn[playerid] = false;
        SetPlayerHealth(playerid, VALOR_MAXIMO_VIDA);
        GetPlayerName(playerid, nome, sizeof(nome));
        format(arquivo, sizeof(arquivo), ContasPlayers, nome);
        SetPlayerSkin(playerid, dini_Int(arquivo, "SkinAtual"));
        if(dini_Float(arquivo, "Vida") == 0) return 0x1;
        SetPlayerHealth(playerid, dini_Float(arquivo, "Vida"));
        SetPlayerArmour(playerid, dini_Float(arquivo, "Colete"));
    }
    return 1;
}


public OnPlayerDeath(playerid, killerid, reason)
{
    TotalDeVezesMorreu[playerid] ++;
    TotalDeVezesMatou[killerid] ++;
    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("/mycommand", cmdtext, true, 10) == 0)
    {
        // Do something here
        return 1;
    }
    return 0;
}

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 OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

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

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

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

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

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DialogRegistro)
    {
        if(!response) ShowPlayerDialog(playerid, DialogSaidaA, DIALOG_STYLE_MSGBOX, "{FFFFFF}[SMT]Confirmar saida", "{FF0000}..:: [FLB]Falcon's Login Box ::..\n{FFFFFF}Vocк ainda nгo estб registrado.\n\nTem certeza que deseja sair ?", "Sair", "Voltar");
        if(response)
        {
            if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
            {
                GetPlayerName(playerid, nome, sizeof(nome));
                format(string, sizeof(string), "{FF0000}..:: [SMT]Regitro em dialog ::..\n{FFFFFF}Olб, vocк ainda nгo possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
                return ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[SMT] - Registro", string, "Registrar", "Sair");
            }
            GetPlayerName(playerid, nome, sizeof(nome));
            format(arquivo, sizeof(arquivo), ContasPlayers, nome);
            dini_Create(arquivo);
            dini_Set(arquivo, "Senha", inputtext);
            dini_IntSet(arquivo, "Dinheiro", 0);
            dini_IntSet(arquivo, "Level", 0);
            dini_IntSet(arquivo, "LevelProcurado", 0);
            dini_IntSet(arquivo, "SkinAtual", 0);
            dini_FloatSet(arquivo, "Vida", VALOR_MAXIMO_VIDA);
            dini_FloatSet(arquivo, "Colete", VALOR_MAXIMO_COLETE);
            dini_IntSet(arquivo, "TotalDeVezesMorreu", 0);
            dini_IntSet(arquivo, "TotalDeVezesMatou", 0);
            SpawnPlayer(playerid);
            SendClientMessage(playerid, 0xFFFFFFAA, "[SMT]Obrigado por registrar-se...");
        }
    }

    if(dialogid == DialogLogin)
    {
        if(!response) ShowPlayerDialog(playerid, DialogSaidaB, DIALOG_STYLE_MSGBOX, "{FFFFFF}[SMT]Confirmar saida", "{FF0000}..:: [FLB]Falcon's Login Box ::..\n{FFFFFF}Vocк ainda nгo estб logado.\n\nTem certeza que deseja sair ?", "Sair", "Voltar");
        if(response)
        {
            if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
            {
                GetPlayerName(playerid, nome, sizeof(nome));
                format(string, sizeof(string), "{FF0000}..:: [SMT]Regitro em dialog ::..\n{FFFFFF}Olб, vocк jб possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
                return ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[SMT] - Login", string, "Login", "Sair");
            }
            GetPlayerName(playerid, nome, sizeof(nome));
            format(arquivo, sizeof(arquivo), ContasPlayers, nome);
            if(!strcmp(inputtext, dini_Get(arquivo, "Senha"), CASE_SENSITIVE))
            {
                CarregarDadosPlayer(playerid);
                SpawnPlayer(playerid);
            }
            else
            {
                TentativasDeLogar[playerid] ++;
                if(TentativasDeLogar[playerid] <= MAXIMO_TLOGAR)
                {
                    GetPlayerName(playerid, nome, sizeof(nome));
                    format(string, sizeof(string), "{FF0000}..:: [SMT]Regitro em dialog ::..\n{FFFFFF}Olб, vocк ainda nгo possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
                    ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[SMT] - Registro", string, "Registrar", "Sair");
                    format(string, sizeof(string), "Senha incorreta !!  || %d Tentativa(s) de %d", TentativasDeLogar[playerid], MAXIMO_TLOGAR);
                    SendClientMessage(playerid, 0xFF0000AA, string);
                }
                if(TentativasDeLogar[playerid] > MAXIMO_TLOGAR)
                {
                    SendClientMessage(playerid, 0xFF0000AA, "Vocк excedeu o limite mбximo de tentativas de logar...");
                    SendClientMessage(playerid, 0xFF0000AA, "Por questхes de seguranзa vocк foi kickado !!");
                    Kick(playerid);
                }
            }
        }
    }

    if(dialogid == DialogSaidaA)
    {
        if(response)
        {
            SendClientMessage(playerid, 0xFFFFFFAA, "Vocк decidiu sair sem se registrar...");
            Kick(playerid);
        }
        else
        {
            GetPlayerName(playerid, nome, sizeof(nome));
            format(string, sizeof(string), "{FF0000}..:: [SMT]Regitro em dialog ::..\n{FFFFFF}Olб, vocк ainda nгo possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
            ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[SMT] - Registro", string, "Registrar", "Sair");
        }
    }

    if(dialogid == DialogSaidaB)
    {
        if(response)
        {
            SendClientMessage(playerid, 0xFFFFFFAA, "Vocк decidiu sair sem se logar...");
            Kick(playerid);
        }
        else
        {
            GetPlayerName(playerid, nome, sizeof(nome));
            format(string, sizeof(string), "{FF0000}..:: [SMT]Regitro em dialog ::..\n{FFFFFF}Olб, vocк jб possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
            ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[SMT] - Login", string, "Login", "Sair");
        }
    }
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}
Reply
#4

troque new string[200]; por new string[256];
Reply
#5

Nгo --' quer dizer que jah existe alguma new string , e ta no seu GM
Reply
#6

Trokei Mas continua a msm coisa
Reply
#7

Olha o que falei acima, se puder troca o nome de sua string pra stryng ( Nгo pra stryng nгo , so eu posso usar ) ou sei la...

This forum requires that you wait 120 seconds between posts. Please try again in 8 seconds.
Reply
#8

Retira a linha onde hб new string, que esteja dentro de um escopo, claro.
Reply
#9

nao precisa mas ja consegui arrumar
Reply
#10

Aconselho utilizar Bini, de qualquer forma boa sorte.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)