PDA

View Full Version : OnPlayerRequestClass Help


NinjahZ
09/08/2013, 01:34 AM
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

DRIFT_HUNTER
09/08/2013, 02:29 AM
Search for a function named
ForceClassSelection
Thats how you force player to chose class again after death

Iron3man
09/08/2013, 03:11 AM
//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?

NinjahZ
09/08/2013, 03:33 AM
No,I want to stop my dialog showing up once I die,I have not got ForceClassSelection anywhere in my script.

Iron3man
09/08/2013, 03:54 AM
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

NinjahZ
09/08/2013, 06:47 AM
Thanks man +rep,just compiled :)