Need Very little Help In Class System!! On Player Spawn
#1

I did This:
pawn Код:
new gPlayerFirstSpwn[MAX_PLAYERS char];//global
if( gPlayerFirstSpwn{playerid} )
    {
        gPlayerFirstSpwn{playerid} = false;
        ShowPlayerDialog(playerid, 999, DIALOG_STYLE_LIST, "{6EF83C}Choose A Class:", "Assault Class  (Need No Rank)  \nSniper Class  (Need Rank 2)  \nEngineer Class  (Need Rank 3)  \nJet-Trooper Class  (Need Rank 5)  \nPilot Class  (Need Rank 7) ", "Choose","");
        TogglePlayerControllable(playerid, 0);
    }
    else
    {
        ResetPlayerWeapons( playerid );

        switch(gPlayerClass[playerid])
        {

            case ASSAULT:
            {
                GivePlayerWeapon(playerid, 4, 1);
                GivePlayerWeapon(playerid, 27, 400);
                GivePlayerWeapon(playerid, 24, 300);
                GivePlayerWeapon(playerid, 31, 600);
            }
            //rest of classes
        }
    }
    SetPlayerVirtualWorld(playerid, 0);

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 999)
            {
                if(response)
                    {
                if(listitem == 0)
                    {
                    if(GetPlayerScore(playerid) >= 0)
                        {
                        SendClientMessage(playerid, COLOR_WHITE, "Server News: You Chose the Assault as your class.");
                        ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "{6EF83C}Assult Class:", "{F81414}Abilities:\n{FFFFFF}A Solo class, good in infantry attacks.\n\n{F81414}Weapons:\n\n{FFFFFF}Knife\n{FFFFFF}M4\n{FFFFFF}Spaz12\n{FFFFFF}Deagle", "OK","");
                        gPlayerClass[playerid] = ASSAULT;
                        PickedClass[playerid] = 1;
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 4, 1);
                        GivePlayerWeapon(playerid, 27, 400);
                        GivePlayerWeapon(playerid, 24, 300);
                        GivePlayerWeapon(playerid, 31, 1000);
                        }
                    }

                if(listitem == 1)
                    {
                    if(GetPlayerScore(playerid) >= 300)
                        {
                        SendClientMessage(playerid, COLOR_WHITE, "Server News: You Chose the Sniper as your class.");
                        ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "{6EF83C}Sniper Class:", "{F81414}Abilities:\n{FFFFFF}A Locater class, Always invisible on map.\n\n{F81414}Weapons:\n\n{FFFFFF}Sniper Rifle\n{FFFFFF}Mp5\n{FFFFFF}Knife\n{FFFFFF}Shotgun", "OK","");
                        gPlayerClass[playerid] = SNIPER;
                        PickedClass[playerid] = 1;
                        SetPlayerColor(playerid,0xFF000000);
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 4, 1);
                        GivePlayerWeapon(playerid, 34, 500);
                        GivePlayerWeapon(playerid, 29, 400);
                        GivePlayerWeapon(playerid, 25, 500);
                        }
                    else
            {
                SendClientMessage(playerid,COLOR_RED,"You need to be on Rank 3 to get this Class.");

                ShowPlayerDialog(playerid, 999, DIALOG_STYLE_LIST, "{6EF83C}Choose A Class:", "Assault Class  (Need No Rank)  \nSniper Class  (Need Rank 3)  \nEngineer Class  (Need Rank 5)  \nJet-Trooper Class  (Need Rank 7)  \nPilot Class  (Need Rank 8)", "Choose","");
                TogglePlayerControllable(playerid, 0);
                }
            }

                if(listitem == 2)
                    {
                    if(GetPlayerScore(playerid) >= 600)
                        {
                        SendClientMessage(playerid, COLOR_WHITE, "Server News: You Chose the Engineer as your class.");
                        ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "{6EF83C}Engineer Class:", "{F81414}Abilities:\n{FFFFFF}A Strong class. Very good on land\nCan drive tanks.\n\n{F81414}Weapons:\n\n{FFFFFF}Spas12\n{FFFFFF}Silent Pistol\n{FFFFFF}RPG\n{FFFFFF}Desert Eagle", "OK","");
                        gPlayerClass[playerid] = ENGINEER;
                        PickedClass[playerid] = 1;
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 27, 400);
                        GivePlayerWeapon(playerid, 23, 400);
                        GivePlayerWeapon(playerid, 35, 2);
                        GivePlayerWeapon(playerid, 24, 300);
                        }
                    else
            {
                SendClientMessage(playerid,COLOR_DARKRED,"You need to be on Rank 5 to get this Class.");

                ShowPlayerDialog(playerid, 999, DIALOG_STYLE_LIST, "{6EF83C}Choose A Class:", "Assault Class  (Need No Rank)  \nSniper Class  (Need Rank 3)  \nEngineer Class  (Need Rank 5)  \nJet-Trooper Class  (Need Rank 7)  \nPilot Class  (Need Rank 8)", "Choose","");
                TogglePlayerControllable(playerid, 0);
                }
            }

                if(listitem == 3)
                    {
                    if(GetPlayerScore(playerid) >= 1200)
                        {
                        SendClientMessage(playerid, COLOR_WHITE, "Server News: You Chose the Jet-Trooper as your class.");
                        ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "{6EF83C}Jetrooper Class:", "{F81414}Abilities:\n{FFFFFF}A Solo class, can spawn jetpack by /jp.\n\n{F81414}Weapons:\n\n{FFFFFF}Tec-9\n{FFFFFF}Colt\n{FFFFFF}Knife\n{FFFFFF}Moltov", "OK","");
                        gPlayerClass[playerid] = JETTROOPER;
                        PickedClass[playerid] = 1;
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 4, 1);
                        GivePlayerWeapon(playerid, 32, 1000);
                        GivePlayerWeapon(playerid, 22, 1000);
                        GivePlayerWeapon(playerid, 18, 2);
                        }
                    else
            {
                SendClientMessage(playerid,COLOR_DARKRED,"You need to be on Rank 7 to get this Class.");

                ShowPlayerDialog(playerid, 999, DIALOG_STYLE_LIST, "{6EF83C}Choose A Class:", "Assault Class  (Need No Rank)  \nSniper Class  (Need Rank 3)  \nEngineer Class  (Need Rank 5)  \nJet-Trooper Class  (Need Rank 7)  \nPilot Class  (Need Rank 8)", "Choose","");
                TogglePlayerControllable(playerid, 0);
                }
            }

                if(listitem == 4)
                    {
                    if(GetPlayerScore(playerid) >= 2000)
                        {
                        SendClientMessage(playerid, COLOR_WHITE, "Server News: You Chose the Pilot as your class.");
                        ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "{6EF83C}Pilot Class:", "{F81414}Abilities:\n{FFFFFF}A Airforce class, Very Good in Air. Can drive Hunter, Hydra & Sea Sparrow.\n\n{F81414}Weapons:\n\n{FFFFFF}Deagle\n{FFFFFF}Tear Gas\n{FFFFFF}Shotgun\n{FFFFFF}9mm", "OK","");
                        gPlayerClass[playerid] = PILOT;
                        PickedClass[playerid] = 1;
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 22, 300);
                        GivePlayerWeapon(playerid, 24, 400);
                        GivePlayerWeapon(playerid, 17, 4);
                        GivePlayerWeapon(playerid, 25, 200);
                        }
                        else
            {
                SendClientMessage(playerid,COLOR_DARKRED,"You need to be on Rank 8 to get this Class.");

                ShowPlayerDialog(playerid, 999, DIALOG_STYLE_LIST, "{6EF83C}Choose A Class:", "Assault Class  (Need No Rank)  \nSniper Class  (Need Rank 3)  \nEngineer Class  (Need Rank 5)  \nJet-Trooper Class  (Need Rank 7)  \nPilot Class  (Need Rank 8)", "Choose","");
                TogglePlayerControllable(playerid, 0);
                }
            }
           

                return 1;
        }
                return 1;
    }
    return true;

}
It works when we get ASSAULT Class. But when i chose sniper class and then type /kill and on spawn it didn't give me weapons?? I want weapons of sniper class. So How it can work?? I want class i selected in first spawn will remain
and next spawn. But only assault remain. Not others...
Please help Me!!!
Reply
#2

How about using SetSpawnInfo after a PlayerDeath?
Reply
#3

are you mad? you need to make it to make it work.. Don't get it right? look here
pawn Код:
new gPlayerFirstSpwn[MAX_PLAYERS char];//global
if( gPlayerFirstSpwn{playerid} )
    {
        gPlayerFirstSpwn{playerid} = false;
        ShowPlayerDialog(playerid, 999, DIALOG_STYLE_LIST, "{6EF83C}Choose A Class:", "Assault Class  (Need No Rank)  \nSniper Class  (Need Rank 2)  \nEngineer Class  (Need Rank 3)  \nJet-Trooper Class  (Need Rank 5)  \nPilot Class  (Need Rank 7) ", "Choose","");
        TogglePlayerControllable(playerid, 0);
    }
    else
    {
        ResetPlayerWeapons( playerid );

        switch(gPlayerClass[playerid])
        {

            case ASSAULT:
            {
                GivePlayerWeapon(playerid, 4, 1);
                GivePlayerWeapon(playerid, 27, 400);
                GivePlayerWeapon(playerid, 24, 300);
                GivePlayerWeapon(playerid, 31, 600);
            }
            //rest of classes HERE OTHER CLASSES!!!!!!!!!!! HEAHGAGHA HEREHERE
        }
    }
    SetPlayerVirtualWorld(playerid, 0);

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 999)
            {
                if(response)
                    {
                if(listitem == 0)
                    {
                    if(GetPlayerScore(playerid) >= 0)
                        {
                        SendClientMessage(playerid, COLOR_WHITE, "Server News: You Chose the Assault as your class.");
                        ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "{6EF83C}Assult Class:", "{F81414}Abilities:\n{FFFFFF}A Solo class, good in infantry attacks.\n\n{F81414}Weapons:\n\n{FFFFFF}Knife\n{FFFFFF}M4\n{FFFFFF}Spaz12\n{FFFFFF}Deagle", "OK","");
                        gPlayerClass[playerid] = ASSAULT;
                        PickedClass[playerid] = 1;
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 4, 1);
                        GivePlayerWeapon(playerid, 27, 400);
                        GivePlayerWeapon(playerid, 24, 300);
                        GivePlayerWeapon(playerid, 31, 1000);
                        }
                    }

                if(listitem == 1)
                    {
                    if(GetPlayerScore(playerid) >= 300)
                        {
                        SendClientMessage(playerid, COLOR_WHITE, "Server News: You Chose the Sniper as your class.");
                        ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "{6EF83C}Sniper Class:", "{F81414}Abilities:\n{FFFFFF}A Locater class, Always invisible on map.\n\n{F81414}Weapons:\n\n{FFFFFF}Sniper Rifle\n{FFFFFF}Mp5\n{FFFFFF}Knife\n{FFFFFF}Shotgun", "OK","");
                        gPlayerClass[playerid] = SNIPER;
                        PickedClass[playerid] = 1;
                        SetPlayerColor(playerid,0xFF000000);
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 4, 1);
                        GivePlayerWeapon(playerid, 34, 500);
                        GivePlayerWeapon(playerid, 29, 400);
                        GivePlayerWeapon(playerid, 25, 500);
                        }
                    else
            {
                SendClientMessage(playerid,COLOR_RED,"You need to be on Rank 3 to get this Class.");

                ShowPlayerDialog(playerid, 999, DIALOG_STYLE_LIST, "{6EF83C}Choose A Class:", "Assault Class  (Need No Rank)  \nSniper Class  (Need Rank 3)  \nEngineer Class  (Need Rank 5)  \nJet-Trooper Class  (Need Rank 7)  \nPilot Class  (Need Rank 8)", "Choose","");
                TogglePlayerControllable(playerid, 0);
                }
            }

                if(listitem == 2)
                    {
                    if(GetPlayerScore(playerid) >= 600)
                        {
                        SendClientMessage(playerid, COLOR_WHITE, "Server News: You Chose the Engineer as your class.");
                        ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "{6EF83C}Engineer Class:", "{F81414}Abilities:\n{FFFFFF}A Strong class. Very good on land\nCan drive tanks.\n\n{F81414}Weapons:\n\n{FFFFFF}Spas12\n{FFFFFF}Silent Pistol\n{FFFFFF}RPG\n{FFFFFF}Desert Eagle", "OK","");
                        gPlayerClass[playerid] = ENGINEER;
                        PickedClass[playerid] = 1;
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 27, 400);
                        GivePlayerWeapon(playerid, 23, 400);
                        GivePlayerWeapon(playerid, 35, 2);
                        GivePlayerWeapon(playerid, 24, 300);
                        }
                    else
            {
                SendClientMessage(playerid,COLOR_DARKRED,"You need to be on Rank 5 to get this Class.");

                ShowPlayerDialog(playerid, 999, DIALOG_STYLE_LIST, "{6EF83C}Choose A Class:", "Assault Class  (Need No Rank)  \nSniper Class  (Need Rank 3)  \nEngineer Class  (Need Rank 5)  \nJet-Trooper Class  (Need Rank 7)  \nPilot Class  (Need Rank 8)", "Choose","");
                TogglePlayerControllable(playerid, 0);
                }
            }

                if(listitem == 3)
                    {
                    if(GetPlayerScore(playerid) >= 1200)
                        {
                        SendClientMessage(playerid, COLOR_WHITE, "Server News: You Chose the Jet-Trooper as your class.");
                        ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "{6EF83C}Jetrooper Class:", "{F81414}Abilities:\n{FFFFFF}A Solo class, can spawn jetpack by /jp.\n\n{F81414}Weapons:\n\n{FFFFFF}Tec-9\n{FFFFFF}Colt\n{FFFFFF}Knife\n{FFFFFF}Moltov", "OK","");
                        gPlayerClass[playerid] = JETTROOPER;
                        PickedClass[playerid] = 1;
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 4, 1);
                        GivePlayerWeapon(playerid, 32, 1000);
                        GivePlayerWeapon(playerid, 22, 1000);
                        GivePlayerWeapon(playerid, 18, 2);
                        }
                    else
            {
                SendClientMessage(playerid,COLOR_DARKRED,"You need to be on Rank 7 to get this Class.");

                ShowPlayerDialog(playerid, 999, DIALOG_STYLE_LIST, "{6EF83C}Choose A Class:", "Assault Class  (Need No Rank)  \nSniper Class  (Need Rank 3)  \nEngineer Class  (Need Rank 5)  \nJet-Trooper Class  (Need Rank 7)  \nPilot Class  (Need Rank 8)", "Choose","");
                TogglePlayerControllable(playerid, 0);
                }
            }

                if(listitem == 4)
                    {
                    if(GetPlayerScore(playerid) >= 2000)
                        {
                        SendClientMessage(playerid, COLOR_WHITE, "Server News: You Chose the Pilot as your class.");
                        ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "{6EF83C}Pilot Class:", "{F81414}Abilities:\n{FFFFFF}A Airforce class, Very Good in Air. Can drive Hunter, Hydra & Sea Sparrow.\n\n{F81414}Weapons:\n\n{FFFFFF}Deagle\n{FFFFFF}Tear Gas\n{FFFFFF}Shotgun\n{FFFFFF}9mm", "OK","");
                        gPlayerClass[playerid] = PILOT;
                        PickedClass[playerid] = 1;
                        SetPlayerVirtualWorld(playerid, 0);
                        TogglePlayerControllable(playerid, 1);
                        GivePlayerWeapon(playerid, 22, 300);
                        GivePlayerWeapon(playerid, 24, 400);
                        GivePlayerWeapon(playerid, 17, 4);
                        GivePlayerWeapon(playerid, 25, 200);
                        }
                        else
            {
                SendClientMessage(playerid,COLOR_DARKRED,"You need to be on Rank 8 to get this Class.");

                ShowPlayerDialog(playerid, 999, DIALOG_STYLE_LIST, "{6EF83C}Choose A Class:", "Assault Class  (Need No Rank)  \nSniper Class  (Need Rank 3)  \nEngineer Class  (Need Rank 5)  \nJet-Trooper Class  (Need Rank 7)  \nPilot Class  (Need Rank 8)", "Choose","");
                TogglePlayerControllable(playerid, 0);
                }
            }
           

                return 1;
        }
                return 1;
    }
    return true;

}
Reply
#4

Ah thanks. Done rep Added
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)