สอนสร้างแก๊ง

gtahawaii profile image gtahawaii
อย่างแรกเราก็ สร้าง Leader มาก่อน

ตอนแรกเราต้องมีสกินเกี่ยวกับลีดหรือสกินลูกน้อง

http://wiki.sa-mp.com/wiki/Skins

สามารถหาได้จากที่นี่

ขั้นแรกเรามาเรียนเรื่องเขียนลีดกัน

เรามาดูคำสั่ง ในการสร้างลีดกัน /makeleader

//----------------------------------[MAKELEADER]------------------------------------------------
    if(strcmp(cmd, "/makeleader", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "การใช้งาน: /makeleader [playerid/PartOfName] [Number(1-15)]");
                return 1;
            }
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
if(level > 15 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "   ตอนนี้มี 15 ลีด !"); return 1; }
            if (PlayerInfo[playerid][pAdmin] >= 1337)
            {
                if(IsPlayerConnected(para1))
                {
                    if(para1 != INVALID_PLAYER_ID)
                    {
                        if(PlayerInfo[para1][pMember] > 0 || PlayerInfo[para1][pFMember] < 255)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   ผู้เล่นคนนั้นมีองค์กร / ครอบครัว แล้ว !");
                            return 1;
                        }
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pLeader] = level;
                        format(string, sizeof(string), "   You have been promoted to Leader to your requested Faction by Admin %s", sendername);
                        SendClientMessage(para1, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "   You have given %s control to run Faction Number %d.", giveplayer,level);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        if(level == 0) { PlayerInfo[para1][pChar] = 0; }
                       else if(level == 1) { PlayerInfo[para1][pChar] = 280; } //Police Force
else if(level == 2) { PlayerInfo[para1][pChar] = 286; } //C.I.A
else if(level == 3) { PlayerInfo[para1][pChar] = 287; } //National Guard
else if(level == 4) { PlayerInfo[para1][pChar] = 70; } //Fire/Ambulance
else if(level == 5) { PlayerInfo[para1][pChar] = 116; } //Mafia
else if(level == 6) { PlayerInfo[para1][pChar] = 120; } //Yakuza
else if(level == 7) { PlayerInfo[para1][pChar] = 147; } //Mayor
else if(level == 8) { PlayerInfo[para1][pChar] = 294; } //Hitmans
else if(level == 9) { PlayerInfo[para1][pChar] = 227; } //News Reporters
else if(level == 10) { PlayerInfo[para1][pChar] = 61; } //Taxi Cab Company
else if(level == 11) { PlayerInfo[para1][pChar] = 171; } //Driving/Flying School
else if(level == 12) { PlayerInfo[para1][pChar] = 107; } //Grove
else if(level == 13) { PlayerInfo[para1][pChar] = 104; } //Ballas
else if(level == 14) { PlayerInfo[para1][pChar] = 115; } //Aztec
else if(level == 15) { PlayerInfo[para1][pChar] = 109; } //Vagos
                        gTeam[para1] = 15;
                        PlayerInfo[para1][pTeam] = 15;
                        SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
                    }
                }//not connected
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   คุณไม่สามารถใช้คำสั่งนี้ได้นะค๊าฟ !");
            }
        }
        return 1;
    }

if(level > 15 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "   ตอนนี้มี 15 ลีด !"); return 1; }

คือเราสามารถสร้างลีดตั้งแต่เลข 0 ถึง 15 ถ้าเราต้องการสร้างมากกว่า 15 ให้ปรับจาก 15เป็นเลขอื่น

ต่อไปมาดูเลขของลีดที่สร้างกัน

                       else if(level == 1) { PlayerInfo[para1][pChar] = 280; } //Police Force
else if(level == 2) { PlayerInfo[para1][pChar] = 286; } //C.I.A
else if(level == 3) { PlayerInfo[para1][pChar] = 287; } //National Guard
else if(level == 4) { PlayerInfo[para1][pChar] = 70; } //Fire/Ambulance
else if(level == 5) { PlayerInfo[para1][pChar] = 116; } //Mafia
else if(level == 6) { PlayerInfo[para1][pChar] = 120; } //Yakuza
else if(level == 7) { PlayerInfo[para1][pChar] = 147; } //Mayor
else if(level == 8) { PlayerInfo[para1][pChar] = 294; } //Hitmans
else if(level == 9) { PlayerInfo[para1][pChar] = 227; } //News Reporters
else if(level == 10) { PlayerInfo[para1][pChar] = 61; } //Taxi Cab Company
else if(level == 11) { PlayerInfo[para1][pChar] = 171; } //Driving/Flying School
else if(level == 12) { PlayerInfo[para1][pChar] = 107; } //Grove
else if(level == 13) { PlayerInfo[para1][pChar] = 104; } //Ballas
else if(level == 14) { PlayerInfo[para1][pChar] = 115; } //Aztec
else if(level == 15) { PlayerInfo[para1][pChar] = 109; } //Vagos
level == 15 คือเลขของลำดับลีดในการสร้างลีด pChar] = 285; 285 คือเลขสกินของลีดถ้าเราต้องการสร้างลีดที่ 16 เราก้อต้องเพิ่มแบบนี้

else if(level == 16) { PlayerInfo[para1][pChar] =000; } //อะไรก้อว่าไป สีแดงคือเลขสกินของหัวหน้าลีด

ต่อมาเรามาทำ จุดเกิดของแก๊งกัน
Ctrl + F แล้วใส่

public SetPlayerSpawn(playerid)

แล้วเลื่อน ลงมา จะเห็น

if (PlayerInfo[playerid][pMember] == ? || PlayerInfo[playerid][pLeader] == ?)

อยู่กันเป็นฝูง
ต่อมา ทำ พิกัด ให้แก๊งเราเกิดกัน
ผมใช้ แก๊ง เลข 16 ชื่อแก๊ง กล้วยไทย ละกันนะครับ

       if (PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16) //Kluythai spawn
        {
            SetPlayerToTeamColor(playerid);
            SetPlayerPos(playerid, -2387.5916,-575.8246,132.1172);   <<< พิกัดจุดเกิด
            SetPlayerInterior(playerid,0);     <<< Int
            PlayerInfo[playerid][pInt] = 1;
            return 1;
        }

ถ้าอยากให้เกิดมามีปืนเลย ก็ใส่

GivePlayerWeapon(playerid, 24, 500);
GivePlayerWeapon(playerid, 29, 500);

    if (PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)//Kluythai spawn
        {
            SetPlayerToTeamColor(playerid);
GivePlayerWeapon(playerid, 24, 500);    <<< Deagle
GivePlayerWeapon(playerid, 29, 500);    <<< Mp5
            SetPlayerInterior(playerid, 0); <<< Int
            SetPlayerPos(playerid, -2387.5916,-575.8246,132.1172); <<< พิกัดจุดเกิด
            PlayerInfo[playerid][pInt] = 0;
            return 1;
        }

ส่วนปืน ที่ ให้กับแก๊ง บาง ท่าน อาจจะใช้ /getgun หรือ /fillup

หลังจากนั้น เรามารับลูกน้องเข้าแก๊ง
Ctrl + F แล้วใส่ if(strcmp(cmd, "/invite", true) == 0)

แล้วเราเลื่อนลงมาดูตรงที่

                            else if(PlayerInfo[playerid][pLeader] == 2) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "C.I.A"; ChosenSkin[para1] = 166; SetPlayerSkin(para1, 166); }
                            else if(PlayerInfo[playerid][pLeader] == 3) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "AIR BONE_FORCE"; ChosenSkin[para1] = 287; SetPlayerSkin(para1, 287); }
                            else if(PlayerInfo[playerid][pLeader] == 4) { PlayerInfo[para1][pTeam] = 1; gTeam[para1] = 1; ftext = "Firemen/Ambulance"; ChosenSkin[para1] = 70; SetPlayerSkin(para1, 70); }
                            else if(PlayerInfo[playerid][pLeader] == 5) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Mafia"; ChosenSkin[para1] = 113; SetPlayerSkin(para1, 113); }
                            else if(PlayerInfo[playerid][pLeader] == 6) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Yakuza"; ChosenSkin[para1] = 120; SetPlayerSkin(para1, 120); }
                            else if(PlayerInfo[playerid][pLeader] == 7) { return 1; }
                            else if(PlayerInfo[playerid][pLeader] == 8) { PlayerInfo[para1][pTeam] = 10; gTeam[para1] = 12; ftext = "Hitman Agency"; ChosenSkin[para1] = 127; SetPlayerSkin(para1, 127); }
                            else if(PlayerInfo[playerid][pLeader] == 9) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "CNN Studio"; ChosenSkin[para1] = 148; SetPlayerSkin(para1, 148); }
                            else if(PlayerInfo[playerid][pLeader] == 10) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Taxi Cab Company"; ChosenSkin[para1] = 255; SetPlayerSkin(para1, 255); }
                            else if(PlayerInfo[playerid][pLeader] == 11) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "School Instructors"; ChosenSkin[para1] = 59; SetPlayerSkin(para1, 59); }
                            else if(PlayerInfo[playerid][pLeader] == 12) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Grove Street"; ChosenSkin[para1] = 105; SetPlayerSkin(para1, 105); }//107
                            else if(PlayerInfo[playerid][pLeader] == 13) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Ballas"; ChosenSkin[para1] = 102; SetPlayerSkin(para1, 102); }
                            else if(PlayerInfo[playerid][pLeader] == 14) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "VAGOS"; ChosenSkin[para1] = 108; SetPlayerSkin(para1, 108); }//110
                            else if(PlayerInfo[playerid][pLeader] == 15) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "AZTECZA"; ChosenSkin[para1] = 114; SetPlayerSkin(para1, 114); }

ตรงนี้นะครับ ที่อยู่กันเยอะๆ แล้วก็ ใส่ต่อจากบรรทัดเดิม

else if(PlayerInfo[playerid][pLeader] ==16) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Kluythai"; ChosenSkin[para1] = 59; SetPlayerSkin(para1, 59); }

ส่วน uninvite ก็ยังอยู่คงเดิมนะครับ

แล้วเราก็มาทำ Rank ให้กับ แก๊ง
Ctrl + F ใส่ public ShowStats(playerid,targetid)
แล้วก็ใส่

else if(PlayerInfo[targetid][pMember] == 16 || PlayerInfo[targetid][pLeader] ==16) { ttext = "Kluythai"; }

ที่เรียงกันยาวๆ
เหมือนตอนเราทำ /invite อ่าครับ
ก็จะออกมาเป็นแบบนี้ต่อจากบรรทัดสุดท้าย

public ShowStats(playerid,targetid)
{
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
    {
        new cash =  GetPlayerMoney(targetid);
        new atext[20];
        if(PlayerInfo[targetid][pSex] == 1) { atext = "???"; }
        else if(PlayerInfo[targetid][pSex] == 2) { atext = "???"; }
          new otext[20];
        if(PlayerInfo[targetid][pOrigin] == 1) { otext = "???????"; }
        else if(PlayerInfo[targetid][pOrigin] == 2) { otext = "?????"; }
        else if(PlayerInfo[targetid][pOrigin] == 3) { otext = "??????"; }
        new ttext[20];
        if(PlayerInfo[targetid][pMember] == 4 || PlayerInfo[targetid][pLeader] == 4) { ttext = "?????"; }
        else if(gTeam[targetid] == 3 || gTeam[targetid] == 4) { ttext = "???????"; }
        else if(PlayerInfo[targetid][pMember] == 1 || PlayerInfo[targetid][pLeader] == 1) { ttext = "?????"; }
        else if(PlayerInfo[targetid][pMember] == 2 || PlayerInfo[targetid][pLeader] == 2) { ttext = "C.I.A"; }
        else if(PlayerInfo[targetid][pMember] == 3 || PlayerInfo[targetid][pLeader] == 3) { ttext = "????"; }
        else if(PlayerInfo[targetid][pMember] == 4 || PlayerInfo[targetid][pLeader] == 4) { ttext = "??????????/?????"; }
        else if(PlayerInfo[targetid][pMember] == 5 || PlayerInfo[targetid][pLeader] == 5) { ttext = "??????"; }
        else if(PlayerInfo[targetid][pMember] == 6 || PlayerInfo[targetid][pLeader] == 6) { ttext = "???????"; }
        else if(PlayerInfo[targetid][pMember] == 8 || PlayerInfo[targetid][pLeader] == 8) { ttext = "HITMAN"; }
        else if(PlayerInfo[targetid][pMember] == 9 || PlayerInfo[targetid][pLeader] == 9) { ttext = "???????"; }
        else if(PlayerInfo[targetid][pMember] == 10 || PlayerInfo[targetid][pLeader] == 10) { ttext = "???????"; }
        else if(PlayerInfo[targetid][pMember] == 11 || PlayerInfo[targetid][pLeader] == 11) { ttext = "??????????"; }
        else if(PlayerInfo[targetid][pMember] == 12 || PlayerInfo[targetid][pLeader] == 12) { ttext = "Grove Street"; }
        else if(PlayerInfo[targetid][pMember] == 13 || PlayerInfo[targetid][pLeader] == 13) { ttext = "BALLAS"; }
        else if(PlayerInfo[targetid][pMember] == 14 || PlayerInfo[targetid][pLeader] == 14) { ttext = "VAGOS"; }
        else if(PlayerInfo[targetid][pMember] == 15 || PlayerInfo[targetid][pLeader] == 15) { ttext = "AZTECZA"; }
else if(PlayerInfo[targetid][pMember] == 16 || PlayerInfo[targetid][pLeader] == 16) { ttext = "Kluythai"; }

        new dtext[20];
        if(STDPlayer[targetid] == 1) { dtext = "Chlamydia"; }
        else if(STDPlayer[targetid] == 2) { dtext = "Gonorrhea"; }
        else if(STDPlayer[targetid] == 3) { dtext = "Syphilis"; }

แล้วก็มาใส่ ยศของในแก๊ง หรือ Rank นั่นเอง

        else if(PlayerInfo[targetid][pMember] == 16 || PlayerInfo[targetid][pLeader] == 16)//Kluythai
        {
            if(PlayerInfo[targetid][pRank] == 1) { rtext = "ลูกน้อง"; }
            else if(PlayerInfo[targetid][pRank] == 2) { rtext = "นักเลงกินกล้วย"; }
            else if(PlayerInfo[targetid][pRank] == 3) { rtext = "นักเลงกินกล้วยน้ำว้า"; }
            else if(PlayerInfo[targetid][pRank] == 4) { rtext = "คนคุมนังเลง"; }
            else if(PlayerInfo[targetid][pRank] == 5) { rtext = "มือขวาบอส"; }
            else if(PlayerInfo[targetid][pRank] == 6) { rtext = "บอส"; }
            else { rtext = "มือใหม่หัดขับ"; }
        }

หวังว่าคงจะไม่งงกันนะครับ

ต่อด้วยตอนที่ 2 การสร้าง สกินให้กับแก๊งละกันนะครับ

อย่างแรกเลย หาสกินมาลง ก่อน เลย ครับ ^^ ดู skin เอา ที่นี่ นะครับ

http://wiki.sa-mp.com/wiki/Skins

ต่อมา แอด สกินลงในสคริปนะครับ
Ctrl + F แล้วใส่ new JoinPed

new JoinPed[62][1] = {
{265},//POLICE_FORCE 0
{266},// 1
{282},// 2
{284},// 3
{285},// 4
{288},// 5
{71},// 6
{283},// 7
{281},// 8
{280},// 9
{166},//C.I.A 10
{165},// 11
{164},// 12
{163},// 13
{287},//Armed Forces 14
{70},//FIRE/AMBULANCE 15
{274},// 16
{275},// 17
{276},// 18
{277},// 19
{278},// 20
{279},// 21
{113},//Los Corona Aztecas 22
{111},// 23
{98},// 24
{112},// 25
{120},//YAKUZA 26
{121},// 27
{122},// 28
{123},// 29
{126},// 30
{188},//Mayor 31
{223},// 32
{60}, // 33
{294},//Hitmans 34
{127},// 35
{148},//NEWS_REPORTERS 36
{187},// 37
{227},// 38
{57},// 39
{255},//TAXI_CAB_COMPANY 40
{253},// 41
{189},//DRIVING/FLYING_SCHOOL 42
{60},//DRIVING/FLYING_SCHOOL 43
{101},//DRIVING/FLYING_SCHOOL 44
{105},//G.S 45
{106},//G.S 46
{107},//G.S 47
{102},//B.S 48
{103},//B.S 49
{104},//B.S 50
{108},//V.G 51
{109},//V.G 52
{110},//V.G 53
{114},//A.Z 54
{115},//A.Z 55
{116},//A.Z 56
{59},//Kluythai 57
{73},// 58
{93},// 59
{233},// 60
{240}// 61
}

จะเห็นได้ว่า ผม เอาลง 5 skin นะครับ แล้วใส่เลข นับจาก อันแรกลงมา จะเห็นได้ว่าผม วางเลขไว้ จาก 0 ถึง 61 = 62
อย่าลืมนับเลข 0 ด้วยนะ
เพื่อที่จะ ไปใส่ ตอนเลือกตัวละคร
new JoinPed[62][1] = {

ต่อมา
Ctrl + F ใส่public OnPlayerText(playerid, text[])

แล้วเลื่อนลงมา จะเห็นว่า จะมี เลข ตามให้เลือกสกิน
ผม เขียน ขึ้นมาให้ดูก่อนนะครับ

case 16: //Kluythai
{
if(SelectCharPlace[playerid] == 1) { SetPlayerSkin(playerid, JoinPed[57][0]); SelectCharPlace[playerid] = 2; ChosenSkin[playerid] = JoinPed[57][0]; }
else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[58][0]); SelectCharPlace[playerid] = 3; ChosenSkin[playerid] = JoinPed[58][0]; }
else if(SelectCharPlace[playerid] == 3) { SetPlayerSkin(playerid, JoinPed[59][0]); SelectCharPlace[playerid] = 4; ChosenSkin[playerid] = JoinPed[59][0]; }
else if(SelectCharPlace[playerid] == 4) { SetPlayerSkin(playerid, JoinPed[60][0]); SelectCharPlace[playerid] = 5; ChosenSkin[playerid] = JoinPed[60][0]; }
else if(SelectCharPlace[playerid] == 5) { SetPlayerSkin(playerid, JoinPed[61][0]); SelectCharPlace[playerid] = 1; ChosenSkin[playerid] = JoinPed[61][0]; }
}

จะเห็นได้ว่า ผม ใส่ เลขสลับกัน ในสกิน

if(SelectCharPlace[playerid] == 1) { SetPlayerSkin(playerid,JoinPed[57][0]); SelectCharPlace[playerid] = 2; ChosenSkin[playerid] = JoinPed[57][0]; }
else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[58][0]); SelectCharPlace[playerid] = 3; ChosenSkin[playerid] = JoinPed[58][0]; }
else if(SelectCharPlace[playerid] == 3) { SetPlayerSkin(playerid, JoinPed[59][0]); SelectCharPlace[playerid] = 4; ChosenSkin[playerid] = JoinPed[59][0]; }
else if(SelectCharPlace[playerid] == 4) { SetPlayerSkin(playerid, JoinPed[60][0]); SelectCharPlace[playerid] = 5; ChosenSkin[playerid] = JoinPed[60][0]; }
else if(SelectCharPlace[playerid] == 5) { SetPlayerSkin(playerid, JoinPed[61][0]); SelectCharPlace[playerid] = 1; ChosenSkin[playerid] = JoinPed[61][0]; }

แล้วอย่าลืมใส่เลข joinped ด้วยหละ

เท่านี้ ก็เสร็จละครับ

มีปัญหาอะไรถามได้นะครับ ^^






ขอแค่คำขอบคุณครับ


สอนสร้างแก๊ง

ความคิดเห็น

ประกาศล่าสุดในบอร์ดเดียวกัน

gtahawaii Icon สอนสร้างแก๊ง อ่าน 985 12 ปีที่ผ่านมา
12 ปีที่ผ่านมา
12 ปีที่ผ่านมา