[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
  • Ach stimmt, daran hatte ich nicht mehr gedacht.Im Timer hast du "PoliceLight" als Array verwendet, im Befehl "Folgen". Das dürfte der Grund sein.

    ich habe jetzt so das Public zum Blinken
    der Timer wird über OnGameModeInit aufgerufen und läuft durch (ja scheiß metode aber zum testen ist es erstmal egal :) )

    new PoliceLightFlashID = 0;
    forward PoliceLightFlash();
    public PoliceLightFlash()
    {
    PoliceLightFlashID++;
    if(PoliceLightFlashID > 1)
    {
    for(new x = 0; x < MAX_VEHICLES; x++)
    {
    if(IsValidVehicle(x) && Folgen[x] != INVALID_OBJECT_ID) SetDynamicObjectMaterialText(Folgen[x],0,"POLIZEI\nBITTE FOLGEN",OBJECT_MATERIAL_SIZE_256x128,\"Arial",27,0,0xFFFF0000,0x00000000,1);
    }
    PoliceLightFlashID = 0;
    }
    else
    {
    for(new x = 0; x < MAX_VEHICLES; x++)
    {
    if(IsValidVehicle(x) && Folgen[x] != INVALID_OBJECT_ID) SetDynamicObjectMaterialText(Folgen[x],0," ",OBJECT_MATERIAL_SIZE_256x128,\"Arial",20,0,0xFFFF0000,0x00000000,1);
    }
    }
    }

  • C:\Users\Patri\Desktop\Selfmade \gamemodes\LRS.pwn(4161) : warning 215: expression has no effect
    C:\Users\Patri\Desktop\Selfmade \gamemodes\LRS.pwn(4161) : error 001: expected token: ";", but found "["
    C:\Users\Patri\Desktop\Selfmade \gamemodes\LRS.pwn(4161) : error 029: invalid expression, assumed zero
    C:\Users\Patri\Desktop\Selfmade \gamemodes\LRS.pwn(4161) : warning 215: expression has no effect
    C:\Users\Patri\Desktop\Selfmade \gamemodes\LRS.pwn(4161) : error 001: expected token: ";", but found "]"
    C:\Users\Patri\Desktop\Selfmade\gamemodes\LRS.pwn(4161) : fatal error 107: too many error messages on one line



    PrivateVehicle[i][vehSlot][vehID][vehAbgeschleppt] = 1;


    Kurze frage warum stimmt das nicht? :/

  • 4 Dimensionale arrays sind mit dem compiler den SA-MP mitbringt nicht möglich.


    Dafür müsstest du dann auf Zeex' compiler umsteigen.

  • Hey, Leute



    Kurze frage möchte einbauen wen das Fahrzeug abgeschleppt ist das in (Verwahrstelle) da steht.


    Die Abfrage dafür wäre:


    if(Vehicle[PrivateVehicle[playerid][vehSlot][vehID]][vehAbgeschleppt] == 1)


    Aber wen ich das einbauen möchte klappt das nicht :(

  • Zeig bitte mal den Enum von PrivateVehicle


  • Ist ungetestet sollte aber gehen falls die 4 Dimensionale Arrays keine Probleme machen.
    bzw. ich dachte immer 4 Dimensionale Arrays gehen nicht.



    //Ob der String Leer ist (Oben ins Script)
    #define isnull(%1) \
    ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))


    ocmd:carkey(playerid)
    {
    new String[512];

    if(!IsLoggedIn(playerid))return 1;

    for(new i=0; i<2; i++)
    {
    if(isnull(String))
    {
    if(PrivateVehicle[playerid][i][modelid] >= 400 && PrivateVehicle[playerid][i][modelid] <= 611)
    {
    if(Vehicle[PrivateVehicle[playerid][i][vehID]][vehAbgeschleppt] == 0)
    {
    format(String, sizeof(String), "{FFFFFF}%s", VehicleName[PrivateVehicle[playerid][i][modelid]-400]);
    }
    else
    {
    format(String, sizeof(String), "{FFFFFF}(Verwahrstelle)", String);
    }
    }
    else
    {
    format(String, sizeof(String), "{FFFFFF}--");
    }
    }
    else
    {
    if(PrivateVehicle[playerid][i][modelid] >= 400 && PrivateVehicle[playerid][i][modelid] <= 611)
    {
    if(Vehicle[PrivateVehicle[playerid][i][vehID]][vehAbgeschleppt] == 0)
    {
    format(String, sizeof(String), "%s\n{FFFFFF}%s", String, VehicleName[PrivateVehicle[playerid][i][modelid]-400]);
    }
    else
    {
    format(String, sizeof(String), "%s\n{FFFFFF}(Verwahrstelle)", String);
    }
    }
    else
    {
    format(String, sizeof(String), "%s\n{FFFFFF}--", String);
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_CARKEYS, DIALOG_STYLE_LIST, "Fahrzeugschlüssel", String, "Orten", "Schließen");
    return 1;
    }


    //Edit hab gefailt -.-

  • Also es sieht so aus:


    https://i.imgur.com/tQvohjL.jpg


    Fehlt nur noch der Name :D




    //E:


    C:\Users\Patri\Desktop\Selfmade - Limited Reallife\gamemodes\LRS.pwn(4990) : error 029: invalid expression, assumed zero




    Besitze ja 3 Schlüsseln aber irgendwie geht das nicht :(


  • So sollte auch noch der Abschlepper angezeigt werden wenn der Name per PrivateVehicle[playerid][i][vehAbgeschlepptVon] abrufbar ist



    //Ob der String Leer ist (Oben ins Script)
    #define isnull(%1) \
    ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))


    ocmd:carkey(playerid)
    {
    new String[512];

    if(!IsLoggedIn(playerid))return 1;

    for(new i=0; i<3; i++)
    {
    if(isnull(String))
    {
    if(PrivateVehicle[playerid][i][modelid] >= 400 && PrivateVehicle[playerid][i][modelid] <= 611)
    {
    if(Vehicle[PrivateVehicle[playerid][i][vehID]][vehAbgeschleppt] == 0)
    {
    format(String, sizeof(String), "{FFFFFF}%s", VehicleName[PrivateVehicle[playerid][i][modelid]-400]);
    }
    else
    {
    format(String, sizeof(String), "{AA3333}(Verwahrstelle) abgeschleppt von %s", String, PrivateVehicle[playerid][i][vehAbgeschlepptVon]);
    }
    }
    else
    {
    format(String, sizeof(String), "{FFFFFF}--");
    }
    }
    else
    {
    if(PrivateVehicle[playerid][i][modelid] >= 400 && PrivateVehicle[playerid][i][modelid] <= 611)
    {
    if(Vehicle[PrivateVehicle[playerid][i][vehID]][vehAbgeschleppt] == 0)
    {
    format(String, sizeof(String), "%s\n{FFFFFF}%s", String, VehicleName[PrivateVehicle[playerid][i][modelid]-400]);
    }
    else
    {
    format(String, sizeof(String), "%s\n{AA3333}(Verwahrstelle) abgeschleppt von %s", String, PrivateVehicle[playerid][i][vehAbgeschlepptVon]);
    }
    }
    else
    {
    format(String, sizeof(String), "%s\n{FFFFFF}--", String);
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_CARKEYS, DIALOG_STYLE_LIST, "Fahrzeugschlüssel", String, "Orten", "Schließen");
    return 1;
    }

  • https://i.imgur.com/F3VZi9V.jpg



    Habe noch das Problem der Code sieht nun so aus:




    Verstehe nicht wen der infernus auch in der Verwahrstelle ist steht 2x Verwahrstelle beim Sultan warum?



  • ocmd:carkey(playerid)
    {
    new String[512];


    if(!IsLoggedIn(playerid))return 1;


    for(new i=0; i<3; i++)
    {
    if(isnull(String))
    {
    if(PrivateVehicle[playerid][i][modelid] >= 400 && PrivateVehicle[playerid][i][modelid] <= 611)
    {
    if(Vehicle[PrivateVehicle[playerid][i][vehID]][vehAbgeschleppt] == 0)
    {
    format(String, sizeof(String), "{FFFFFF}%s", VehicleName[PrivateVehicle[playerid][i][modelid]-400]);
    }
    else
    {
    format(String, sizeof(String), "{FFFFFF}%s {AA3333}(Verwahrstelle)", VehicleName[PrivateVehicle[playerid][i][modelid]-400]);
    }
    }
    else
    {
    format(String, sizeof(String), "{FFFFFF}--");
    }
    }
    else
    {
    if(PrivateVehicle[playerid][i][modelid] >= 400 && PrivateVehicle[playerid][i][modelid] <= 611)
    {
    if(Vehicle[PrivateVehicle[playerid][i][vehID]][vehAbgeschleppt] == 0)
    {
    format(String, sizeof(String), "%s\n{FFFFFF}%s", String, VehicleName[PrivateVehicle[playerid][i][modelid]-400]);
    }
    else
    {
    format(String, sizeof(String), "%s\n{FFFFFF}%s {AA3333}(Verwahrstelle)", String, VehicleName[PrivateVehicle[playerid][i][modelid]-400]);
    }
    }
    else
    {
    format(String, sizeof(String), "%s\n{FFFFFF}--", String);
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_CARKEYS, DIALOG_STYLE_LIST, "Fahrzeugschlüssel", String, "Orten", "Schließen");
    return 1;
    }

  • Probier es mal so:

    ocmd:carkey(playerid)
    {
    new string[512];
    if(!IsLoggedIn(playerid))return 1;
    for(new i=0; i<3; i++)
    {
    if(PrivateVehicle[playerid][i][modelid] >= 400 && PrivateVehicle[playerid][i][modelid] <= 611)
    {
    if(Vehicle[PrivateVehicle[playerid][i][vehID]][vehAbgeschleppt] == 0)format(string, sizeof(string), "%s{FFFFFF}%s\n", string, VehicleName[PrivateVehicle[playerid][i][modelid]-400]);
    else format(string, sizeof(string), "%s{FFFFFF}%s {AA3333}(Verwahrstelle)\n",string, VehicleName[PrivateVehicle[playerid][i][modelid]-400]);
    }
    else format(string, sizeof(string), "%s{FFFFFF}---\n",string);
    }
    return ShowPlayerDialog(playerid, DIALOG_CARKEYS, DIALOG_STYLE_LIST, "Fahrzeugschlüssel", string, "Orten", "Schließen");
    }

  • Guten Tag ich habe folgendes Problem, beim Farmerjob wenn man den Startet bekommt man ein Checkpoint gesetzt, aber wenn man durchfährt wird der nächste Checkpoint nicht gesetzt.



    if(isPlayerInJob(playerid,6) && IsLegalJobVehicle(GetPlayerVehicleID(playerid),6) || IsLegalJobVehicle(GetPlayerVehicleID(playerid),6,1))//farmerjob
    {
    Spieler[playerid][WorkInJob] = 1;
    SendClientMessage(playerid,WEISS,"Farme nun die Felder ab");
    SendClientMessage(playerid,WEISS,"Bevor du später aus dem Fahrzeug steigst gebe '/entladen' ein");
    for(new i=0;i<3;i++){ PlayerTextDrawShow(playerid,JOBdraw[playerid][i]); }
    format(string,sizeof(string),"%i/500kg",VehicleLoadTank[GetPlayerVehicleID(playerid)][0]);
    PlayerTextDrawSetString(playerid,JOBdraw[playerid][2],string);
    Spieler[playerid][pIsearch] = 0;
    Spieler[playerid][pBuyVehicleCP] = 0;
    Spieler[playerid][pWaitEating] = 0;
    VehicleLoadTank[GetPlayerVehicleID(playerid)][0] = 0;
    if(IsLegalJobVehicle(GetPlayerVehicleID(playerid),6))
    {
    farmjobgo[playerid] = 1;
    if(farmpflanze[playerid] != -1) DestroyDynamicObject(farmpflanze[playerid]);
    new rSpawn = random(sizeof(farmcheckpoints1));
    SetPlayerCheckpoint(playerid,farmcheckpoints1[rSpawn][0],farmcheckpoints1[rSpawn][1],farmcheckpoints1[rSpawn][2],7.5);
    farmpflanze[playerid] = CreateDynamicObject(823,farmcheckpoints1[rSpawn][0],farmcheckpoints1[rSpawn][1],farmcheckpoints1[rSpawn][2],0,0,0);
    return 1;
    }
    if(IsLegalJobVehicle(GetPlayerVehicleID(playerid),6,1))
    {
    farmjobgo2[playerid] = 1;
    if(farmpflanze[playerid] != -1) DestroyDynamicObject(farmpflanze[playerid]);
    new rSpawn = random(sizeof(farmcheckpoints2));
    SetPlayerCheckpoint(playerid,farmcheckpoints2[rSpawn][0],farmcheckpoints2[rSpawn][1],farmcheckpoints2[rSpawn][2],7.5);
    farmpflanze[playerid] = CreateDynamicObject(823,farmcheckpoints2[rSpawn][0],farmcheckpoints2[rSpawn][1],farmcheckpoints2[rSpawn][2],0,0,0);
    return 1;
    }
    return 1;

  • Wird denn die Farm-pflanze gesetzt/erstellt ?
    Arbeite mal mit Print am besten unter jeder "if" abfrage ein einzigartigen Print setzen und dann schauen bis wohin alles klappt.

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • Hey,


    Ich habe kurz eine frage.


    Warum wird das Fahrzeug beim gemappten boden abgekoppelt wen ich das Fahrzeug beim Normalen standart boden abschleppe funktioniert das...


  • Ahnung, warum das so nicht geht? Vermutlich kleiner Denkfehler.
    for(new i; i < 11; i++) { TextDrawHideForPlayer(playerid, PlayerTachoTextDraw[playerid][i]); }


    new PlayerText:PlayerTachoTextDraw[MAX_PLAYERS][i];


    warning 213: tag mismatch