OnPlayerRequestClass Help
#1

I have my own TDM script
but OnPlayerRequestClass has team selection dialog
and when I die,it uses OnPlayerRequestClass,how do I stop this?
I know it has something to do with OnPlayerDeath,but there is nothing assigned for when you die goto forceclassselection
Reply
#2

Search for a function named
Код:
ForceClassSelection
Thats how you force player to chose class again after death
Reply
#3

Код:
//add this 
new PickedClass[MAX_PLAYERS] = 0;
//under OnPlayerRequestSpawn
if(PickedClass[playerid] == 0 ) {
        ShowPlayerDialog(playerid, 500, DIALOG_STYLE_LIST, "Classes", "Assault - Rank 0\nSniper - Rank 0\nPilot - Rank 3\nEngineer - rank 5\nFlameThrower - Rank 8\nMedic - Rank 4", "Select", "Cancel");
    }
// under onplayerconnect
PickedClass[playerid] = 0;
//under onplayerspawn
if(PickedClass[playerid] == 0 ) {
        ShowPlayerDialog(playerid, 500, DIALOG_STYLE_LIST, "Classes", "Assault - Rank 0\nSniper - Rank 0\nPilot - Rank 3\nEngineer - rank 5\nFlameThrower - Rank 8\nMedic - Rank 4", "Select", "Cancel");
    }
//under ondialogresponse
add PickedClass[playerid] = 1; 
like this
if(dialogid == 500)
                {
                if(response)
		            {

						if(GetPlayerScore(playerid) >= 0)//Rookie
						{
					
			            gPlayerClass[playerid] = ASSAULT_CLASS;
			            SendClientMessage(playerid, COLOR_GREEN, "You chose the Assualt as your class.");
			            SendClientMessage(playerid, COLOR_GREEN, "You can type /sc to change your class again.");
			            PickedClass[playerid] = 1;

						}
                    }
Now if you want to forceclassselection then you can do PickedClass[playerid] = 0;
And not want it, then you can do  PickedClass[playerid] = 1;

example
CMD:sc(playerid, params[]) {
	PickedClass[playerid] = 0;
	SendClientMessage(playerid, COLOR_ORANGE, "You will pick your new class next death...");
	return 1;
}
Is this help you?
Reply
#4

No,I want to stop my dialog showing up once I die,I have not got ForceClassSelection anywhere in my script.
Reply
#5

Pls read it carefully
under OnDialogResponse
Код:
if(dialogid == 500)
                {
                if(response)
		            {

						if(GetPlayerScore(playerid) >= 0)//Rookie
						{
					
			            gPlayerClass[playerid] = ASSAULT_CLASS;
			            SendClientMessage(playerid, COLOR_GREEN, "You chose the Assualt as your class.");
			            SendClientMessage(playerid, COLOR_GREEN, "You can type /sc to change your class again.");
			            PickedClass[playerid] = 1;

						}
                    }
You have to add PickedClass[playerid] = 1; when player chose his class
Reply
#6

Thanks man +rep,just compiled
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)