Nützliche Codeschnipsel

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
  • Es ist ziehmlich blöd eine Länge mit angeben zu müssen,
    da ein Fahrzeug kein Kasten ist^^
    es gibt ja die Funktion GetVehicleModelInfo, welches die breite, länge und höhe des Fahrzeuges zurück geben kann.
    Sinnvoller wäre es die zu nutzen

    Als ich die Funktion gemacht hatte, kannte ich GetvehicleModelInfo noch nicht.
    Werde es mal mit einfließen lassen und evtl. ein Update posten.

  • Naja aber solange es funktioniert, passt es doch soweit ^^


    /e.


    Sagen wir mal so


    new Float:X, Float:Y, Float:Z;
    GetVehicleModelInfo(411, VEHICLE_MODEL_INFO_REAR_BUMPER_Z , X, Y, Z);

    /e.


    Quatsch xD , einfach das benutzen

    Roleplay Network | Dᴇᴀᴅ.Nᴇᴛ

  • Das problem ist eher das es nicht bei jedem Fahrzeug funktioniert.
    Ich geh stark davon aus, das es bei einer Limosine nicht funktioniern wird

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Das problem ist eher das es nicht bei jedem Fahrzeug funktioniert.
    Ich geh stark davon aus, das es bei einer Limosine nicht funktioniern wird


    Habs oben noch editiert, aber man kann ja noch den Radius einstellen, bisschen grob , sprich 6 oder so, damit er auch hinten oder seitlich stehen kann ^^ naja.



    PS:


    new Float:X, Float:Y, Float:Z;
    GetVehicleModelInfo(411, VEHICLE_MODEL_INFO_REAR_BUMPER_Z , X, Y, Z);
    Wäre der hintere Bumber ^^


    /e.


    Was sollte denn diese Zeile bewirken???


    new Float:pcoord[3]; GetPlayerPos(veh,pcoord[0],pcoord[1],pcoord[2]);


    /e.


    So wäre jetzt meine Funktion ich hoffe sie funkt auch :D


    stock IsPlayerBehindVehicle(playerid,veh,&Float:lenge=4.0)
    {
    new Float:vcoord[3]; GetVehiclePos(veh,vcoord[0],vcoord[1],vcoord[2]);
    GetVehicleModelInfo(veh, VEHICLE_MODEL_INFO_REAR_BUMPER_Z vcoord[0],vcoord[1],vcoord[2]);
    if(IsPlayerInRangeOfPoint(playerid,3.0,vcoord[0],vcoord[1],vcoord[2]))return 1;
    return 0;
    }

    Roleplay Network | Dᴇᴀᴅ.Nᴇᴛ

  • stock IsPlayerBehindVehicle(playerid,veh)
    {
    new Float:vcoord[3]; GetVehiclePos(veh,vcoord[0],vcoord[1],vcoord[2]);
    new Float:size[3]; GetVehicleModelInfo(GetVehicleMode(veh), VEHICLE_MODEL_INFO_SIZE, size[0],size[1],size[2]);
    new Float:vangle; GetVehicleZAngle(veh,vangle);
    vcoord[0] = floatadd(vcoord[0],(-size[0]* floatsin(-vangle,degrees)));
    vcoord[1] = floatadd(vcoord[1],(-size[1]* floatcos(-vangle,degrees)));
    if(IsPlayerInRangeOfPoint(playerid,3.0,vcoord[0],vcoord[1],vcoord[2])) return 1;
    return 0;
    }
    so wäre das schlauer und dürfte auch funktionieren

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Stimmt ^^, wieso komm nur ich nicht auf sowas.... :D


    PS: HAbe irwo diesen Code gesehn, was bringt der mir??


    AntiDeAMX()
    {
    new a[][] =
    {
    "Unarmed (Fist)",
    "Brass K"
    };
    #pragma unused a
    }

    Roleplay Network | Dᴇᴀᴅ.Nᴇᴛ

  • Der bringt den decompiler zum stolpern und der Code lässt sich nicht decompilen

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Soo.. habs mal verbessert:
    stock IsPlayerBehindVehicle(playerid,veh)
    {
    new Float:vcoord[3]; GetVehiclePos(veh,vcoord[0],vcoord[1],vcoord[2]);
    new Float:vangle; GetVehicleZAngle(veh,vangle);
    new Float:vinfo[3]; GetVehicleModelInfo(GetVehicleModel(veh),VEHICLE_MODEL_INFO_SIZE,vinfo[0],vinfo[1],vinfo[2]);
    new Float:lenge = floatdiv(vinfo[1],2.0);
    new Float:radius = floatdiv(vinfo[0],2.0);
    vcoord[0] = floatadd(vcoord[0],(-lenge * floatsin(-vangle,degrees)));
    vcoord[1] = floatadd(vcoord[1],(-lenge * floatcos(-vangle,degrees)));
    if(IsPlayerInRangeOfPoint(playerid,radius,vcoord[0],vcoord[1],vcoord[2])){return 1;}
    else{return 0;}
    }


    So wird sogar die Breite des Fahrzeuges mit einbezogen.
    Viel genauer gehts nicht mehr^^

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hier hab da mal was was hilfreich sein kann
    Es dient dazu um schnell leben + zu setzen oder auch -
    iwo den hin wo nix is


    stock RJ_AddHealth(playerid, Float:health)
    {
    new
    Float:player_Health;
    if(GetPlayerHealth(playerid, player_Health))
    {
    SetPlayerHealth(playerid, player_Health+health);
    return 1;
    }
    return 0;
    }


    verwendung:
    RJ_AddHealth(playerid, 10.0);


    immer mit .0

  • Darf ich dich fragen, Red Jocker, warum du in einer If-Abfrage die
    Leben des Spielers in die Variable speicherst?


    Und warum du so eine seltsame Formatierung hast...



    stock RJ_AddHealth(playerid, Float:health)
    {
    new Float:player_Health;
    GetPlayerHeahtl(playerid,player_Health);
    SetPlayerHealth(playerid, player_Health+health);
    return 1;
    }
    So wäre der stock kürzer und doch genau dasselbe, oder?

  • es hat eine absicht
    wenn es erfolgreich war dann stoppt er wenn er fehler hat dann macht er naja return 0 da fällt mir jetzt nix zu ein
    aber es funkt so wie es da steht und so sollte es am besten verwendet werden da es fehlerfrei ist

  • wenn es auf 0 ist ist es nicht erfolgreich da er dann tot is

  • ]Kann mir.ein den Schnitzel geben wo mann Gutscheine ihm spiel erstellen und.einlösen kannund bitte den vom Befehl /fparken und alles das er funktioniert.


    MfG
    Luk4s98

    Einmal editiert, zuletzt von Luk4s98 ()


  • // Methode die (true/1) zurückgibt wenn das Fahrzeug nur 2 Sitze hat
    stock IsACar2Seats(vehicleid) {
    switch (GetVehicleModel(vehicleid)) {
    case 401,402,403,406,407,408,410,411,412,413,414,415,419,422,423,424,429,434,436,439,443,444,451,455,456,457,474,475,477,478,480,489,491,494,495,496,498,499,500,502,503,504,505,506,508,514,515,517,518,524,525,526,527,528,533,534,535,536,541,542,543,544,545,549,552,554,555,556,557,558,559,562,565,573,575,576,578,587,588,589,599,600,601,602,603,605,609: return 1;
    }
    return 0;
    }


    // Methode die (true/1) zurückgibt wenn es sich um ein fliegendes Fahrzeug handelt
    stock IsAAirplane(vehicleid) {
    switch (GetVehicleModel(vehicleid)) {
    case 417, 425, 447, 460, 469, 476, 487, 488, 497, 511, 512, 513, 519, 520, 548, 553, 563, 577, 592, 593: return 1;
    }
    return 0;
    }


    // Methode die (true/1) zurückgibt wenn es sich um ein Motorrad/Quad/GoKart handelt
    stock IsABike(vehicleid) {
    switch (GetVehicleModel(vehicleid)) {
    case 448, 461, 462, 463, 468, 471, 481, 509, 510, 521, 522, 523, 568, 571, 581, 586: return 1;
    }
    return 0;
    }


    // Methode die (true/1) zurückgibt wenn es sich um ein Boot handelt
    stock IsABoat(vehicleid) {
    switch (GetVehicleModel(vehicleid)) {
    case 430, 446, 452, 453, 454, 472, 473, 484, 493, 595: return 1;
    }
    return 0;
    }


    Falls jemand diese Methoden braucht, viel Spaß. Die Restlichen Fahrzeuge sind eben Fahrzeuge die unter keine Kategorie darunter fallen und 4 Sitze besitzen.

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen