[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Das ist merkwürdig.
    Du könntest noch versuchen, de stocks jeweils noch am Ende ein return 1; hinzuzufügen, ob das hilft.
    Sonst würde mir spontan nichts einfallen, was hier das Problem ist, aber wenn es dann so auch geht, kannst du es auch so schreiben.

  • So, habe festgestellt dass mein Gamemode leider nocht nicht so funktioniert :D
    Folgendes Problem:
    Wenn ein Spieler stirbt, bisher getestet mit 2 Spielern auf dem Server, in jeweils einem anderen Team, dann wird das Spiel direkt beendet.


    Das heißt: TeamRemaing() wird aufgerufen, jedoch weiß ich nicht warum da ich mit GetActiveTeamCount ja abfrage ob 2 Teams Spieler besitzen.
    Das passiert bspw. wenn ein Spieler runterfällt, sein Bett noch existiert, also er respawnen kann, also genau da soll es nicht aufgerufen werden.
    Wird der Spieler getötet und sein Bett ist weg kommt er in das TEAM_SPECTATOR, wodurch dann GetActiveTeamCount erkennt dass der Spieler nicht mehr im ursprünglichen Team ist, weshalb das Spiel dann beendet werden soll.




    Hier mal OnPlayerDeath




    TeamRemaining hier



    GetActiveTeamCount Funktion, und die GetTeamPlayerCount Funktion.



  • Hey,


    Kurze frage:



    [code=c]ocmd:spawnchange(playerid)
    {
    if(Spieler[playerid][pHouseKey] == -255 || Spieler[playerid][pFraktion] == 0)
    {
    format(DialogString, sizeof(DialogString), "{247BA6}1. {FFFFFF}Zivilisten Spawn");
    ShowPlayerDialog(playerid, DIALOG_SPAWNCHANGE, DIALOG_STYLE_LIST, ""SERVER_FARBE"Spawnchange", DialogString, "OK", "Abbrechen");
    }
    else
    {
    new HausName = Haus[Spieler[playerid][pHouseKey]][hName];
    new HausNummer = Spieler[playerid][pHouseKey];
    strdel(DialogString, 0, sizeof(DialogString));
    format(DialogString, sizeof(DialogString), "{247BA6}1. {FFFFFF}Zivilisten Spawn\n{247BA6}2. {FFFFFF}%s\n{247BA6}3. {FFFFFF}%s: Hausnummer: %d", GetPlayerFraktionName(playerid), HausName, HausNummer);
    ShowPlayerDialog(playerid, DIALOG_SPAWNCHANGE, DIALOG_STYLE_LIST, ""SERVER_FARBE"Spawnchange", DialogString, "OK", "Abbrechen");
    }
    return 1;
    }[/code]


    So sieht derzeit der Spawnchange aus,


    Screen:




    Normal sollte es so sein:


    Hat der Spieler kein Haus also -255 sollte ihn kein Haus angezeigt werden. -> Man könnte sagen das er kein Haus besitzt oder nicht eingemietet ist.
    Ist der Spieler in einer Fraktion und hat kein Haus sollte natürlich die Fraktion angezeigt werden. -> Man könnte sagen das er kein Haus besitzt oder nicht eingemietet ist.
    Hat er keine Fraktion & Kein Haus sollte halt nur der Spawn angezeigt werden wie man oben schon sieht.


    -> Der Hausname wird auch nicht korrekt angezeigt.

  • Guten Abend!


    Ich kann keine Autos abschleppen. Was könnte da falsch sein?



    MfG


    Edit: Wenn ich es in nem Blankscript teste funktioneirt es. Kann es ein, das irgendwas die Taste blockt?

  • kann man es in samp so machen das mehre türen so aufgehen ?



    so wie es damals die alten wachanlagen die türen aufgingen die sich so zusammen gefaltet haben wie auf dem Bild ?

    du kannst die Funktion MoveObject() benutzen.
    Kann dir heute Nachmittag mal was machen

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • Hallo ich habe mal eine Frage wie kann ich abfragen ob ich das Object bereits schonmal hatte also der suchst sich ja ein Random object aus dem stock raus nur er soll das object was schon gemovet worden ist nicht nochmal moven.



    public Pfallmap2()
    {
    new r = random(FALLMAPZWEIC);
    if(IsValidObject(fallmapzwei[r]))
    {
    new Float:x, Float:y, Float:z;
    GetObjectPos(fallmapzwei[r], x, y, z);
    new Float:RotX,Float:RotY,Float:RotZ;
    GetObjectRot(fallmapzwei[r], RotX, RotY, RotZ);
    MoveObject(fallmapzwei[r], x, y, z, 1, RotX, RotY-4.5, RotZ);
    SetTimerEx("@Fallmapzwei1",100*3,0, "i",r);
    }
    }

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • Mit MoveObject(oid,x,y,z,1);und MoveObject(oid,x,y,z,1,rx,ry,rz);
    war es doch oder nur wie die türen dann mappen das die sich so auf falten zb

    Ja falls es nicht so aussieht das es sich faltet das müsst du es mehrmals moven also versuch du erstmal wenn du es nicht schaffst helfe ich dir gerne

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • Es funktioniert auch nicht, wenn cih es mit einer anderen Taste versuche.
    @Kaliber

  • Mach es mal so @Allrounder18

    if(newkeys & KEY_ACTION)
    {
    if(!IsPlayerInAnyVehicle(playerid))return 1;
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 525)return 1;
    new cID = GetPlayerVehicleID(playerid);
    if(IsTrailerAttachedToVehicle(cID))
    {
    DetachTrailerFromVehicle(cID);
    }
    else
    {
    new carID = INVALID_VEHICLE_ID;
    new Float:abstand = 8;
    new Float:x, Float:y, Float:z;
    GetVehiclePos(cID, x, y, z);
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    if(!IsVehicleStreamedIn(i, playerid))continue;
    if(i==cID)continue;
    if(GetVehicleDistanceFromPoint(i, x, y, z) < abstand)
    {
    abstand = GetVehicleDistanceFromPoint(i, x, y, z);
    carID = i;
    }
    }
    if(carID != INVALID_VEHICLE_ID)
    {
    AttachTrailerToVehicle(carID, cID);
    }
    }

    }

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • Hallo ich habe mal eine Frage wie kann ich abfragen ob ich das Object bereits schonmal hatte also der suchst sich ja ein Random object aus dem stock raus nur er soll das object was schon gemovet worden ist nicht nochmal moven.


    public Pfallmap2(){ new r = random(FALLMAPZWEIC); if(IsValidObject(fallmapzwei[r])) { new Float:x, Float:y, Float:z; GetObjectPos(fallmapzwei[r], x, y, z); new Float:RotX,Float:RotY,Float:RotZ; GetObjectRot(fallmapzwei[r], RotX, RotY, RotZ); MoveObject(fallmapzwei[r], x, y, z, 1, RotX, RotY-4.5, RotZ); SetTimerEx("@Fallmapzwei1",100*3,0, "i",r); }}

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • Hallo!


    Wie mache ich einen Befehl damit ich meine FPS ingame rausfinde?
    Am besten sofern mögich nur /fps ohne einer ID.


    Code
    ocmd:fps(playerid,params[])
    {
        new TargetID, pFPS,string[128];
        if(sscanf(params, "u", TargetID))SendClientMessage(playerid, ROT, "USAGE: /fps (nick/id)  - Enter a valid Nick / ID");
        format(string, sizeof(string), "Fps is: %d",pFPS);
        SendClientMessage(playerid, WEISS, string);
        return 1;
    }

    Der hier funktioneiert nicht wirklich, da ist FPS immer 0.


    Danke im Voraus


    MfG

  • Du fragst ja nirgend die FPS vom Spieler ab.

    stock GetPlayerFPS(playerid)
    {
    SetPVarInt(playerid, "DrunkL", GetPlayerDrunkLevel(playerid));
    if(GetPVarInt(playerid, "DrunkL") < 100) SetPlayerDrunkLevel(playerid, 2000);
    else{
    if(GetPVarInt(playerid, "LDrunkL") != GetPVarInt(playerid, "DrunkL"))
    {
    SetPVarInt(playerid, "FPS", (GetPVarInt(playerid, "LDrunkL") - GetPVarInt(playerid, "DrunkL")));
    SetPVarInt(playerid, "LDrunkL", GetPVarInt(playerid, "DrunkL"));
    if((GetPVarInt(playerid, "FPS") > 0) && (GetPVarInt(playerid, "FPS") < 256))
    {
    return GetPVarInt(playerid, "FPS") - 1;
    }
    }
    }
    return 0;
    }


  • Hey,


    Kurze Frage,


    Egal wie ich es mache wen ich die Fahrzeuge Abgeschleppt sind sollten die nicht erstellt werden.
    Komisch ist in der DB ist alles richtig wen ich es dann so ein stelle spawn die Fahrzeuge alle mit 0 Tank auch die nicht abgeschleppt sind :o?


    Die Abfrage ist:



    if(PrivateVehicle[playerid][slot][vehAbgeschleppt] == 0) //Bedeutet das Fahrzeug ist nicht abgeschleppt.
    if(PrivateVehicle[playerid][slot][vehAbgeschleppt] == 1) //Bedeutet das Fahrzeug ist abgeschleppt.


    //E:


    Wen der Spieler das Fahrzeug freikäuft.

  • Egal wie ich es mache wen ich die Fahrzeuge Abgeschleppt sind sollten die nicht erstellt werden.

    Du fragst ja nirgends ab, ob es abgeschleppt wurde oder nicht.


    Und die Virtuelle Welt und das Interior von dem Fahrzeug speichern, ist vllt nicht nötig, aber wenn, dann musst du es auch irgendwo setzen, das tust du nämlich gar nicht ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Tatsächlich schon, habe dafür extra ein Garagen System erstellt :D


    Vielen Lieben Dank @Kaliber


    Kurze frage noch habe nun das auch für die Fraktions Fahrzeuge mit eingebunden das die auch abgeschleppt werden könn.


    Die frage ist nur wie ich das am besten abwickele mit den Freikaufen.
    Es sollte halt ein dialog aufgehn welche Fahrzeuge abgeschleppt sind. Wen keine Abgeschleppt sind sollte einfach kommen
    Es wurde kein Fahrzeug Abgeschleppt.


    Natürlich Fraktion Abhänig.




    //E:


    Habe mich nun drann gesetzt einen Dialog zu machen welche Fahrzeuge der Fraktion abgeschleppt sind: