Wie mach ich es das ich den selben befehl öfters verwenden kann?

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
  • Mit einer Abfrage.


    Bei mir z.b.
    if(IsPlayerInFrac(playerid, 1))
    ( LSPD )
    Wenn aber auch mehrere Staatsfraktion ( Beispiel! ) das Tor öffnen dürfen dann so:
    if(IsPlayerinFrac(playerid, 1) || IsPlayerInFrac(playerid, 2) || IsPlayerInFrac(playerid, 3))
    LSPD = 1
    FBI = 2
    Army = 3


    Wenn du hilfe brauchst sende mir deine TV daten per PN oder schreib mir so :)

  • Wenn iich das so mache: (ist nur für eine frak noch)



    ocmd:tor(playerid, params[])
    {
    if(sInfo[playerid][fraktion] == 3)
    {
    return 1;
    //öffne Tor von Fraktion 1
    }
    else if(sInfo[playerid][fraktion] == 4)
    {
    return 1;
    //öffne Tor von Fraktion 2
    }
    else if(sInfo[playerid][fraktion] == 6)
    {
    return 1;
    //öffne Tor von Fraktion 2
    }
    else if(sInfo[playerid][fraktion] == 8)
    {
    return 1;
    MoveObject(980, 2347.23779, 2723.17090, 11.41084, 5, 0.00000, 0.00000, -11.80000);
    //öffne Tor von Fraktion Hitman
    }
    else if(sInfo[playerid][fraktion] == 9)
    {
    return 1;
    //öffne Tor von Fraktion 2
    }
    else if(sInfo[playerid][fraktion] == 11)
    {
    return 1;
    //öffne Tor von Fraktion 2
    }
    return 1;
    }


    Dann kommt dieser warning:


    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(1924) : warning 225: unreachable code

  • Das return eventuell unterm Code :)?


    MfG


    ocmd:tor(playerid, params[])
    {
    if(sInfo[playerid][fraktion] == 3)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 4)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 6)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 8)
    {
    MoveObject(980, 2347.23779, 2723.17090, 11.41084, 5, 0.00000, 0.00000, -11.80000);
    return 1;

    }
    else if(sInfo[playerid][fraktion] == 9)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 11)
    {
    //öffnen
    return 1;
    }
    return 1;
    }

  • Warum passiert da nichts?


    ocmd:tor(playerid, params[])
    {
    if(sInfo[playerid][fraktion] == 2)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 3)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 5)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 7)
    {
    if(!IsPlayerInRangeOfPoint(playerid,20,2347.23779, 2723.17090, 11.41084))return SendClientMessage(playerid,COLOR_YELLOW, "Du bist nicht an dem Tor deiner Base");
    MoveObject(980, 2347.23779, 2723.17090, 11.41084, 5, 0.00000, 0.00000, -11.80000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geöffnet");
    return 1;


    }
    else if(sInfo[playerid][fraktion] == 8)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 10)
    {
    //öffnen
    return 1;
    }
    return 1;
    }


    Ich bekomme alle nachrichten wie "nicht nah genug dran" oder "tor geöffnet" aber es bewegt sich einfach nichts^^

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Setze oben, unter deine Includes:
    new gateOfFrak7;


    Das Objekt:
    gateOfFrak7 = CreateObject(980, 2347.23779, 2723.17090, 11.41084, 0.00000, 0.00000, -1.80000); //Hitman Tor


    Und Die Bewegung:
    MoveObject(gateOfFrak7, 2347.23779, 2723.17090, 11.40084, 0.005, 0.00000, 0.00000, -11.80000);


    Du musst, wenn du nur die Rotation änderst, ein bisschen was an der Position verändern (ich habe dir es um 0.01 tiefer gesetzt), damit es geht. Außerdem musst du es dann gaaaanz langsam (0.005 hab ich mal gemacht) bewegen lassen. Das kannst du natürlich anpassen, aber 5 war die viel zu viel, da es sich ja nur um 0.01 bewegt.

  • Naja musste zwar bissl was umändern von der bewegung aber ist okay :)
    Jz gibts noch ein problem...
    Wie kommt das tor wieder nach oben jz, also das es zurückkommt^^


    code:


    ocmd:tor(playerid, params[])
    {
    if(sInfo[playerid][fraktion] == 2)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 3)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 5)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 7)
    {
    if(!IsPlayerInRangeOfPoint(playerid,20,2347.23779, 2723.17090, 11.41084))return SendClientMessage(playerid,COLOR_YELLOW, "Du bist nicht an dem Tor deiner Base");
    MoveObject(HitmanTor, 2347.23779, 2723.17090, 1.40084, 0.010, 0.00000, 0.00000, -1.80000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geöffnet");
    return 1;


    }
    else if(sInfo[playerid][fraktion] == 8)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 10)
    {
    //öffnen
    return 1;
    }
    return 1;
    }

  • Das kannst du so machen:
    else if(sInfo[playerid][fraktion] == 7)
    {
    static bool:isOpen;
    if(!IsPlayerInRangeOfPoint(playerid,20,2347.23779, 2723.17090, 11.41084))return SendClientMessage(playerid,COLOR_YELLOW, "Du bist nicht an dem Tor deiner Base");
    if(!isOpen)
    {
    isOpen = true;
    MoveObject(HitmanTor, 2347.23779, 2723.17090, 1.40084, 0.010, 0.00000, 0.00000, -1.80000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geöffnet");
    }
    else
    {
    isOpen = false;
    //MoveObject...
    SendClientMessage(playerid,COLOR_GREEN, "Tor geschlossen");
    }
    return 1;
    }

  • Jeffry: es gibtn kleines problen, du siehst ja am CreateObject wie das object eig. steht, aber ich krieg es einfach net hin es richtig zu stuern, wie würdest du es machen (Das Tor soll nach unten schliessen, also durch den boden, kannst du das vlt. kurz umschreiben? ) dann ich das auch in zukunft verbessern

  • Wenn du das Objekt so erstellst, und nach unten haben willst:
    CreateObject(980, 2347.23779, 2723.17090, 11.41084, 0.00000, 0.00000, -1.80000);


    muss du die "11.41084" kleiner machen, also zum Beispiel "-5.0" (je nach dem wo es hin soll).


    Bei MoveObject musst du dann (da du ja die Position änderst) die Geschwindigkeit wieder hochsetzen, zum Beispiel zu 1.5.

  • Jeffry:
    Es passiert nichts, da steht zwar tow auf oder geschlossen aber es passiert nichts



    ocmd:tor(playerid, params[])
    {
    if(sInfo[playerid][fraktion] == 2)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 3)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 5)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 7)
    {
    static bool:isOpen;
    if(!IsPlayerInRangeOfPoint(playerid,20,2347.23779, 2723.17090, 11.41084))return SendClientMessage(playerid,COLOR_YELLOW, "Du bist nicht an dem Tor deiner Base");
    if(!isOpen)
    {
    isOpen = true;
    CreateObject(HitmanTor, 2347.23779, 2723.17090, -5, 0.00000, 0.00000, -1.80000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geöffnet");
    }
    else
    {
    isOpen = false;
    CreateObject(HitmanTor, 2347.23779, 2723.17090, 11.41084, 0.00000, 0.00000, -1.80000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geschlossen");
    }
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 8)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 10)
    {
    //öffnen
    return 1;
    }
    return 1;
    }

  • Beitrag von Jeffry ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen