[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
  • stock PlayerToPoint( playerid, Float:radi, Float:x, Float:y, Float:z )
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    return 0;
    }

    [align=center]
    Mta Script Editor - Work in Progress

  • Aber how to ?


    Also ich habe nun 2 Gates die sich öffnen. Aber wen ich /openc oder /openm mache, er beachtet immer das gleiche Gate!


    Das 2 Gate davon merkt der garnichts glaub ich...


    if(!strcmp(cmdtext, "/openc", true, 5))
    {
    if(PlayerToPoint(playerid, 10.0, 1544.659058, -1634.782349, 14.264787)) { return MoveObject(PDG1, 1544.659058, -1634.782349, 14.264787,3); }
    else { return SendClientMessage(playerid, COLOR_RED, "Du stehst nicht am PDGate!"); }
    }


    if(!strcmp(cmdtext, "/closec", true, 6))
    {
    if(PlayerToPoint(playerid, 10.0, 1544.659058, -1634.782349, 14.264787)) { return MoveObject(PDG1, 1544.688843, -1627.696411, 14.093480,3); }
    else { return SendClientMessage(playerid, COLOR_RED, "Du stehst nicht am PDGate!"); }
    }


    if(!strcmp(cmdtext, "/openm", true, 5))
    {
    if(PlayerToPoint(playerid, 10.0, 1133.785400, -1291.853882, 14.261411)) { return MoveObject(MEG1, 1133.785400, -1291.853882, 14.261411,3); }
    else { return SendClientMessage(playerid, COLOR_RED, "Du stehst nicht am MedicGate!"); }
    }


    if(!strcmp(cmdtext, "/closem", true, 6))
    {
    if(PlayerToPoint(playerid, 10.0, 1133.785400, -1291.853882, 14.261411)) { return MoveObject(MEG1, 1141.696533, -1291.836182, 14.299871,3); }
    else { return SendClientMessage(playerid, COLOR_RED, "Du stehst nicht am MedicGate!"); }
    }

  • Hier einfach nur


    -Admin Variable 0 bis ~. ( Kannst halt auch nur 3 als Wert geben)
    - Kick(id,grund)
    - Ban(id,grund)
    - Befehle werden Mitgeloggt


    -----


    Kannst dir Admin-Variable ggf. in vorhandene dini speichern , abfragen etc


    Sollte soweit funktionieren

  • hi


    ich hab das bei /afk, damit man weis ob jemand afk ist
    afkid = Create3DTextLabel("Ich bin AFK",hellrot,0.0,0.0,0.0,40.0,0);
    Attach3DTextLabelToPlayer(afkid, playerid, 0.0, 0.0, -0.4);


    dan hab ich das bei /back, aber der text verschwindet nicht
    oder der text verschwindet bei jemand anderes.
    Delete3DTextLabel(afkid);


    wie mache ich es das der text bei dem verschwindet der /back benutzt???

  • Also, ich habe 2 Fragen !


    -> Ich habe 2 Gates. Eines für das PD , und eines für die Medics !
    Doch wen ich /openc mache , öffnet er das PDgate!
    Doch wen ich /openm mache, versucht er auch das PDgate zu öffnen!


    Wie kann ich das Fixen ?


    Und wie kann ich machen das z.b nur die Fraktion Cops die Gates aufmachen kann!


    if(!strcmp(cmdtext, "/openc", true, 5))
    {
    if(PlayerToPoint(playerid, 10.0, 1544.659058, -1634.782349, 14.264787)) { return MoveObject(PDG1, 1544.659058, -1634.782349, 14.264787,3); }
    else { return SendClientMessage(playerid, COLOR_RED, "Du stehst nicht am PDGate!"); }
    }


    if(!strcmp(cmdtext, "/closec", true, 6))
    {
    if(PlayerToPoint(playerid, 10.0, 1544.659058, -1634.782349, 14.264787)) { return MoveObject(PDG1, 1544.688843, -1627.696411, 14.093480,3); }
    else { return SendClientMessage(playerid, COLOR_RED, "Du stehst nicht am PDGate!"); }
    }


    if(!strcmp(cmdtext, "/openm", true, 5))
    {
    if(PlayerToPoint(playerid, 10.0, 1133.785400, -1291.853882, 14.261411)) { return MoveObject(MEG1, 1133.785400, -1291.853882, 14.261411,3); }
    else { return SendClientMessage(playerid, COLOR_RED, "Du stehst nicht am MedicGate!"); }
    }


    if(!strcmp(cmdtext, "/closem", true, 6))
    {
    if(PlayerToPoint(playerid, 10.0, 1133.785400, -1291.853882, 14.261411)) { return MoveObject(MEG1, 1141.696533, -1291.836182, 14.299871,3); }
    else { return SendClientMessage(playerid, COLOR_RED, "Du stehst nicht am MedicGate!"); }
    }

  • Frage zum Textdraw:


    Warum funktioniert das nicht?


    TextDrawSetString(Infodraw[playerid],"Willkommen");


    Errors (alle in der Zeile):


    error 028: invalid subscript (not an array or too many subscripts): "Infodraw"
    warning 215: expression has no effect
    error 001: expected token: ";", but found "]"
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line

    Gruß
    keyboy

    www.g4e-clan.de


    Kein (unbez.) Scripting-Support per PN | Dafür ist das Forum da.

  • Hat jeder Spieler einen eigenen Texdraw ?


    Wenn jeder den gleich haben soll, probiers dochmal
    hiermit:



    new Text:Infodraw
    TextDrawSetString(Infodraw,"Willkommen");
    TextDrawShowForPlayer(playerid,Infodraw);

    Einmal editiert, zuletzt von Hagi ()

  • Hi. MAN ist es peinlich so etwas zu fragen xDD
    Also ich wollte wissen wie man eine "Get...." funktion macht.
    z.B. ich habe "new Foxylein[MAX_PLAYERS];" definiert. Ich habe es so gemacht, das Foxylein bei jedem spawn vom spieler 1 wert höher geht (Foxylein[playerid] += 1;). Und jetzt will ich eine funktion machen, der den wert von Foxylein rauskriegt. z.B. "GetFoxylein".
    Also es soll so sein wie z.B. "GetPlayerVehicleID(playerid)".
    Nun hab ich selbst eins gemacht aber es funzt nicht und pawno gibt warnings ab: "expression has no effect.". Die funktion:


    GetFoxylein(playerid)
    {
    Foxylein[playerid];
    }


    Also meine frage:
    Wie mache ich das richtig, so das es den wert von Foxylein[playerid] herauskriegt?


    Vielen dank für die kommenden antworten :)

  • ne ich meine es doch nicht so xD GetPlayerVehicleID war nur 'n beispiel. Der soll den wert von "Foxylein[playerid]" rauskriegen XD und nicht vom auto XDDD


    //EDIT
    Ich glaube ich habs rausgefunden ^^
    Es geht glaub ich so:
    GetFoxylein(playerid)
    {
    return Foxylein[playerid];
    }


    richtig so? :D

    Einmal editiert, zuletzt von FoxHound ()

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