SA-MP Forums Archive
Scripting question - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Scripting question (/showthread.php?tid=370783)



Scripting question - _Khaled_ - 21.08.2012

pawn Код:
public OnGameModeInit()
{
    SetGameModeText("Role Play");
    AddPlayerClass(2, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(265, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(287, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
   
    return 1;
}
//===============================================================
public OnPlayerRequestClass(playerid, classid)
{
    Class[playerid] = classid;
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,944.99,-41.64,1001.77);
    SetPlayerFacingAngle(playerid,180.0);
    SetPlayerCameraPos(playerid,944.69,-47.54,1001.12);
    SetPlayerCameraLookAt(playerid,944.99,-41.64,1001.77);
    if(classid == 0)
    {
        SetPlayerTeamFromClass(playerid, classid);
        GameTextForPlayer(playerid,"~w~CIVILIAN",1000,4);
    }
    if(classid == 1)
    {
        SetPlayerTeamFromClass(playerid, classid);
        GameTextForPlayer(playerid,"~b~COP",1000,4);
    }
    if(classid == 2)
    {
        SetPlayerTeamFromClass(playerid, classid);
        GameTextForPlayer(playerid,"~g~ARMY",1000,4);
    }
    return 1;
}
//==================================================
I want to add multiple skins for every class, with the Game text showing, How?


Re: Scripting question - _Khaled_ - 21.08.2012

Anyone help?


Re: Scripting question - Lordzy - 21.08.2012

I think You could addmore by adding more addplayerclass.
And for gametext,
You can show it under OnPlayerRequestClass.


Re: Scripting question - clarencecuzz - 21.08.2012

Let's say you have
pawn Код:
AddPlayerClass(2, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //classid 0
    AddPlayerClass(265, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(287, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(294, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //classid 3
Now for an example, let's say you want classid 0 and 3 to be 'Civilians':
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
    Class[playerid] = classid;
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,944.99,-41.64,1001.77);
    SetPlayerFacingAngle(playerid,180.0);
    SetPlayerCameraPos(playerid,944.69,-47.54,1001.12);
    SetPlayerCameraLookAt(playerid,944.99,-41.64,1001.77);
    if(classid == 0 || classid == 3)
    {
        SetPlayerTeamFromClass(playerid, classid);
        GameTextForPlayer(playerid,"~w~CIVILIAN",1000,4);
    }
    if(classid == 1)
    {
        SetPlayerTeamFromClass(playerid, classid);
        GameTextForPlayer(playerid,"~b~COP",1000,4);
    }
    if(classid == 2)
    {
        SetPlayerTeamFromClass(playerid, classid);
        GameTextForPlayer(playerid,"~g~ARMY",1000,4);
    }
    return 1;
}
Or alternatively, you could use:
pawn Код:
switch(classid)
{
    case 0, 3:
    {
        GameTextForPlayer(playerid,"~w~CIVILIAN",1000,4);
    }
    case 1:
    {
        GameTextForPlayer(playerid,"~b~COP",1000,4);
    }
    case 2:
    {
        GameTextForPlayer(playerid,"~g~ARMY",1000,4);
    }
}
SetPlayerTeamFromClass(playerid, classid);
And change your function like so:
pawn Код:
stock SetPlayerTeamFromClass(playerid, classid)
{
    switch(classid)
    {
        case 0, 3:
        {
            gTeam[playerid] = TEAM_CIV; //Considering the fact if you have defines at the top.
        }
        case 1:
        {
            gTeam[playerid] = TEAM_COP;
        }
        case 2:
        {
            gTeam[playerid] = TEAM_ARMY;
        }
    }
    return 1;
}
You will need to have:
pawn Код:
new gTeam[MAX_PLAYERS];
#define TEAM_CIV 0
#define TEAM_COP 1
#define TEAM_ARMY 2
At the top of your script, in the respective position.


Re: Scripting question - _Khaled_ - 21.08.2012

Like?