Beiträge von Tomsen

    if(strcmp(cmd, "/veh", true) == 0) // /veh /getcar
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pAdmin] < 1338)
    {
    SendClientMessage(playerid, ROT, "Du bist kein Admin Level 1338!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new car;
    car = strval(tmp);
    if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Auto Nummer nicht weniger als 400 oder höher als 611 sein !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new color1;
    color1 = strval(tmp);
    if(color1 < 0 || color1 > 299) { SendClientMessage(playerid, COLOR_GREY, " Nicht Weniger als 0 oder höher 126 !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new color2;
    color2 = strval(tmp);
    if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht weniger als 0 oder höher als 126 !"); return 1; }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    new carid = CreateVehicle(car, X,Y+4,Z, 0.0, color1, color2, 60000);
    CreatedCars[CreatedCar] = carid;
    CreatedCar++;
    Gas[carid] = GetGasMax(car);
    format(string, sizeof(string), " Du hast ein Fahrzeug gespawnt! Es hat die ID %d.", carid);
    SendClientMessage(playerid, COLOR_GREY, string);


    }
    return 1;
    }




    if(strcmp(cmdtext, "/dveh", true) == 0)
    {
    if (PlayerInfo[playerid][pAdmin] >= 1338)
    {
    if(IsPlayerConnected(playerid))
    {
    new currentveh;
    currentveh = GetPlayerVehicleID(playerid);
    DestroyVehicle(currentveh);
    }
    }
    else SendClientMessage(playerid,ROT,"Dein Adminlevel ist zu niedrig!");
    return 1;
    }


    Hier /veh id color1 color2
    und /dveh zum löschen


    Lg byBSE


    PS: Lass mich wissen wenn du Errors bekommst, dann hab ich villt. vergessen dir noch was zu schicken ;)

    OnPlayerConnect? Der soll ja kommen bevor der Spieler das tutorial macht, (dieses kommt nach der registration) um dann zu entscheiden ob er sich es anschauen will.


    Der wird ja erst danach gespawnt. Und das soll ja auch nur dann kommen, wenn das tutorial kommt, und nicht immer beim Connecten, oder versteh ich da was falsch?


    Lg byBSE

    Function IsACop(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new leader = PlayerInfo[playerid][pLeader];
    new member = PlayerInfo[playerid][pMember];
    if(member==1 || member==2 || member==3)
    {
    return 1;
    }
    else if(leader==1 || leader==2 || leader==3)
    {
    return 1;
    }
    }
    return 0;
    }


    Hier bitte sehr.


    Lg byBSE


    //edit: ich merks selber: einfach bei Member die Fraktions ID und bei Leader oder?


    Trotzdem danke ;)

    Hey,


    wie die Überschrift villt. schon sagt, will ich eine neue (editierte) Fraktion so machen, das sie mit Army, FBI und Cops zu IsACop dazuzählt, wenn sowas zB bei einem Befehl (/take licenes..) gefragt wird.
    Mein Script ist ein Godfather.


    Danke im Vorraus.


    Lg byBSE

    Hey,


    ich brauch mal wieder eure Hilfe.


    Ich will wieder einen Servertrailer machen.


    Nun will ich von euch das ihr mir sagt,


    wie ich einen befehl /filmmodus mache


    Wenn man diesen eingibt geht alles auf dem Bildschirm weg, damit man freie Bahn zum filmen hat. (Geldanzeige, Waffenanzeige, Minimap,Namen überm spieler, Text geht ja mit F7 oder so weg. )


    Also gehen tut das, ich habe aber keine Ahnung wie.


    Reicht auch wenn ich die Befehle zum löschen der Icons bekomme, den Befehl kann ich mir dann daraus basteln.

    Naja ich hab die Geforce GTX 560


    Ist nicht mehr die neuste aber auch keine Sau alte. Mit 1 GB Speicher. Kann Battlefield Bad Company bei höchsten einstellungen ohne Probleme zocken, andere Spiele auch wie Omsi, GTA IV oder Splinter Cell Conviction
    hat auch nur um die 160€ gekostet ^^


    Lg byBSE

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

    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

    Ok. Also gut so fragt er nun jedes Auto einzeln ab. PolizeiVeh 1, 2, 3,...


    Rein theoretisch kann man es einfacher machen, müsste aber trotzdem richtig sein.


    Eigentlich müsste man es nur so machen ,das er die Fahrzeuge abfragt ob es ein Polizeiveh ist.


    Wenn du eben 100 Fahrzeuge hast, oder mehrere Fraktionen, bei denen du das machen willst ist es etwas aufwendig ^^


    Lg byBSE


    //edit: @Firefan: Ah das wusst ich nicht ^^ Gut zu wissen

    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 ^^

    das ist der stock.


    Das ist das mit drin wo der das Objekt erstellt.


    Auf jeden Fall gehen die Kaputt ^^


    enum eNagelBand {
    ID,Float:NagelBandX, Float:NagelBandY, Float:NagelBandZ, nErstellt
    new NagelBand[MAX_NAGELBAENDER][eNagelBand];
    new NagelBandErstellt[MAX_PLAYERS];


    Das brauchst du allerdings noch.


    Ist aber alles vom GF. Sieht man ja an enum ^^


    Aber versuchs. Viel Glück.


    Lg byBSE

    Ja ist es ;)


    if(strcmp(cmdtext, "/nagelband", true) == 0 || strcmp(cmdtext, "/nb", true) == 0) //der befehl den man eingeben muss
    {
    if(!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Cop!"); //abfragen ob er ein Cop ist. wenn nein dann kommt die Message
    if(PlayerInfo[playerid][pRank] < 3) // abfragen ob er mindestens Rang 3 ist
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du musst mindestens Rang 3 haben, um diesen Befehl nutzen zu können!"); //das passiert wenn unter Rang 3
    return 1;
    }
    if(NagelBandErstellt[playerid] == 1)// hier erstellt es ein Nagelband (NagelBandErstellt ist ein Object das im Script nochmal definiert ist, kommt unten)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast bereits ein Nagelband aufgestellt, bau sie erst wieder ab (/nbw)"); //eine message als info
    return 1;
    }
    AddNagelBand(playerid);
    NagelBandErstellt[playerid] = 1;
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Nagelband aufgestellt (Abbauen mit /nbw).");
    return 1;
    }


    stock AddNagelBand(playerid) {
    new Float:x, Float:y, Float:z, Float:a;
    GetPlayerPos(playerid,x,y,z); //spielerposition "merken"
    GetPlayerFacingAngle(playerid, a);
    for(new i = 0; i < sizeof(NagelBand); i++) {
    if(NagelBand[i][nErstellt] == 0) {
    NagelBand[i][NagelBandX] = x;
    NagelBand[i][NagelBandY] = y; //nagelband an der "gemerkten" position hinlegen
    NagelBand[i][NagelBandZ] = z - 0.7; // hier allerdings -0.7 z bedeutet 0.7 (m im game denk ich mal) nach unten, als der spieler. macht man zB bei x +4 ist es weiter links bzw. rechts vom spieler.
    NagelBand[i][nErstellt] = 1;
    NagelBand[i][ID] = CreateDynamicObject(2899, x, y, z - 0.7, 0.0, 0.0, a - 90.0); //nagelband erstellen
    return 1;
    }
    }
    return 0;
    }


    Das muss ganz unten hin. Das ist der Teil wo das Nagelband erstellt wird, und so weiter. Oben wird der Stock nur aufgerufen damit er es erstellt ;)


    Das kannst du nun an sich kopieren.


    hier der teil zum löschen.


    if(strcmp(cmdtext, "/nagelbandweg", true) == 0 || strcmp(cmdtext, "/nbw", true) == 0)
    {
    if(!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Cop!");
    if(NagelBandErstellt[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast kein Nagelband aufgestellt!");
    return 1;
    }
    RemoveNagelBand(playerid);
    return 1;
    }


    Lg byBSE

    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 ;)