Totalschadensystem Errors

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Guten Tag,
    ich habe ein Totalschadensystem gescriptet, dies auch funktioniert. Nun wollte ich das man eine Minute gefreezt ist, wenn sein fahrzeug kaputt ist. Nun bekomme ich aber errors.


    Errors

    Spoiler anzeigen
    error 017: undefined symbol "vehicleid"
    error 001: expected token: ")", but found ";"
    error 036: empty statement
    fatal error 107: too many error messages on one line


    Die Zeile mit dem Error.

    Spoiler anzeigen
    if(strcmp("/exitcar",cmdtext,true,10) == 0)
    {
    if(Totalschaden[vehicleid] = 0;)//Hier ist der erste error
    {
    if(!IsPlayerInAnyVehicle(playerid))return 0;
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,1);
    }
    if(Totalschaden[vehicleid] = 1;)// hier kommt auch ein Error
    {
    if(!IsPlayerInAnyVehicle(playerid))return 0;
    FreezePlayer(playerid);
    }
    return 1;
    }


    Die Abfrage für den Motorschaden(hat funktioniert)


    Spoiler anzeigen
    public OnVehicleDamageStatusUpdate(vehicleid, playerid)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new Float:health;
    GetVehicleHealth(vehicleid, health);
    if ( (floatround(health, floatround_round)/10) <= 60 ) {// Ab wieviel Schaden das auto ein Totalschaden bekommt
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~r~Das Auto hat ein Motorschaden.", 3, 1);
    SendClientMessage(playerid, COLOR_RED, "Dein Auto ist kaputt rufe die Feuerwehr, damit sie dich befreien.");
    //RemovePlayerFromVehicle(playerid);
    FreezePlayer(playerid);
    Totalschaden[vehicleid] = 1;
    }
    return 1;
    }


    Ich wüsste zwar wie ich die Error in einem Public weg bekomme, aber nicht in einem Befehl. Ich hoffe mir kann jemand helfen. Ich freue mich über jede positive Antwort.


    P.S Habe den Timer noch nicht eingebaut, da ich erstmal den Befehl zum testen erstellen wollte.


    MFG
    Troniix

    Projekt:


    German CrimeLife Testserver: 5.62.71.62:7777

  • if(strcmp("/exitcar",cmdtext,true,10) == 0)
    {
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    if(Totalschaden[vehicleid] = 0);//Hier ist der erste error
    {
    if(!IsPlayerInAnyVehicle(playerid))return 0;
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,1);
    }
    if(Totalschaden[vehicleid] = 1);// hier kommt auch ein Error
    {
    if(!IsPlayerInAnyVehicle(playerid))return 0;
    FreezePlayer(playerid);
    }
    return 1;
    }

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Bedanke mich schonmal für die schnelle Hilfe. Doch nun bekomme ich diese Errors


    Spoiler anzeigen
    warning 211: possibly unintended assignment
    error 036: empty statement
    warning 211: possibly unintended assignment
    error 036: empty statement


    Vllt ist dies auch wichtig

    Spoiler anzeigen

    new Totalschaden[MAX_VEHICLES];

    Projekt:


    German CrimeLife Testserver: 5.62.71.62:7777

  • Hier:
    if(strcmp("/exitcar",cmdtext,true,10) == 0)
    {
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    if(Totalschaden[vehicleid] = 0)//Hier ist der erste error
    {
    if(!IsPlayerInAnyVehicle(playerid))return 0;
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,1);
    }
    if(Totalschaden[vehicleid] = 1)// hier kommt auch ein Error
    {
    if(!IsPlayerInAnyVehicle(playerid))return 0;
    FreezePlayer(playerid);
    }
    return 1;
    }

  • Hier ;)
    if(strcmp("/exitcar",cmdtext,true,10) == 0){
    new vehicleid = GetPlayerVehicleID(playerid);
    if(Totalschaden[vehicleid] == 0){
    if(!IsPlayerInAnyVehicle(playerid))return 1;
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,1);
    return 1;
    }
    else if(Totalschaden[vehicleid] == 1){
    if(!IsPlayerInAnyVehicle(playerid))return 1;
    FreezePlayer(playerid)
    return 1;
    }
    }


    FreezePlayer war der eine Error, weil du da ein Semikolon gesetzt hast, wohl da keiner hindurfte. Du hast FreezePlayer bestimmt per #define erstellt, dann wird da kein ; gesetzt ;)


  • Nein, das waren die if:abfragen, der hatte nach der klammer ); ein simikolon gesetzt.
    FreezePlayer hat er bestimmt mit einem Stock bzw. Public gemacht.


    FreezePlayer bleibt und ist FreezePlayer(playerid);

  • if(strcmp("/exitcar",cmdtext,true,10) == 0){
    if(Totalschaden[vehicleid] == 0) { if(!IsPlayerInAnyVehicle(playerid))return 1; RemovePlayerFromVehicle(playerid); TogglePlayerControllable(playerid,1);}
    if(Totalschaden[vehicleid] == 1) { if(!IsPlayerInAnyVehicle(playerid))return 1; FreezePlayer(playerid);} return 1;}
    Benutze am besten meinen code da er am recourcen sparensten ist ;)

  • Ich bedanke mich für die viele Hilfe. Hab nun verstanden wie man das scriptet.


    Pawn Dein Code hat geklappt und musste doch ein ; hinter UnfreezePlayer machen.
    MrPawn Ich denke ich werde den Code von Pawn so ähnlich wie deinen machen oder einfach deinen verwenden.


    MFG
    Troniix

    Projekt:


    German CrimeLife Testserver: 5.62.71.62:7777