Carrespawn für Fraktion!

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, ich versuchs mal theoretisch. Den rest musst du dir zusammensuchen ^^


    Also erstmal machst du einen Befehl,
    /frakrepspawn von mir aus.


    Dann musst du Fragen ob er der Leader der Fraktion, zB. SAPD ist, und dann irgentwie was mit IsAPoliceCar, oder wie es bei dir im Script ist.
    Wenn es eins ist kommt in die geschweiften Klammern rein: Das diese respawnt werden. also SetSpawn oder sowas. Musst halt mal schauen wie der/die befehle dafür sind.



    //edit:


    Also das ist wenn man Alle Respawnt:


    if(strcmp(cmd,"/respawnall",true) == 0) //befehl
    {
    if(PlayerInfo[playerid][pAdmin] >= 4) //abfragen ob er Admin Level 4 oder höher ist
    {
    for(new v=0; v<MAX_VEHICLES; v++) //allen autos (MAX_VEHICLES) definieren
    {
    SetVehicleToRespawn(v); //alle autos (v, oben definiert) respawnen
    }
    }
    else SendClientMessage(playerid,COLOR_RED," Du bist nicht befugt!"); //was passiert wenn du nicht Admin level 4 bist.
    return 1;
    }


    Allerdings musst du ne Abfrage rein bauen, statt Admin zB so:
    (aus GF)
    if(PlayerInfo[playerid][pLeader] ==1) //ist er Leader der Frak. 1 bzw. Team 1 (zB Polizei)


    Dann muss das for(new... weg weil das sagt ja aus, definiere alle autos. Wir wollen ja nur Frak vehs haben. Also musst du es machen wie Firefan gesagt hat, das es abfragt ob es ein zB PolizeiVeh ist.


    Wenn ja, resapwnen, wenn nein lassen.


    Also zB.: for(new v=0; v<PolizeiVehs;v++) Das hab ich aber gerade mir logisch zusammen gedacht. Obs funktioniert muss nicht sein.
    Bin halt auch nur Schüler ^^ probier es einfach aus, kann nicht falsch sein anstatt immer alles zu kopieren ;)


    Lg byBSE


    //edit 2: Das alles kommt außerdem unter OnPlayerCommandText ;)



    2 Mal editiert, zuletzt von Tomsen ()

  • Also die Cars sind z.b so definiert


    ArmyVehs [40];
    LSPDVehs [35];
    ....
    ..


    Ansonsten dann weiter


    ArmyVehs = AddStaticVehicleEx.....Coords


    ich möchte das wenn jemand in einen Frak Car sitzt während FrakCarrespawn ist auch drin bleiben sitzen kann und nicht das dieses Car mit verschwindet.


    Mit fRespawn kenne ich mich garnicht aus -.-
    Da wäre hilfestellung vielleicht ganz Nett :D


    Mit freundlichen Grüßen
    Soulja

  • Hmm.... Meine Idee:
    for(new i; i<MAX_VEHICLES; i++)
    {
    if(IsAArmyCar(i) && !IsAnyPlayerInVehicle(i))
    {
    SetVehicleToRespawn(i);
    }
    }
    //--------------------
    stock IsAnyPlayerInVehicle(vehicleid)
    {
    new var;
    for(new playerid; playerid<MAX_PLAYERS; playerid++)
    {
    if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
    {
    if(IsPlayerInVehicle(playerid,vehicleid);
    {
    var = 1;
    }
    }
    }
    return var;
    }


    Ist gerade alles so zusammengeschrieben, müsste aber funktionieren.
    MfG Firer

  • if(!strcmp(cmdtext, "/respawnsapd", true))
    {
    if(PlayerInfo[playerid][pLeader] == 1)//Deine Leader ID's austauschen
    {
    for(new v=0; v<sizeof(CopCar); v++)//CopCar deine Fahrzeuge austauschen
    {
    for(new i=0;i< MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPlayerVehicleID(i) != CopCar[v])
    {
    SetVehicleToRespawn(CopCar[v]);
    }
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED," Du bist nicht Leader des SAPDs!! ");
    }
    return 1;
    }

  • Das fehlt nurnoch das er prüft ob jemand drin sitzt oder? wäre ja klüger damit es nicht einen bei der Streife etc. weg beamt ^^

  • omg ich verstehe wirklich gerade garnichts mehr...tut mir leid aber bin echt nicht der beste im scripten...


    Ich doch auch nicht ;D


    Ich meine nur ob er prüft ob jemand im Auto sitzt, wenn es ein PolizeiVeh ist.


    Wenn jemand grad bei einer Verfolgung ist, und der Leader respawnt alle Autos, ist das ja für den Polizisten eine "scheiß" Situation.


    Der Befehl dafür ist glaube IsAnyPlayerInVehicle(und dann was mit -1 für niemand)
    einfach mal bei wiki schauen


    Lg byBSE

  • ob für frak oder nicht ich würde es dir so enfehlen ;)


    da ich anders scripte zeige ich dir es mal so


    1.oben in script



    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1


    2. dan unter OnPlayerCommandText



    dcmd(vspawn,6,cmdtext);


    3.irgendwo hin packen ;)


    dcmd_vspawn(playerid,params[])
    {
    #pragma unused params
    if(PlayerInfo[playerid][pAdmin] != 1339)
    {
    return 0;
    }
    else
    {
    new plv = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(plv);
    }
    return 1;
    }


    4.OnPlayerCommandText


    if(strcmp(cmd,"/carneu",true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
    for(new v=0; v<MAX_VEHICLES; v++)
    {
    if(GetVehicleDriver(v) == -1)
    {
    SetVehicleToRespawn(v);
    }
    }
    }
    else SendClientMessage(playerid,COLOR_RED," Du bist kein Admin! oO ");
    return 1;
    }


    so ist für alle cars ;) nur für frak sinlos LOL ^^

  • Kannst du nicht lesen?! Er will es für Fraktionsautos, und nein es ist nicht sinnlos weil somit der Leader seine Respawnen kann ;)

  • Scheinbar kommen wir nicht wirklich weiter..ich habe nun mehrer Sachen ausprobiert...leider ohne erfolg -.-


    Sinnlos ist dieses auch nicht...das es sogar sehr viel Arbeit abnimmt..:D
    Trotzdem Danke vielmals für eure Antworten...Vielleicht lässt sich aber dennoch eine Lösung finden :D


    Mit freundlichen Grüßen
    Soulja