Dialogs are bugging out D:
#1

Eh, the USA Class selection dialog works perfect, but the RS(Russian Spetsnaz) isn't working so well... Actually it isn't working at all!

Video of the explanation
http://www.youtube.com/watch?v=L_wCw...ature=*********


Code:

pawn Код:
#define DIALOG_CLASS1 200
#define DIALOG_CLASS2 201

pawn Код:
public OnPlayerSpawn(playerid)
{
    if(gTeam[playerid] == RussianSpetsnaz)
    {
        SetPlayerColor(playerid, COLOR_RED);
        SetPlayerHealth(playerid, 99);
        SetPlayerArmour(playerid, 50);
        new RSrand = random(sizeof(RSSpawns));
       
        SetPlayerPos(playerid, RSSpawns[RSrand][0], RSSpawns[RSrand][1], RSSpawns[RSrand][2]);
       
        SetPlayerFacingAngle(playerid, RSSpawns[RSrand][3]);
        if(GetPlayerScore(playerid) <= 149)
        {
            ShowPlayerDialog(playerid, DIALOG_CLASS1, DIALOG_STYLE_LIST, "Russian Spetsnaz Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nGunner - 550 score\nEngineer - 550 score", "Select", "Close");
        }
        else if(GetPlayerScore(playerid) <= 299)
        {
            ShowPlayerDialog(playerid, DIALOG_CLASS1, DIALOG_STYLE_LIST, "Russian Spetsnaz Classes", "Assault\nMedic\nSniper - 300 score\nGunner - 550 score\nEngineer - 550 score", "Select", "Close");
        }
        else if(GetPlayerScore(playerid) <= 549)
        {
            ShowPlayerDialog(playerid, DIALOG_CLASS1, DIALOG_STYLE_LIST, "Russian Spetsnaz Classes", "Assault\nMedic\nSniper\nGunner - 550 score\nEngineer - 550 score", "Select", "Close");
        }
        else if(GetPlayerScore(playerid) >= 550)
        {
            ShowPlayerDialog(playerid, DIALOG_CLASS1, DIALOG_STYLE_LIST, "Russian Spetsnaz Classes", "Assault\nMedic\nSniper\nGunner\nEngineer", "Select", "Close");
        }
    }
    if(gTeam[playerid] == USArmy)
    {
        SetPlayerColor(playerid, US_COLOR);
        SetPlayerHealth(playerid, 99);
        SetPlayerArmour(playerid, 50);
        new USrand = random(sizeof(RSSpawns));

        SetPlayerPos(playerid, USSpawns[USrand][0], USSpawns[USrand][1], USSpawns[USrand][2]);

        SetPlayerFacingAngle(playerid, USSpawns[USrand][2]);
        if(GetPlayerScore(playerid) <= 149)
        {
            ShowPlayerDialog(playerid, DIALOG_CLASS2, DIALOG_STYLE_LIST, "U.S Army Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nSupporter - 550 score\nEngineer - 550 score", "Select", "Close");
        }
        else if(GetPlayerScore(playerid) <= 299)
        {
            ShowPlayerDialog(playerid, DIALOG_CLASS2, DIALOG_STYLE_LIST, "U.S Army Classes", "Assault\nMedic\nSniper - 300 score\nSupporter - 550 score\nEngineer - 550 score", "Select", "Close");
        }
        else if(GetPlayerScore(playerid) <= 549)
        {
            ShowPlayerDialog(playerid, DIALOG_CLASS2, DIALOG_STYLE_LIST, "U.S Army Classes", "Assault\nMedic\nSniper\nSupporter - 550 score\nEngineer - 550 score", "Select", "Close");
        }
        else if(GetPlayerScore(playerid) >= 550)
        {
            ShowPlayerDialog(playerid, DIALOG_CLASS2, DIALOG_STYLE_LIST, "U.S Army Classes", "Assault\nMedic\nSniper\nSupporter\nEngineer", "Select", "Close");
        }
    }
    //Rest of my codes!


pawn Код:
//Rest of my codes!
case DIALOG_CLASS1: //Russian Spetsnaz Classes
        {
            if( !response ) ShowPlayerDialog(playerid, DIALOG_CLASS1, DIALOG_STYLE_LIST, "Russian Spetsnaz Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nGunner - 550 score\nEngineer - 550 score", "Select", "Close");
            else
            {
                switch( listitem )
                {
                    case 0:
                    {
                        GivePlayerWeapon(playerid, 24, 707);
                        GivePlayerWeapon(playerid, 16, 1);
                        GivePlayerWeapon(playerid, 27, 500);
                        GivePlayerWeapon(playerid, 31, 860);
                        SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - You've chosen the Assault class");
                        SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - Bonus: None");
                        Class_Chosen{ playerid } = true;
                        Medic{ playerid } = false;
                    }
                    case 1:
                    {
                        if(GetPlayerScore(playerid) <= 149)
                        {
                            SendClientMessage(playerid, COLOR_RED, "[CLASS] - You need 150 score to use the Medic class!");
                            ShowPlayerDialog(playerid, DIALOG_CLASS1, DIALOG_STYLE_LIST, "Russian Spetsnaz Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nGunner - 550 score\nEngineer - 550 score", "Select", "Close");
                        }
                        else
                        {
                            GivePlayerWeapon(playerid, 22, 530);
                            GivePlayerWeapon(playerid, 25, 500);
                            GivePlayerWeapon(playerid, 29, 760);
                            GivePlayerWeapon(playerid, 18, 1);
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - You've chosen the Medic class");
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - Bonus: /heal command");
                            Class_Chosen{ playerid } = true;
                            Medic{ playerid } = true;
                        }
                    }
                    case 2:
                    {
                        if(GetPlayerScore(playerid) <= 299)
                        {
                            SendClientMessage(playerid, COLOR_RED, "[CLASS] - You need 300 score to use the Sniper class!");
                            ShowPlayerDialog(playerid, DIALOG_CLASS1, DIALOG_STYLE_LIST, "Russian Spetsnaz Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nGunner - 550 score\nEngineer - 550 score", "Select", "Close");
                        }
                        else
                        {
                            GivePlayerWeapon(playerid, 23, 530);
                            GivePlayerWeapon(playerid, 16, 3);
                            GivePlayerWeapon(playerid, 4, 1);
                            GivePlayerWeapon(playerid, 29, 560);
                            GivePlayerWeapon(playerid, 34, 350);
                            SetPlayerColor(playerid, COLOR_INVISIBLE);
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - You've chosen the Sniper class");
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - Bonus: Invisible on the mini-map");
                            Class_Chosen{ playerid } = true;
                            Medic{ playerid } = false;
                        }
                    }
                    case 3:
                    {
                        if(GetPlayerScore(playerid) <= 549)
                        {
                            SendClientMessage(playerid, COLOR_RED, "[CLASS] - You need 550 score to use the Gunner class!");
                            ShowPlayerDialog(playerid, DIALOG_CLASS1, DIALOG_STYLE_LIST, "Russian Spetsnaz Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nGunner - 550 score\nEngineer - 550 score", "Select", "Close");
                        }
                        else
                        {
                            GivePlayerWeapon(playerid, 17, 5);
                            GivePlayerWeapon(playerid, 24, 507);
                            GivePlayerWeapon(playerid, 30, 700);
                            GivePlayerWeapon(playerid, 33, 50);
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - You've chosen the Gunner class");
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - Bonus: /armour command");
                            Class_Chosen{ playerid } = true;
                            Medic{ playerid } = false;
                        }
                    }
                    case 4:
                    {
                        if(GetPlayerScore(playerid) <= 549)
                        {
                            SendClientMessage(playerid, COLOR_RED, "[CLASS] - You need 550 score to use the Engineer class!");
                            ShowPlayerDialog(playerid, DIALOG_CLASS1, DIALOG_STYLE_LIST, "Russian Spetsnaz Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nGunner - 550 score\nEngineer - 550 score", "Select", "Close");
                        }
                        else
                        {
                            GivePlayerWeapon(playerid, 16, 5);
                            GivePlayerWeapon(playerid, 24, 367);
                            GivePlayerWeapon(playerid, 27, 517);
                            GivePlayerWeapon(playerid, 30, 560);
                            GivePlayerWeapon(playerid, 35, 3);
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - You've chosen the Engineer class");
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - Bonus: /fix and /repair");
                            Class_Chosen{ playerid } = true;
                            Medic{ playerid } = false;
                        }
                    }
                }
            }
        }
        case DIALOG_CLASS2: //U.S Army Classes
        {
            if( !response ) ShowPlayerDialog(playerid, DIALOG_CLASS2, DIALOG_STYLE_LIST, "U.S Army Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nSupporter - 550 score\nEngineer - 550 score", "Select", "Close");
            else
            {
                switch( listitem )
                {
                    case 0:
                    {
                        GivePlayerWeapon(playerid, 24, 707);
                        GivePlayerWeapon(playerid, 16, 1);
                        GivePlayerWeapon(playerid, 27, 500);
                        GivePlayerWeapon(playerid, 31, 860);
                        SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - You've chosen the Assault class");
                        SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - Bonus: None");
                        Class_Chosen{ playerid } = true;
                        Medic{ playerid } = false;
                    }
                    case 1:
                    {
                        if(GetPlayerScore(playerid) <= 149)
                        {
                            SendClientMessage(playerid, COLOR_RED, "[CLASS] - You need 150 score to use the Medic class!");
                            ShowPlayerDialog(playerid, DIALOG_CLASS2, DIALOG_STYLE_LIST, "U.S Army Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nSupporter - 550 score\nEngineer - 550 score", "Select", "Close");
                        }
                        else
                        {
                            GivePlayerWeapon(playerid, 22, 530);
                            GivePlayerWeapon(playerid, 25, 500);
                            GivePlayerWeapon(playerid, 29, 760);
                            GivePlayerWeapon(playerid, 17, 2);
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - You've chosen the Medic class");
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - Bonus: /heal command");
                            Class_Chosen{ playerid } = true;
                            Medic{ playerid } = true;
                        }
                    }
                    case 2:
                    {
                        if(GetPlayerScore(playerid) <= 299)
                        {
                            SendClientMessage(playerid, COLOR_RED, "[CLASS] - You need 300 score to use the Sniper class!");
                            ShowPlayerDialog(playerid, DIALOG_CLASS2, DIALOG_STYLE_LIST, "U.S Army Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nSupporter - 550 score\nEngineer - 550 score", "Select", "Close");
                        }
                        else
                        {
                            GivePlayerWeapon(playerid, 23, 530);
                            GivePlayerWeapon(playerid, 16, 3);
                            GivePlayerWeapon(playerid, 4, 1);
                            GivePlayerWeapon(playerid, 29, 560);
                            GivePlayerWeapon(playerid, 34, 350);
                            SetPlayerColor(playerid, COLOR_INVISIBLE);
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - You've chosen the Sniper class");
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - Bonus: Invisible on the mini-map");
                            Class_Chosen{ playerid } = true;
                            Medic{ playerid } = false;
                        }
                    }
                    case 3:
                    {
                        if(GetPlayerScore(playerid) <= 549)
                        {
                            SendClientMessage(playerid, COLOR_RED, "[CLASS] - You need 550 score to use the Supporer class!");
                            ShowPlayerDialog(playerid, DIALOG_CLASS2, DIALOG_STYLE_LIST, "U.S Army Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nSupporter - 550 score\nEngineer - 550 score", "Select", "Close");
                        }
                        else
                        {
                            GivePlayerWeapon(playerid, 16, 2);
                            GivePlayerWeapon(playerid, 24, 507);
                            GivePlayerWeapon(playerid, 25, 50);
                            GivePlayerWeapon(playerid, 31, 700);
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - You've chosen the Supporter class");
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - Bonus: /armour command");
                            Class_Chosen{ playerid } = true;
                            Medic{ playerid } = false;
                        }
                    }
                    case 4:
                    {
                        if(GetPlayerScore(playerid) <= 549)
                        {
                            SendClientMessage(playerid, COLOR_RED, "[CLASS] - You need 550 score to use the Engineer class!");
                            ShowPlayerDialog(playerid, DIALOG_CLASS2, DIALOG_STYLE_LIST, "U.S Army Classes", "Assault\nMedic - 150 score\nSniper - 300 score\nSupporter - 550 score\nEngineer - 550 score", "Select", "Close");
                        }
                        else
                        {
                            GivePlayerWeapon(playerid, 16, 3);
                            GivePlayerWeapon(playerid, 24, 367);
                            GivePlayerWeapon(playerid, 27, 517);
                            GivePlayerWeapon(playerid, 31, 560);
                            GivePlayerWeapon(playerid, 36, 4);
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - You've chosen the Engineer class");
                            SendClientMessage(playerid, COLOR_GREEN, "[CLASS] - Bonus: /fix and /repair");
                            Class_Chosen{ playerid } = true;
                            Medic{ playerid } = false;
                        }
                    }
                }
            }
        }
    }
    return 1;
}
Any idea what's wrong with the Russia Spetsnaz dialog?D:

Video again (If needed)
http://www.youtube.com/watch?v=L_wCw...ature=*********
Reply
#2

EDIT: FIXED!

Re-added(Removed some, added new) spawn points, that fixed the problem.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)