Why won't this randomise?
#1

It doesnt actually select Hospital 2 At all! I can't figure it out.

pawn Код:
stock dohospital(playerid)
{
    if(Hospitalized[playerid] == 1 && random(1) == 0)
    {
                ResetPlayerWeapons(playerid);
                SetSpawnInfo(playerid, -1, PlayerSkin[playerid], -216.0915,972.2845,19.3201 -10, 180.0, 0,0,0,0,0,0);
                SpawnPlayer(playerid);
                SetPlayerHealth(playerid, 20.0);
                SetPlayerVirtualWorld(playerid, 3);
                TogglePlayerControllable(playerid, 0);
                SetPlayerInterior(playerid, 0);
                SetPlayerCameraPos(playerid, -315.1983, 1064.2436, 19.5937);
                SetPlayerCameraLookAt(playerid, -319.19,1050.22,20.3403);
                SendClientMessage(playerid, COLOUR_WHITE, "You are recovering in hospital.");
                SendClientMessage(playerid, COLOUR_WHITE, "You will be released shortly. ((Revenge killing is against the server rules)).");
                HospitalUsed = 1;
    }
    if(Hospitalized[playerid] == 1 && random(1) == 1)
    {
                ResetPlayerWeapons(playerid);
                SetSpawnInfo(playerid, -1, PlayerSkin[playerid], -216.0915,972.2845,19.3201 -10, 180.0, 0,0,0,0,0,0);
                SpawnPlayer(playerid);
                SetPlayerHealth(playerid, 20.0);
                SetPlayerVirtualWorld(playerid, 3);
                TogglePlayerControllable(playerid, 0);
                SetPlayerInterior(playerid, 0);
                SetPlayerCameraPos(playerid, 1606.5913,1840.1801,10.8203);
                SetPlayerCameraLookAt(playerid, 1605.9766,1822.4442,15.8125);
                SendClientMessage(playerid, COLOUR_WHITE, "You are recovering in hospital.");
                SendClientMessage(playerid, COLOUR_WHITE, "You will be released shortly. ((Revenge killing is against the server rules)).");
                HospitalUsed = 2;
            }
    return 1;
}
Reply
#2

pawn Код:
stock dohospital(playerid)
{
    new
        RandomHospital = random(1);

    if(Hospitalized[playerid] == 1 && RandomHospital == 0)
    {
                ResetPlayerWeapons(playerid);
                SetSpawnInfo(playerid, -1, PlayerSkin[playerid], -216.0915,972.2845,19.3201 -10, 180.0, 0,0,0,0,0,0);
                SpawnPlayer(playerid);
                SetPlayerHealth(playerid, 20.0);
                SetPlayerVirtualWorld(playerid, 3);
                TogglePlayerControllable(playerid, 0);
                SetPlayerInterior(playerid, 0);
                SetPlayerCameraPos(playerid, -315.1983, 1064.2436, 19.5937);
                SetPlayerCameraLookAt(playerid, -319.19,1050.22,20.3403);
                SendClientMessage(playerid, COLOUR_WHITE, "You are recovering in hospital.");
                SendClientMessage(playerid, COLOUR_WHITE, "You will be released shortly. ((Revenge killing is against the server rules)).");
                HospitalUsed = 1;
    }
    if(Hospitalized[playerid] == 1 && RandomHospital == 1)
    {
                ResetPlayerWeapons(playerid);
                SetSpawnInfo(playerid, -1, PlayerSkin[playerid], -216.0915,972.2845,19.3201 -10, 180.0, 0,0,0,0,0,0);
                SpawnPlayer(playerid);
                SetPlayerHealth(playerid, 20.0);
                SetPlayerVirtualWorld(playerid, 3);
                TogglePlayerControllable(playerid, 0);
                SetPlayerInterior(playerid, 0);
                SetPlayerCameraPos(playerid, 1606.5913,1840.1801,10.8203);
                SetPlayerCameraLookAt(playerid, 1605.9766,1822.4442,15.8125);
                SendClientMessage(playerid, COLOUR_WHITE, "You are recovering in hospital.");
                SendClientMessage(playerid, COLOUR_WHITE, "You will be released shortly. ((Revenge killing is against the server rules)).");
                HospitalUsed = 2;
            }
    return 1;
}
Try that and see if that makes a difference.
Reply
#3

That made no difference at all, it confuses me as to why it won't work.
Reply
#4

random(1) will always return 0.

Код:
stock dohospital(playerid)
{
	if(Hospitalized[playerid] == 1)
	{
		ResetPlayerWeapons(playerid);
		SetSpawnInfo(playerid, -1, PlayerSkin[playerid], -216.0915,972.2845,19.3201 -10, 180.0, 0,0,0,0,0,0);
		SpawnPlayer(playerid);
		SetPlayerHealth(playerid, 20.0);
		SetPlayerVirtualWorld(playerid, 3);
		TogglePlayerControllable(playerid, 0);
		SetPlayerInterior(playerid, 0);

		SendClientMessage(playerid, COLOUR_WHITE, "You are recovering in hospital.");
		SendClientMessage(playerid, COLOUR_WHITE, "You will be released shortly. ((Revenge killing is against the server rules)).");
			
		if(random(2) == 0)
		{
			SetPlayerCameraPos(playerid, -315.1983, 1064.2436, 19.5937);
			SetPlayerCameraLookAt(playerid, -319.19,1050.22,20.3403);
			HospitalUsed = 1;
		}
		else
		{
			SetPlayerCameraPos(playerid, 1606.5913,1840.1801,10.8203);
			SetPlayerCameraLookAt(playerid, 1605.9766,1822.4442,15.8125);
			HospitalUsed = 2;
		}
	}
}
Reply
#5

ye.. duhhh

random (2 ) for two numbers and random ( 1) will return only one number...
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)