Changeing A Register System To Dialog
#1

How would i set this up for dialog?
Code:
 	if(RPName(PlayerName(playerid),first,last))
	{
		SendClientMessage(playerid,COLOR_YELLOW,"____________________________________________________");
		SendClientMessage(playerid,COLOR_LIGHTYELLOW2,"                        Immigration:                           ");
		new sendername[MAX_PLAYER_NAME];
		new accstring[128];
		GetPlayerName(playerid, sendername, sizeof(sendername));
		format(accstring, sizeof(accstring), "CRP_Scriptfiles/Accounts/%s.ini", sendername);
		new File: hFile = fopen(accstring, io_read);
		if (hFile)
		{
			SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "[INFO:] You are already a citizen, type your password below.");
			fclose(hFile);
		}
		else
		{
			SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "[INFO:] You are not a citizen, type your desired password to register.");
		}
		SendClientMessage(playerid,COLOR_YELLOW,"____________________________________________________");
	}
	else
	{
	    KickPlayer(playerid,"System","Invalid Name, Correct Format: Firstname_lastname.");
	}
	return 1;
}
public LoadScript()
{
	LoadDynamicFactions();
	LoadDynamicCars();
	LoadCivilianSpawn();
	LoadBuildings();
	LoadHouses();
	LoadBusinesses();
	LoadFactionMaterialsStorage();
	LoadFactionDrugsStorage();
	LoadDrivingTestPosition();
	LoadFlyingTestPosition();
	LoadBankPosition();
	LoadWeaponLicensePosition();
	LoadPoliceArrestPosition();
	LoadPoliceDutyPosition();
	LoadGunJob();
	LoadDrugJob();
	LoadDetectiveJob();
	LoadLawyerJob();
	LoadProductsSellerJob();
	return 1;
}
public ResetStats(playerid)
{
	//============[Account Related Stuff]=============
	ProductsOffer[playerid] = 999;
	ProductsCost[playerid] = 0;
	ProductsAmount[playerid] = 0;
	TrackingPlayer[playerid] = 0;
	DrugsIntake[playerid] = 0;
	DrugsHolding[playerid] = 0;
	ResetPlayerWantedLevelEx(playerid);
	VehicleLockedPlayer[playerid] = 999;
	MatsHolding[playerid] = 0;
	TicketOffer[playerid] = 999;
	TicketMoney[playerid] = 0;
	PlayerTazed[playerid] = 0;
	PlayerCuffed[playerid] = 0;
	CopOnDuty[playerid] = 0;
	WantedLevel[playerid] = 0;
	WantedPoints[playerid] = 0;
	PMsEnabled[playerid] = 1;
	AdminDuty[playerid] = 0;
	SpeakerPhone[playerid] = 0;
	StartedCall[playerid] = 0;
	Muted[playerid] = 0; //Player is not muted.
	PhoneOnline[playerid] = 0;//Phone is turned off if 1.
	ShowFuel[playerid] = 1;//Will show fuel.
	TakingDrivingTest[playerid] = 0; //Player is not taking the driving test.
	DrivingTestStep[playerid] = 0; //Player has not started the driving test.
	SetPlayerColor(playerid,COLOR_NOTLOGGED);//Set colour to not logged in.
	SpawnAttempts[playerid] = 0; //Player hasn't attempted to spawn yet.
	PlayerInfo[playerid][pFaction] = 255;
	FactionRequest[playerid] = 255; //Player hasn't been asked to join a faction.
	PlayerInfo[playerid][pRank] = 0;
	PlayerInfo[playerid][pBizKey] = 255;
	PlayerInfo[playerid][pSpawnPoint] = 0;
	PlayerInfo[playerid][pBanned] = 0;
	PlayerInfo[playerid][pWarnings] = 0;
	PlayerInfo[playerid][pHouseKey] = 255;
	gPlayerLogged[playerid] = 0;//Player is not logged in.
	RegistrationStep[playerid] = 0;
	PlayerInfo[playerid][pLevel] = 0;
	PlayerInfo[playerid][pAdmin] = 0;
	PlayerInfo[playerid][pDonateRank] = 0;
	PlayerInfo[playerid][pRegistered] = 0;
	PlayerInfo[playerid][pSex] = 0;
	PlayerInfo[playerid][pAge] = 0;
	PlayerInfo[playerid][pExp] = 0;
	PlayerInfo[playerid][pCash] = 0; //Resetting the cash variable to 0.
	PlayerInfo[playerid][pBank] = 0;
	PlayerInfo[playerid][pSkin] = 0;
	PlayerInfo[playerid][pDrugs] = 0;
	PlayerInfo[playerid][pMaterials] = 0;
	PlayerInfo[playerid][pJob] = 0;
	PlayerInfo[playerid][pPlayingHours] = 0;
	PlayerInfo[playerid][pAllowedPayday] = 0;
	PlayerInfo[playerid][pPayCheck] = 0;
	PlayerInfo[playerid][pCarLic] = 0;
	PlayerInfo[playerid][pWepLic] = 0;
	PlayerInfo[playerid][pFlyLic] = 0;
	PlayerInfo[playerid][pPhoneNumber] = 0;
	PlayerInfo[playerid][pPhoneC] = 255;
	PlayerInfo[playerid][pPhoneBook] = 0;
	PlayerInfo[playerid][pListNumber] = 1;
	Mobile[playerid] = 255;
	PlayerInfo[playerid][pDonator] = 0;
	PlayerInfo[playerid][pJailed] = 0;
	PlayerInfo[playerid][pJailTime] = 0;
	PlayerInfo[playerid][pProducts] = 0;
	PlayerInfo[playerid][pCrashX] = 0.0000;
	PlayerInfo[playerid][pCrashY] = 0.0000;
	PlayerInfo[playerid][pCrashZ] = 0.0000;
	PlayerInfo[playerid][pCrashInt] = 0;
	PlayerInfo[playerid][pCrashW] = 0;
	PlayerInfo[playerid][pCrashed] = 0;
	//================================================
	return 0;
}
public OnPlayerDisconnect(playerid, reason)
{
    if(gPlayerLogged[playerid])
	{
	    if(reason == 0)
	    {
	        new Float:x,Float:y,Float:z;
	        GetPlayerPos(playerid,x,y,z);
		    PlayerInfo[playerid][pCrashX] = x;
			PlayerInfo[playerid][pCrashY] = y;
			PlayerInfo[playerid][pCrashZ] = z;
			PlayerInfo[playerid][pCrashInt] = GetPlayerInterior(playerid);
			PlayerInfo[playerid][pCrashW] = GetPlayerVirtualWorld(playerid);
			PlayerInfo[playerid][pCrashed] = 1;
			PlayerLocalMessage(playerid,15.0,"has just crashed from the server.");
	    }
		OnPlayerDataSave(playerid);
	}
	return 1;
}

public OnPlayerSpawn(playerid)
{
	if(gPlayerLogged[playerid])
	{
		SetPlayerSpawn(playerid);
	}
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	new string[128];
	if(IsPlayerConnected(killerid))
	{
	    if(killerid != playerid)
	    {
	     	if(AdminDuty[playerid])
		    {
		        if(!AdminDuty[killerid])
		        {
					KickPlayer(killerid,"System","Killing an administrator on duty with abuse.");
					format(string, sizeof(string), "[INFO:] System has kicked %s, Reason: Killing an administrator on duty with abuse. ", PlayerName(killerid));
					KickLog(string);
				}
		    }
	    	SetPlayerWantedLevelEx(killerid,GetPlayerWantedLevelEx(playerid)+1);
	    }
	}
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

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

public OnPlayerText(playerid, text[])
{
	new string[256];
	new tmp[256];
	
	if(Muted[playerid])
	{
		SendClientMessage(playerid, COLOR_RED, "[ERROR:] You can't speak, your muted.");
		return 0;
	}
	//=================================[PASSWORD]======================================

	if(gPlayerLogged[playerid] == 0)
	{
		new accstring[128];
		format(accstring, sizeof(accstring), "CRP_Scriptfiles/Accounts/%s.ini", PlayerName(playerid));
		new File: hFile = fopen(accstring, io_read);
		if (hFile)
		{
			fclose(hFile);
			OnPlayerLogin(playerid,text);
			return 0;
		}
		else
	 	{
			OnPlayerRegister(playerid,text);
			OnPlayerLogin(playerid,text);
			return 0;
		}
	}
	new idx;
    tmp = strtok(text,idx);
    if((strcmp("/b", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("")))
    {
        if(text[1] != 0)
        {
            format(string, sizeof(string), "(( Local OOC: %s says: %s ))", PlayerName(playerid),text[1]);
            ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
            OOCLog(string);
            return 0;
        }
    }
	if(RegistrationStep[playerid] == 1)
	{
		new age = strval(text);
	    if (age >= 16 && age <= 100)
	 	{
		 	new wstring[128];
		    format(wstring, sizeof(wstring), "[INFO:] You have set your age to: %d.", age);
		    SendClientMessage(playerid,COLOR_LIGHTYELLOW2, wstring);
	    	PlayerInfo[playerid][pAge] = age;
	    	RegistrationStep[playerid] = 2;
	 	    SendClientMessage(playerid,COLOR_LIGHTYELLOW2,"[INFO:] What's your Sex? Please type, Male or Female.");
	 	}
	 	else
	 	{
	 	    SendClientMessage(playerid,COLOR_RED,"[INFO:] Invalid age, correct ages are 16-100.");
	 	}
		return 0;
	}
 	if(RegistrationStep[playerid] == 2)
  	{
  	    new idx2;
    	tmp = strtok(text, idx2);
	    if((strcmp("male", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("male")))
		{
  			PlayerInfo[playerid][pSex] = 1;
   			SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "[INFO:] You have set your sex to: Male.");
	    	RegistrationStep[playerid] = 0;
			TogglePlayerControllable(playerid,1);
			PlayerInfo[playerid][pRegistered] = 1;
		    return 0;
		}
		else if((strcmp("female", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("female")))
		{
  			PlayerInfo[playerid][pSex] = 2;
  			SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "[INFO:] You have set your sex to: Female.");
			RegistrationStep[playerid] = 0;
			TogglePlayerControllable(playerid,1);
			PlayerInfo[playerid][pRegistered] = 1;
   			return 0;
		}
		else
		{
  			SendClientMessage(playerid, COLOR_RED, "[INFO:] Invalid sex, type male/female.");
	 	}
		return 0;
	}
Reply
#2

Using this tutorial:

https://sampforum.blast.hk/showthread.php?tid=158858
Reply
#3

Ive tried reading it and it is to be honest confusing me.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)