[AJUDA] Uma coisa simples estraga tudo --'
#1

Estou com um erro foda no meu GM


Estou criando um GM, porem ja tem 400 e poucas linhas, entгo estб bugado o negocio de registro, tipo registro normalmente de boa, loogo certinho, ai saiu do sv, qnd volto apareзe pra logar eu digito uma senha errada ai apareзe vc errou sua senha digite novamente ai eu digito a senha correta e entra, saiu denovo e entro, coloko a senha correta e nгo entra no sv fica akele negocio em baixo '' << '' ''>> '' SPAWN '' ai eu aperto SPAWN e entra normal eu keria tirar isso.

Quote:
Originally Posted by humildadeforever
Посмотреть сообщение
Veja meu Edit.

E em quanto ao spawn verifique se tem algum SpawnPlayer no cуdigo de registro/login.
Fiz oque a gatinha acima falou, apaguei o SpawnPlayer que tinha, porem so tinha 1, e nгo deu certo e agora?
Reply
#2

e AGORA?
Reply
#3

vc quer um autologin?
Reply
#4

nгo aff vc nao sabe me ajudar, ai eu removi isso e nгo apareзe mais o sistema de login/registro!
Reply
#5

Posta o cуdigo.
Reply
#6

Quote:

saiu denovo e entro, coloko a senha correta e nгo entra no sv fica akele negocio em baixo '' << '' ''>> '' SPAWN '' ai eu aperto SPAWN e entra normal eu keria tirar isso.

vc quer que depois de logar entre automaticamente?
Reply
#7

Nгo consigo entender, eu quero que depois que o cara digita a senha logar normalmente sem apareзer esse negocio ai q eu falei
Reply
#8

Nгo sei que porra que aconteceu que nгo ta aparecendo mais as dialog PORRAAAAAAAAAAA
q saco velhooooooo!
Reply
#9

Cara, poste o cуdigo.
Reply
#10

Que codigo louco?
DO meu gm? Se for й esse aki parзa:

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


#define     DIALOG_REGISTRO         1
#define     DIALOG_LOGAR            2

#define COLOR_RED       0x
#define COLOR_WHITE     0xFFFFFFAA
#define COLOR_AQUI      0xFFFFFFAA


enum Informacoes
{
    Senha,
    Matou,
    Morreu,
    Dinheiro
}

new Player[MAX_PLAYERS][Informacoes];
new Erro[MAX_PLAYERS];

forward SendMSG();
forward TempoParaOScore(playerid);

new RandomColors [] =
{
  0xFF5A00FF, //Laranja
  0xF50000FF, //Vermelho
  0xF50000FF, //Ciano
  0x91FF00FF, //Verde Limгo
  0xFF0091FF, //Rosa
  0x009000FF, //Verde Puro
  0x9600FFFF
};
new Text:ImagemEntrada;
new Hospital[MAX_PLAYERS];
new Text:Textdrawdebaixodoradar;
new Text:velo[MAX_PLAYERS];
forward Velocimetro();

new NomeCarro[212][] =
{
    "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana",
    "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat",
    "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife",
    "Trailer 1", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo",
    "Seasparrow", "Pizzaboy", "Tram", "Trailer 2", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair",
    "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic", "Sanchez", "Sparrow",
    "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito",
    "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring",
    "Sandking", "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B",
    "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster","Stunt",  "Tanker",
    "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
    "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak",
    "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck LA", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit",
    "Utility", "Nevada", "Yosemite", "Windsor", "Monster A", "Monster B", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance",
    "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway",
    "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer 3", "Emperor", "Wayfarer", "Euros", "Hotdog",
    "Club", "Freight Carriage", "Trailer 4", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car (LSPD)", "Police Car (SFPD)",
    "Police Car (LVPD)", "Police Ranger", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer A",
    "Luggage Trailer B", "Stairs", "BoxVille", "Tiller", "Utility Trailer"
};
new RandomMSG[][] =
{
  "| INFO | Registrem-se em nosso fуrum: http://www.nvcrpg.forumbrasil.net e ganhe um Jetpack!",
  "| INFO | Nгo mate ninguem, pois se matar serб preso automaticamente por 10 minutos sem aviso!",
  "| INFO | Use /admins para ver os administradores onlines e /SOS [Dъvida] para chamar um ADM!",
  "| INFO | Viu hacker? Bug? Contate um Administrador digitando /sos, vocк poderб ser recompensado!",
  "| INFO | Estб perdido? Nгo sabe aonde fica os lugares importante? Use /GPS e boa sorte!",
  "| INFO | Adicione o IP do servidor nos favoritos IP: nvcrpg.servegame.com:7777",
  "| INFO | Adicione este servidor aos seus Favoritos. Assim poderб jogar todos os dias",
  "| INFO | Olб como vai? O dia estб quente hoje num й mesmo? Que tal ir na praia de Verona Beach?",
  "| INFO | Escolha uma profissгo indo na agencia de empregos, nгo sabe ir? /GPS."
};


main()
{
    print("\nServidor ligado com sucesso!");
    print(" [NVC] New Virtual City RPG v3.0 ™");
    print("----------------------------------\n");
}


public OnGameModeInit()
{
    Textdrawdebaixodoradar= TextDrawCreate(1.0, 433.0, "~r~  Comandos ~w~uteis ~r~/sos /admins /comandos, ~w~registrem-se por favor em nosso forum: ~r~www.nvcrpg.forumbrasil.net");
    TextDrawAlignment(Textdrawdebaixodoradar,0);//Nгo mecher
    TextDrawBackgroundColor(Textdrawdebaixodoradar,0x000000ff);//Nгo mecher
    TextDrawFont(Textdrawdebaixodoradar,3);//Tipo de Letro (veja o *[2]mais abaixo)
    TextDrawLetterSize(Textdrawdebaixodoradar,0.2999, 1.4);//Nгo mecher
    TextDrawBoxColor(Textdrawdebaixodoradar,0x00000050);//Nгo mecher
    TextDrawColor(Textdrawdebaixodoradar,0xffffffff);//Nгo mecher
    TextDrawSetOutline(Textdrawdebaixodoradar,1);//Nгo mecher
    TextDrawSetProportional(Textdrawdebaixodoradar,1);//Nгo mecher
    TextDrawSetShadow(Textdrawdebaixodoradar,1);//Nгo mecher
    SetTimer("Velocimetro", 500, 1);
    SetTimer("TempoParaOScore", 1200000, true);
    SetTimer("SendMSG", 200000, true);
    ImagemEntrada = TextDrawCreate(1.000000, -1.000000, "loadsc2:loadsc2");
    TextDrawBackgroundColor(ImagemEntrada, 255);
    TextDrawFont(ImagemEntrada, 4);
    TextDrawLetterSize(ImagemEntrada, 0.500000, 1.000000);
    TextDrawColor(ImagemEntrada, -1);
    TextDrawSetOutline(ImagemEntrada, 0);
    TextDrawSetProportional(ImagemEntrada, 1);
    TextDrawSetShadow(ImagemEntrada, 1);
    TextDrawUseBox(ImagemEntrada, 1);
    TextDrawBoxColor(ImagemEntrada, 255);
    TextDrawTextSize(ImagemEntrada, 645.000000, 450.000000);
    if(!fexist("levels.dkn")) dini_Create("levels.dkn");
    SetGameModeText("NVC Brasil");
    AddPlayerClass(0, 1219.0681,-1812.4017,16.5938,188.1141, 0, 0, 0, 0, 0, 0);
    return 1;

for(new i; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerConnected(i))
        {
            TextDrawShowForPlayer(i, Textdrawdebaixodoradar);
        }
    }

}


public OnGameModeExit()
{

    DOF2_Exit();
    return 1;
    TextDrawHideForAll(Textdrawdebaixodoradar);
    TextDrawDestroy(Textdrawdebaixodoradar);
       return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    TextDrawShowForPlayer(playerid, ImagemEntrada);
    SetPlayerPos(playerid, 1219.0681,-1812.4017,16.5938,188.1141);
    SetPlayerCameraPos(playerid, 1219.0681,-1812.4017,16.5938,188.1141);
    SetPlayerCameraLookAt(playerid, 1219.0681,-1812.4017,16.5938,188.1141);
    return 1;
}

public OnPlayerConnect(playerid)
{
    velo[playerid] = TextDrawCreate(212, 377,"~g~Velocidade:0Km/h");
    TextDrawTextSize(velo[playerid], 470, 510);
    TextDrawColor(velo[playerid], 160);
    TextDrawUseBox(velo[playerid], 1);
    TextDrawSetShadow(velo[playerid], 0);
    TextDrawBoxColor(velo[playerid], 0);
    TextDrawSetOutline(velo[playerid], 1);
    TextDrawFont(velo[playerid], 1);
    TextDrawSetProportional(velo[playerid], 1);
    TextDrawHideForPlayer(playerid, velo[playerid]);
    return true;
    TextDrawShowForPlayer(playerid, Textdrawdebaixodoradar);
    TextDrawShowForPlayer(playerid, ImagemEntrada);
    new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    GetPlayerName(playerid, name, 32); //Pega o nome do playerid
    format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
    if(DOF2_FileExists(arquivo)) //Verifica se a pasta existe
    { //Caso existir, irб retornar a dialog de Login
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й Registrado, digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
    }
    else  //Caso o arquivo nгo exista
    { //Irб retornar a dialog de registro
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й Registrado, digite uma senha para se registrar!", "Confirma", "Cancelar");
    }
    return 1;
}


public OnPlayerDisconnect(playerid, reason)
{
    new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    GetPlayerName(playerid, name, 32); //Para pegar o nome do playerid
    format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
    if(DOF2_FileExists(arquivo)) //Verifica se o arquivo da conta do playerid existe
    {
        Player[playerid][Dinheiro] = GetPlayerMoney(playerid); //Pega o dinheiro que o player tem no momento e iguala a Var de informaзхes dele
        DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]); //Salva a senha, caso ele tenha modificado
        DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]); //Salva quantos players ele matou
        DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]); //Salva quantas vezes ele morreu
        DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]); //Salva o dinheiro que foi igualado ao GetPlayerMoney logo acima no comeзo da funзгo
        DOF2_SaveFile(); //E finalmente salvando o arquivo
    }
    return 1;
}

public OnPlayerSpawn(playerid)
{
    TextDrawHideForPlayer(playerid, ImagemEntrada);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid,playerid,reason);
    Hospital[playerid] = 1;
    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("/AgenciaLS", cmdtext, true, 10) == 0)
    {
        SetPlayerPos(playerid, 1219.0681,-1812.4017,16.5938,188.1141);
        SendClientMessage(playerid, 0xFF00AA, "Seja bem vindo a agencia de empregos de LS!");
        return 1;
    }
    return 0;
}

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

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

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(Hospital[playerid] == 1)
    {
        SetPlayerPos(playerid, 1175.9734,-1324.0140,14.1953,58.4604);
        TogglePlayerControllable(playerid, false);
        SetTimerEx("Curando", 5000, false, "i", playerid);
        SendClientMessage(playerid, 0xFF3030FF,"| INFO | Vocк estб sendo curado por um medico Negгo, aguarde.");
        // Vocк pode acrescentar mais coisas ao seu gosto.
    }
    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[])
{
    new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    GetPlayerName(playerid, name, 32); //Para pegar o nome do playerid
    format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
    if(dialogid == DIALOG_REGISTRO)
    {
        if(!strval(inputtext)) //Verifica se o player digitou LETRAS, caso for true
        { //Retorna a dialog de registro novamente para ele digitar NЪMEROS
            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) //Verifica se ele clicar em 'Cancelar"
        { //Caso ele clicar em cancelar, irб retornar ao playerid KICK
            Kick(playerid);
            return 1;
        }
        else //Verifica se ele Confirma o Registro
        { //Caso for true, ira criar o arquivo na pasta CONTAS
            Player[playerid][Senha] = strval(inputtext); //Player[playerid][Senha] vai ser igual ao que ele digitar na dialog Registro
            DOF2_CreateFile(arquivo); //Vai criar o arquvivo na pasta Contas
            DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]); //Vai salvar a senha do playerid
            DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]); //Vai salvar quantas vezes ele matou
            DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]); //Vai salvar quantas vezes ele morreu
            DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]); //Vai salvar o dinheiro dele
            DOF2_SaveFile(); //E finalmente salvando o arquivo, sem essa funзгo o arquivo nгo serб salvo!
            //Retornando a dialog de Login ao player no final para ele logar no server
            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)) //Verifica se o player digitou letras, caso for true
        { //Retorna a dialog de Login novamente para ele digitar NЪMEROS
            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) //Verifica se ele clicar em 'Cancelar"
        { //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][Morreu] = DOF2_GetInt(arquivo, "Morreu");
                Player[playerid][Dinheiro] = DOF2_GetInt(arquivo, "Dinheiro");
                GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
                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, "Sua conta estб banida por errar 5 vezes a sua senha, contacte o Admin para retirar seu Ban!");
                    Ban(playerid);
                    return 1;
                }
            }
        }
    }
    return 1;
}



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


stock PlayerName(playerid)
{
new PlayerNameLevel[MAX_PLAYERS];
GetPlayerName(playerid, PlayerNameLevel, MAX_PLAYERS);
return PlayerNameLevel;
}

public SendMSG()
{
  new random2 = random(sizeof(RandomColors));
  new randMSG = random(sizeof(RandomMSG));
  SendClientMessageToAll(RandomColors[random2], RandomMSG[randMSG]);
}

forward Curando(playerid);
public Curando(playerid)
{
    TogglePlayerControllable(playerid, true);
    Hospital[playerid] = 0;
    SetPlayerPos(playerid, 1175.9734,-1324.0140,14.1953,58.4604);
    GivePlayerMoney(playerid, -200);
    SendClientMessage(playerid, 0xFF3030FF,"| INFO | O mйdico negгo fez uma massagem em vocк e te curou, preзo: 200");
}

public TempoParaOScore(playerid)
{
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
    SendClientMessage(playerid, -1, "Vocк ganhou 1 level por ficar 20 minutos no servidor, meus parabens!");
    return 1;
}

public Velocimetro()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            new aname[MAX_PLAYER_NAME];
            GetPlayerName(i, aname, MAX_PLAYER_NAME);
            if(IsPlayerInAnyVehicle(i))
            {
                new Float:X, Float:Y, Float:Z, Float:Speed;
                GetVehicleVelocity(GetPlayerVehicleID(i), X, Y, Z);
                Speed = floatmul(floatsqroot(floatadd(floatadd(floatpower(X, 2), floatpower(Y, 2)),  floatpower(Z, 2))), 200.0);
                new Float:vcarro;
                GetVehicleHealth(GetPlayerVehicleID(i), vcarro);
                new velocidade;
                velocidade = floatround(Speed, floatround_floor);
                new string[128];
                new PlayerVehicleModelID = GetVehicleModel(GetPlayerVehicleID(i));
                PlayerVehicleModelID -= 400;
                new nocarro[30];
                format(nocarro,30,NomeCarro[PlayerVehicleModelID]);
                format(string, 128,"~g~Veiculo:~w~%s~n~~g~Velocidade:~w~%i ~b~KM/H~n~~g~Lataria:~w~%.0f%",nocarro,velocidade,vcarro);
                TextDrawSetString(velo[i], string);
                TextDrawShowForPlayer(i, velo[i]);
            }
            else TextDrawHideForPlayer(i, velo[i]);
        }
        else
        {
            TextDrawHideForPlayer(i, velo[i]);
        }
    }
    return true;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)