[FRAGEN] Fraktion, Fraktionscars und skins Wie Wo Was Hilfe ??? ^^

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Also habe ein Selfmade Script ich habe jetz TEAM_ZIVI 0 und TEAM_SFPD 1 ich habe das Admins /makeleader machen können und die leader können /invite und /rangup machen.
    Ich habe schon die SFPD base mit Autos vollgepackt ^^ nun will ich die cars mit Id´s besetzen aber weiß nich wie :wacko: und dann will ich das nur TEAM_SFPD 1 in die Cars kann und wenn andere einsteigen wollen soll er so an der Tür ziehen aber die Tür net aufgehen und es soll dann dastehen das er keinen Schlüssel hat : also mit SendClientMessage(playerid,FARBE,"Du hast keine Schlüssel."); weil das komich ist wen man einsteigt und wieder gekickt wird sieht halt net real aus ..
    So das war 1. ^^
    Und jetz 2. wenn man Team Cops kommt stirbt man und kommt in die SkinSelection und dan soll man nur die Copskins sehen geht das ? und das wenn man /skinspeichern macht das es dan den neuen skin sofort in die ini speichert ansonsten spawn ich wieder mit dem skin den ich davor hatte -.-* und wenn man bei TEAM_ZIVI 0 ist das man nur die Ziviskins sieht ??
    hier mal die skins:
    //SFPD
    AddPlayerClass(280,-2637.6162,605.2163,14.4531,178.9006,24,200,25,70,41,1000000);
    AddPlayerClass(281,-2637.6162,605.2163,14.4531,178.9006,24,200,25,70,41,1000000);
    AddPlayerClass(282,-2637.6162,605.2163,14.4531,178.9006,24,200,25,70,41,1000000);
    //ZIVI
    AddPlayerClass(200,-2637.6162,605.2163,14.4531,178.9006,0,0,0,0,0,0);
    AddPlayerClass(212,-2637.6162,605.2163,14.4531,178.9006,0,0,0,0,0,0);
    AddPlayerClass(159,-2637.6162,605.2163,14.4531,178.9006,0,0,0,0,0,0);
    AddPlayerClass(77,-2637.6162,605.2163,14.4531,178.9006,0,0,0,0,0,0);
    AddPlayerClass(78,-2637.6162,605.2163,14.4531,178.9006,0,0,0,0,0,0);
    AddPlayerClass(79,-2637.6162,605.2163,14.4531,178.9006,0,0,0,0,0,0);
    AddPlayerClass(137,-2637.6162,605.2163,14.4531,178.9006,0,0,0,0,0,0);
    AddPlayerClass(160,-2637.6162,605.2163,14.4531,178.9006,0,0,0,0,0,0);


    hier mal die cars:
    // ______SFPD______
    //Police Car
    CreateVehicle(597, -1616.3781,749.7031, -5.2422,179.6711, 86, 1, 800);
    CreateVehicle(597, -1604.5389,749.7536, -5.2422,173.0910, 86, 1, 800);
    CreateVehicle(597, -1612.8207, 750.2399, -5.4740, 180.0729, 86, 1, 800);
    CreateVehicle(597, -1608.3560,750.2009, -5.4736,180.3843, 86, 1, 800);
    CreateVehicle(597, -1600.4595,750.4750, -5.4728,180.6400, 86, 1, 800);
    CreateVehicle(597, -1596.3026,750.1548, -5.4718,181.7798, 86, 1,800);
    CreateVehicle(597, -1592.1467,750.4123, -5.4730, 179.6615, 86, 1, 800);
    CreateVehicle(597, -1588.1224, 750.5228, -5.4746, 177.7831, 86, 1, 800);
    CreateVehicle(597, -1584.0654, 750.5484, -5.4735,180.7048, 86, 1, 800);
    CreateVehicle(597, -1580.0497, 750.3355, -5.4797, 180.3170, 86, 1, 800);
    //Police Heli
    CreateVehicle(497, -1679.5835, 705.9642, 30.6016, 95.7204, 86, 1, 800);
    //Police Spezial
    CreateVehicle(601, -1623.3063, 649.8629, -5.4733, 90.1021, 0, 1, 800);
    CreateVehicle(528, -1622.8436, 653.5638, -5.4723, 90.5839, 0, 1, 800);
    CreateVehicle(427, -1639.8529, 649.9787, -5.4765, 269.3743, 86, 1, 800);
    CreateVehicle(427, -1639.0969 ,657.9473, -5.4834, 270.2426, 86, 1, 800);
    CreateVehicle(427, -1639.7167, 666.2165, -5.4834, 268.7720, 86, 1, 800);
    //Ranger
    CreateVehicle(599, -1640.3381, 674.0170, -5.1987, 269.2324, 86, 1, 800);
    CreateVehicle(599, -1640.2942, 678.0220, -5.1998, 270.1458, 86, 1, 800);
    CreateVehicle(599, -1640.4838, 682.0898, -5.2004 ,270.3937, 86, 1, 800);
    CreateVehicle(599, -1640.7704, 686.4244, -5.1992, 269.1693, 86, 1, 800);
    //Mopeds
    CreateVehicle(586, -1573.9181, 706.4676, -5.4727, 88.8371, 86, 1, 800);
    CreateVehicle(586, -1573.2808, 709.9452, -5.4731, 88.8948, 86, 1, 800);
    CreateVehicle(586, -1573.7507, 713.9541, -5.4733, 90.9377, 86, 1, 800);
    CreateVehicle(586, -1573.5592, 718.4440, -5.4714, 88.5575, 86, 1, 800);
    //Speedcars
    CreateVehicle(506, -1616.5947, 733.3229, -5.4716 ,359.0839 ,0 , 0, 800);
    CreateVehicle(415, -1612.3861, 732.8743, -5.4734, 0.1733, 0, 0, 800);


    Hoffe ihr wisst was ich meine .. :D


    MfG bad_company


    //EDIT: wenn ihr noch scriptteile brauch sagts ich poste sie dan

  • zu 1 kann ich dir ein teil helfen. wie er aber vor dem auto stehen bleibt und die tür abgeschlossen ist weiß ich nicht.



    new sfpdauto[26];


    OnGameModeInit() //OnFilterScriptInit()
    {
    // ______SFPD______
    //Police Car
    sfpdauto[0] = CreateVehicle(597, -1616.3781,749.7031, -5.2422,179.6711, 86, 1, 800);
    sfpdauto[1] = CreateVehicle(597, -1604.5389,749.7536, -5.2422,173.0910, 86, 1, 800);
    sfpdauto[2] = CreateVehicle(597, -1612.8207, 750.2399, -5.4740, 180.0729, 86, 1, 800);
    sfpdauto[3] = CreateVehicle(597, -1608.3560,750.2009, -5.4736,180.3843, 86, 1, 800);
    sfpdauto[4] = CreateVehicle(597, -1600.4595,750.4750, -5.4728,180.6400, 86, 1, 800);
    sfpdauto[5] = CreateVehicle(597, -1596.3026,750.1548, -5.4718,181.7798, 86, 1,800);
    sfpdauto[6] = CreateVehicle(597, -1592.1467,750.4123, -5.4730, 179.6615, 86, 1, 800);
    sfpdauto[7] = CreateVehicle(597, -1588.1224, 750.5228, -5.4746, 177.7831, 86, 1, 800);
    sfpdauto[8] = CreateVehicle(597, -1584.0654, 750.5484, -5.4735,180.7048, 86, 1, 800);
    sfpdauto[9] = CreateVehicle(597, -1580.0497, 750.3355, -5.4797, 180.3170, 86, 1, 800);
    //Police Heli
    sfpdauto[10] = CreateVehicle(497, -1679.5835, 705.9642, 30.6016, 95.7204, 86, 1, 800);
    //Police Spezial
    sfpdauto[11] = CreateVehicle(601, -1623.3063, 649.8629, -5.4733, 90.1021, 0, 1, 800);
    sfpdauto[12] = CreateVehicle(528, -1622.8436, 653.5638, -5.4723, 90.5839, 0, 1, 800);
    sfpdauto[13] = CreateVehicle(427, -1639.8529, 649.9787, -5.4765, 269.3743, 86, 1, 800);
    sfpdauto[14] = CreateVehicle(427, -1639.0969 ,657.9473, -5.4834, 270.2426, 86, 1, 800);
    sfpdauto[15] = CreateVehicle(427, -1639.7167, 666.2165, -5.4834, 268.7720, 86, 1, 800);
    //Ranger
    sfpdauto[16] = CreateVehicle(599, -1640.3381, 674.0170, -5.1987, 269.2324, 86, 1, 800);
    sfpdauto[17] = CreateVehicle(599, -1640.2942, 678.0220, -5.1998, 270.1458, 86, 1, 800);
    sfpdauto[18] = CreateVehicle(599, -1640.4838, 682.0898, -5.2004 ,270.3937, 86, 1, 800);
    sfpdauto[19] = CreateVehicle(599, -1640.7704, 686.4244, -5.1992, 269.1693, 86, 1, 800);
    //Mopeds
    sfpdauto[20] = CreateVehicle(586, -1573.9181, 706.4676, -5.4727, 88.8371, 86, 1, 800);
    sfpdauto[21] = CreateVehicle(586, -1573.2808, 709.9452, -5.4731, 88.8948, 86, 1, 800);
    sfpdauto[22] = CreateVehicle(586, -1573.7507, 713.9541, -5.4733, 90.9377, 86, 1, 800);
    sfpdauto[23] = CreateVehicle(586, -1573.5592, 718.4440, -5.4714, 88.5575, 86, 1, 800);
    //Speedcars
    sfpdauto[24] = CreateVehicle(506, -1616.5947, 733.3229, -5.4716 ,359.0839 ,0 , 0, 800);
    sfpdauto[25] = CreateVehicle(415, -1612.3861, 732.8743, -5.4734, 0.1733, 0, 0, 800);
    return 1;
    }
    //ich hoffe so klappt es, habs bisher nur mit AddStaticVehicle gemacht..


    public OnPlayerStateChange(playerid, newstate, oldstate) // wenn er am steuer sitzt..
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new j = 0;j<sizeof sfpdauto;j++)
    {
    if(vehicleid == sfpdauto[j])
    {
    if(gTeam[playerid] == TEAM_SFPD)
    {
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du besitzt keinen Schlüssel für dieses Auto!");
    RemovePlayerFromVehicle(playerid); //hier wird der dann rausgeschmissen.
    }
    }
    }
    }
    return 1;
    }
    //so wolltest du es ja nicht.. somit kann ich dur nur zum teil helfen:


    OnPlayerEnterVehicle(..)
    {
    for(new j = 0;j<sizeof sfpdauto;j++)
    {
    if(vehicleid == sfpdauto[j])
    {
    if(gTeam[playerid] == TEAM_SFPD)
    {
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du besitzt keinen Schlüssel für dieses Auto!");
    //das er stehen bleibt und die tüt net aufgeht...
    }
    }
    }
    return 1;
    }

  • Am besten ist die variante hier, ist aber nur mit AddStaticVehicle machbar. Das AddPlayerClass kannst du dann entfernen wenn du Join Ped und new Ped im script hasst.


    new SelectChar[MAX_PLAYERS];
    new SelectCharID[MAX_PLAYERS];
    new SelectCharPlace[MAX_PLAYERS];



    forward IsASFCopCar(palyerid);
    forward IsASFCop(playerid);
    forward SetPlayerToTeamColor(playerid);


    // Fraktion Skins
    new Join Ped[3][1]{
    {280},
    {281},
    {282}
    };
    // Spieler Skins
    new Peds[2][1] = {
    {29},
    {288}
    }


    Jetzt erstellen wir die Fraktion SFPolice, das Kommt nach dem Main
    public IsASFCop(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new leader = PlayerInfo[playerid][pLeader];
    new member = PlayerInfo[playerid][pMember];
    if(member==1)
    {
    return 1;
    }
    else if(leader==1)
    {
    return 1;
    }
    }
    return 0;
    }
    DIe Zahl 1 bedeutet Welche Fraktion reihe es ist ob 1 oder 30 ist egal. Es muss nachher nur zusammen passen.


    Nun kommen wir zu den Fahrzeugen, die werden definiert nur von bestimmten Fraktion benutzt werden können. Welche das denn sind ist dir überlassen.
    public IsASFCopCar(carid)
    {
    if(GetVehicleModel(carid) == 415 || GetVehicleModel(carid) == 427 || GetVehicleModel(carid) == 497 || GetVehicleModel(carid) == 506 || GetVehicleModel(carid) == 528 || GetVehicleModel(carid) == 586 || GetVehicleModel(carid) == 597 || GetVehicleModel(carid) == 599 || GetVehicleModel(carid) == 601)
    {
    return 1;
    }
    return 0;
    }


    Bei public OnPlayerStateChange(playerid, newstate, oldstate) fügst das hier ein,

    new string[256];
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(IsASFCopCar(newcar))
    {
    if(IsASFCop(playerid)) { }
    else { RemovePlayerFromVehicle(playerid); }
    }
    if(newcar == 1 || newcar == 2 || newcar == 3 || newcar == 4 || newcar == 5 || newcar == 6 || newcar == 7 || newcar == 8 || newcar == 9 || newcar == 10 || newcar == 11 || newcar == 12 || newcar == 13 || newcar == 14 || newcar == 15 || newcar == 16 || newcar == 17 || newcar == 18 || newcar == 19 || newcar == 20 || newcar == 21 || newcar == 22 || newcar == 23 || newcar == 24 || newcar == 25 || newcar == 26)
    {
    if(!IsASFCop(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein SF Polizist!");
    RemovePlayerFromVehicle(playerid);
    }
    else { }
    }
    }
    return 1;
    }


    unter SetPalyerSpawn kommt das hier
    public SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pMember] == 1)//Police Spawn
    {
    SetPlayerToTeamColor(playerid);
    GivePlayerWeapon(playerid, 29, 300); //MP%
    GivePlayerWeapon(playerid, 24, 300); //Pistole
    SetPlayerInterior(playerid, 5); // darauf achten, wenn du in ein innenraum Spawns immer die richtige Inetrior Nummer setzen
    SetPlayerPos(playerid, 1292.4521,-804.6435,1089.9375); // Hier kannst du einen Spawn setzen egal welchen / Police Department
    SetPlayerFacingAngle(playerid,266.4193);
    return 1;
    }
    }
    return 1;
    }


    Unter OnPalyerSpawn
    SetPlayerToTeamColor(playerid);


    Das ist die TeamColor
    public SetPlayerToTeamColor(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    else if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
    {
    SetPlayerColor(playerid,0x0000FF00); // CopfarbeSF
    }
    else
    {
    SetPlayerColor(playerid,TEAM_HIT_COLOR); // white
    }
    }
    }


    Als nächstes kommt unser OnPlayerText
    public OnPlayerText(playerid, text[])
    {
    new giver[MAX_PLAYER_NAME];
    new sendername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];
    new tmp[256];
    new string[256];
    new giveplayerid;
    if(SelectChar[playerid] == 255)
    {
    new idx;
    tmp = strtok(text, idx);
    if ((strcmp("next", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("next")))
    {
    switch (SelectCharID[playerid])
    {
    case 1: //Police Force SF
    {
    if(SelectCharPlace[playerid] == 1) { SetPlayerSkin(playerid, JoinPed[0][0]); SelectCharPlace[playerid] = 2; ChosenSkin[playerid] = JoinPed[0][0]; }
    else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[1][0]); SelectCharPlace[playerid] = 3; ChosenSkin[playerid] = JoinPed[1][0]; }
    else if(SelectCharPlace[playerid] == 3) { SetPlayerSkin(playerid, JoinPed[2][0]); SelectCharPlace[playerid] = 1; ChosenSkin[playerid] = JoinPed[2][0]; }
    }
    }
    return 0;
    }
    else if ((strcmp("done", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("done")))
    {
    if(ChangePos2[playerid][1] == 1)
    {
    SetPlayerInterior(playerid, ChangePos2[playerid][0]);
    SetPlayerPos(playerid, ChangePos[playerid][0],ChangePos[playerid][1],ChangePos[playerid][2]);
    ChangePos2[playerid][1] = 0;
    return 0;
    }
    PlayerInfo[playerid][pModel] = ChosenSkin[playerid];
    PlayerInfo[playerid][pChar] = ChosenSkin[playerid];
    SetSpawnInfo(playerid, PlayerInfo[playerid][pTeam], PlayerInfo[playerid][pModel],0.0,0.0,0.0,0,0,0,0,0,0,0);
    gTeam[playerid] = PlayerInfo[playerid][pTeam];
    SetPlayerToTeamColor(playerid);
    SpawnPlayer(playerid);
    SelectCharPlace[playerid] = 0;
    SelectCharID[playerid] = 0;
    SelectChar[playerid] = 0;
    return 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Use 'next', or 'done'.");
    return 0;
    }
    }
    return 1;
    }


    Und zu guter letzt das du auch die Frak nutzen kannst den makeleader befehl
    if(strcmp(cmd, "/makeleader", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /makeleader [playerid] [Number(1-2)]");
    return 1;
    }
    new para1;
    new level;
    para1 = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    level = strval(tmp);
    if(level > 2 || level < 0) { SendClientMessage(playerid, COLOR_GREY, " Die Zahl darf nicht unter 1 oder über 2 sein!"); 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, " Der Spieler ist bereits in einer Fraktion!");
    return 1;
    }
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[para1][pLeader] = level;
    format(string, sizeof(string), " Du wurdest vom Admin %s zum Leader deiner Fraktion gemacht", sendername);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), " Du hast %s zum Leader der %d Fraktion gemacht.", giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    if(level == 0) { PlayerInfo[para1][pChar] = 0; }
    else if(level == 1) { PlayerInfo[para1][pChar] = 280; {PlayerInfo[para1][pTeam] = 2; }} //PoliceSF
    gTeam[para1] = 11;
    PlayerInfo[para1][pTeam] = 11;
    SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
    }
    }//not connected
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin");
    }
    }
    return 1;
    }
    Das müsste alles gewesen sein. Wenn ich irgendetwas vergessen habe oder mich verschrieben habe sagt es mir bitte, danke. Ich hoffe das ich dir helfen konnte Bad Company.

    2 Mal editiert, zuletzt von CreEpaR89 ()