A problem with register system
#1

This is my code:

Код:
#include <dini>
#define DIALOG_REGISTER1 0
#define DIALOG_REGISTER2 1
#define DIALOG_REGISTER3 2
#define DIALOG_REGISTER4 3
#define DIALOG_LOGIN1 4
#define DIALOG_NOPW1 5
#define DIALOG_NOPW2 6
#define DIALOG_WRONGPW 7
    #include <a_samp>
    main()
    {
            print("\n----------------------------------");
            print(" Blank Gamemode DOF2");
            print("----------------------------------\n");
    }

    public OnGameModeInit()
    {
            SetGameModeText("Blank Script DOF2");
            return 1;
    }
   enum Info
{
   sex, //0= male 1=female
   age, // age :3
   logged // If is player connected
}
   new pInfo[MAX_PLAYERS][Info];


    public OnGameModeExit()
    {
            return 1;
    }

    public OnPlayerRequestClass(playerid, classid)
    {
            return 1;
    }



    public OnPlayerConnect(playerid)
    {
          new pname[MAX_PLAYER_NAME], path[200];
GetPlayerName(playerid, pname, sizeof(pname));
format(path, sizeof(path), "/spieler/%s.ini", pname);

if(!dini_Exists(path))
{
   // f the player is not registered
   ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "Register", "Your Password:", "OK", "Cancel");
}
else
{
   //If the player is registered
   ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Your Password", "OK", "Cancel");
}
            return 1;
    }
    
    
    
    
    
    
    
    
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
          
          
          new pname[MAX_PLAYER_NAME], path[200];
GetPlayerName(playerid, pname, sizeof(pname));
format(path, sizeof(path), "/spieler/%s.ini", pname);

switch(dialogid)
{
   case DIALOG_REGISTER1:
   {
  	if(!response)
  	{
      	Kick(playerid);
  	}
  	else
  	{
     	new pwlength = strlen(inputtext);
     	if(pwlength > 0)
     	{
        	dini_Create(path); /i
        	dini_Set(path, "password", inputtext);
        	ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "male\r\female", "OK", "Cancel");
     	}
     	else
     	{
        	ShowPlayerDialog(playerid, DIALOG_NOPW1, DIALOG_STYLE_MSGBOX, "Register", "You have to enter a password!", "OK", "Cancel");
     	}
  	}
   }
   case DIALOG_REGISTER2:
   {
  	if(!response)
  	{
     	dini_Remove(path);
     	Kick(playerid);
  	}
  	else
  	{
     	dini_IntSet(path, "sex", listitem);
     	ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, "Register", "Your Age?", "OK", "Cancel");
  	}
   }
   case DIALOG_REGISTER3:
   {
  	if(!response)
  	{
     	dini_Remove(path);
      	Kick(playerid);
  	}
  	else
	  {
     	dini_Set(path, "age", inputtext);
     	ShowPlayerDialog(playerid, DIALOG_REGISTER4, DIALOG_STYLE_MSGBOX, "Register", "Your Register is complete!", "OK", "OK");
      }
   }
   case DIALOG_REGISTER4:
   {
  	pInfo[playerid][sex] = dini_Int(path, "sex");
  	pInfo[playerid][age] = dini_Int(path, "age");
  	pInfo[playerid][logged] = 1;
   }
   case DIALOG_LOGIN1:
   {
  	if(!response)
  	{
     	Kick(playerid);
  	}
  	else
  	{
     	new pwlength = strlen(inputtext);
     	if(pwlength > 0)
     	{
        	new pw[200];
        	format(pw, sizeof(pw), "%s", dini_Get(path, "password");
        	if(strcmp(inputtext, pw) == 0)
        	{
           	pInfo[playerid][sex] = dini_Int(path, "sex");
           	pInfo[playerid][age] = dini_Int(path, "age");
           	pInfo[playerid][logged] = 1;
        	}
        	else
        	{
           	ShowPlayerDialog(playerid, DIALOG_WRONGPW, DIALOG_STYLE_MSGBOX, "Login", "Wrong Password!", "OK", "Cancel");
        	}
     	}
     	else
     	{
        	ShowPlayerDialog(playerid, DIALOG_NOPW2, DIALOG_STYLE_MSGBOX,  "Login", "SYou have to enter a password!", "OK", "Cancel");
     	}
  	}
   }
  case DIALOG_NOPW1:
  {
 	if(!response)
 	{
    	Kick(playerid);
 	}
 	else
 	{
    	ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT,  "Register", "Your Password", "OK",  "Cancel");
 	}
  }
  case DIALOG_NOPW2:
  {
 	if(!response)
 	{
    	Kick(playerid);
 	}
 	else
 	{
    	 ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT,   "Login", "Your Password:", "OK",   "Abbrechen");
 	}
  }
  case DIALOG_WRONGPW:
  {
 	if(!response)
 	{
    	Kick(playerid);
 	}
 	else
 	{
    	 ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT,    "Login", "Your Password:", "OK",   "Cancel");
 	}
  }
}
          
          
          
          
          
          
            return 1;
    }
    public OnPlayerDisconnect(playerid, reason)
    {
          new pname[MAX_PLAYER_NAME], path[200];
GetPlayerName(playerid, pname, sizeof(pname));
format(path, sizeof(path), "/spieler/%s.ini", pname);

dini_IntSet(path, "sex", pInfo[playerid][sex]);
dini_IntSet(path, "age", pInfo[playerid][age]);

pInfo[playerid][logged] = 0;
            return 1;
    }

    public OnPlayerSpawn(playerid)
    {
            
            return 1;
    }

    public OnPlayerDeath(playerid, killerid, reason)
    {
            P
            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 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 OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
            return 1;
    }
And I have problems:
Код:
C:\Users\HOME\Desktop\bita\pawno\include\dini.inc(32) : error 017: undefined symbol "fexist"
C:\Users\HOME\Desktop\bita\pawno\include\dini.inc(32) : warning 215: expression has no effect
C:\Users\HOME\Desktop\bita\pawno\include\dini.inc(32) : error 001: expected token: ";", but found ")"
C:\Users\HOME\Desktop\bita\pawno\include\dini.inc(32) : error 029: invalid expression, assumed zero
C:\Users\HOME\Desktop\bita\pawno\include\dini.inc(32) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Please help me. Thanks
Reply
#2

#include <dini>

at the top of your script

If im right...
Reply
#3

Quote:
Originally Posted by Dziugsas
Посмотреть сообщение
#include <dini>

at the top of your script

If im right...
Did you even read the post or even look at the code? Also why are you including dini before any other include? Put it after your other includes. a_samp should be first.
Reply
#4

Include a_samp before dini:
pawn Код:
#include <a_samp>
#include <dini>
Reply
#5

Quote:
Originally Posted by NewerthRoleplay
Посмотреть сообщение
Did you even read the post or even look at the code? Also why are you including dini before any other include? Put it after your other includes. a_samp should be first.
Yes i did.Or am i retarded?
Reply
#6

After use:

Код:
#include <a_samp>
#include <dini>
It still doesn't work and this is my problem

Код:
C:\Users\HOME\Desktop\bita\filterscripts\a.pwn(55) : warning 217: loose indentation
C:\Users\HOME\Desktop\bita\filterscripts\a.pwn(66) : error 017: undefined symbol "DIALOG_LOGIN"
C:\Users\HOME\Desktop\bita\filterscripts\a.pwn(68) : warning 217: loose indentation
C:\Users\HOME\Desktop\bita\filterscripts\a.pwn(83) : warning 217: loose indentation
C:\Users\HOME\Desktop\bita\filterscripts\a.pwn(99) : error 029: invalid expression, assumed zero
C:\Users\HOME\Desktop\bita\filterscripts\a.pwn(99) : error 017: undefined symbol "i"
C:\Users\HOME\Desktop\bita\filterscripts\a.pwn(101) : warning 202: number of arguments does not match definition
C:\Users\HOME\Desktop\bita\filterscripts\a.pwn(153) : error 001: expected token: ",", but found ";"
C:\Users\HOME\Desktop\bita\filterscripts\a.pwn(211) : warning 217: loose indentation
C:\Users\HOME\Desktop\bita\filterscripts\a.pwn(216) : warning 217: loose indentation
C:\Users\HOME\Desktop\bita\filterscripts\a.pwn(223) : warning 217: loose indentation
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Reply
#7

#define DIALOG_LOGIN 2 // this is your desired number that doesnt conflict with other dialogs.
Reply
#8

Replace with:

line 99 ("\" character with "i" next to it, invalid):
pawn Код:
dini_Create(path);
line 101 (forgot title argument):
pawn Код:
ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "Select genger:", "male\r\female", "OK", "Cancel");
line 153 (forgot a parenthesis):
pawn Код:
format(pw, sizeof(pw), "%s", dini_Get(path, "password"));
strcat can be used to copy a string to another and it's faster than format.

Define DIALOG_LOGIN and indent your code properly: https://sampwiki.blast.hk/wiki/Errors_Li...se_indentation
Reply
#9

Thanks all very much
Reply


Forum Jump:


Users browsing this thread: