Problem mit Lighteffect!

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 versuche für /carlock das die Lichter blinken was mach ich falsch das ich 4 Errors bekomme?


    C:\Windows\Vss\First Person\German-Black-Reallife\German-Black-Reallife\gamemodes\German-Black-Reallife.pwn(11909) : error 012: invalid function call, not a valid address
    C:\Windows\Vss\First Person\German-Black-Reallife\German-Black-Reallife\gamemodes\German-Black-Reallife.pwn(11909) : error 017: undefined symbol "vid"
    C:\Windows\Vss\First Person\German-Black-Reallife\German-Black-Reallife\gamemodes\German-Black-Reallife.pwn(11909) : error 029: invalid expression, assumed zero
    C:\Windows\Vss\First Person\German-Black-Reallife\German-Black-Reallife\gamemodes\German-Black-Reallife.pwn(11909) : fatal error 107: too many error messages on one line



    lightEffect(vid) //Hier sind die errors
    {
    new xx[7];
    GetVehicleParamsEx(vid,xx[0],xx[1],xx[2],xx[3],xx[4],xx[5],xx[6]);
    new andas=((xx[1]==-1||xx[1]==0)?(1):(0));
    SetTimerEx("lightEffectEx",100,false,"dd",vid,andas);
    SetTimerEx("lightEffectEx",600,false,"dd",vid,xx[1]);
    SetTimerEx("lightEffectEx",1100,false,"dd",vid,andas);
    SetTimerEx("lightEffectEx",1600,false,"dd",vid,xx[1]);
    }


    forward lightEffectEx(vid,stt);
    public lightEffectEx(vid,stt)
    {
    new xx[7];
    GetVehicleParamsEx(vid,xx[0],xx[1],xx[2],xx[3],xx[4],xx[5],xx[6]);
    SetVehicleParamsEx(vid,xx[0],stt,xx[2],xx[3],xx[4],xx[5],xx[6]);
    }

  • Zu dem 1 Error:


    error 012: invalid function call, not a valid address // Du hast dem Symbol keine Funktion zugewiesen


    Zu dem 2 Error:


    error 017: undefined symbol "vid" // Das Symbol (Variable, Konstante oder Funktion) ist nicht deklariert.


    Zu dem 3 Error:


    error 029: invalid expression, assumed zero // Pawno kann die Anweisung bzw. Befehl nicht interpretieren.


    Zu dem 4 Error:


    fatal error 107: too many error messages on one line //Es sind zu viele Errors in einer Zeile. Deswegen wird der Kompilierungsvorgang gestoppt.


    Vllt. helfen dir die ersten 3 Sachen ja weiter. Besser kann ich es leider nicht erklären. Vielleicht kriegst du es jetzt ja auch alleine hin.

  • Versuch es mal mit den 3 Sachen:


    lightEffect(vid)
    {
    new xx[7];
    GetVehicleParamsEx(vid,xx[0],xx[1],xx[2],xx[3],xx[4],xx[5],xx[6]);
    new andas=((xx[1]==-1||xx[1]==0)?(1):(0));
    SetTimerEx("lightEffectEx",100,false,"dd",vid,andas);
    SetTimerEx("lightEffectEx",600,false,"dd",vid,xx[1]);
    SetTimerEx("lightEffectEx",1100,false,"dd",vid,andas);
    SetTimerEx("lightEffectEx",1600,false,"dd",vid,xx[1]);
    }


    forward lightEffectEx(vid,stt);


    public lightEffectEx(vid,stt)
    {
    new xx[7];
    GetVehicleParamsEx(vid,xx[0],xx[1],xx[2],xx[3],xx[4],xx[5],xx[6]);
    SetVehicleParamsEx(vid,xx[0],stt,xx[2],xx[3],xx[4],xx[5],xx[6]);
    }


    Wenn du es dann /carlock machst nicht vergessen:


    lightEffect(vehicleid);


    Und den Lichteffekt nicht vergessen:


    lightEffect(PlayerCar[playerid][Dtc_PlayerKey[playerid]][vehicleid]);


    Bzw. ich habe es damals so gemacht:


    - Timer + Public erstellt.
    - Auto was abgeschlossen ist mit einer Variable definiert.
    - In den Timerpublic reingeschrieben, dass das Licht der Variable (von dem Auto) 1x blinken soll.
    - 2. Timer starten
    - Fast dasselbe wie beim 1 Timer machen nur das du diesmal keinen neuen Timer startest.


    Evt. hilft dir auch der Code:


    new car = GetPlayerVehicleID(playerid);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);


    :thumbup:

    Einmal editiert, zuletzt von Akaya ()

  • new car = GetPlayerVehicleID(playerid);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);


    Wo muss das rein?


    //E;


    lightEffect(vid)
    {
    new xx[7];
    GetVehicleParamsEx(vid,xx[0],xx[1],xx[2],xx[3],xx[4],xx[5],xx[6]);
    new andas=((xx[1]==-1||xx[1]==0)?(1):(0));
    SetTimerEx("lightEffectEx",100,false,"dd",vid,andas);
    SetTimerEx("lightEffectEx",600,false,"dd",vid,xx[1]);
    SetTimerEx("lightEffectEx",1100,false,"dd",vid,andas);
    SetTimerEx("lightEffectEx",1600,false,"dd",vid,xx[1]);
    }


    forward lightEffectEx(vid,stt);


    public lightEffectEx(vid,stt)
    {
    new xx[7];
    GetVehicleParamsEx(vid,xx[0],xx[1],xx[2],xx[3],xx[4],xx[5],xx[6]);
    SetVehicleParamsEx(vid,xx[0],stt,xx[2],xx[3],xx[4],xx[5],xx[6]);
    }


    und das



    //E;


    Rausgefunden.
    Anderes Problem wen ich mch einlogge und /carlock mache bleibt das licht an wen ich einsteige und es ausmmache und erneut /carloc mache blinkt es.


    if (strcmp("/carlock", cmdtext, true, 10) == 0)
    {
    if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    new Status = Dtc_Carlock[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]];
    new Float:dtc_X,Float:dtc_Y,Float:dtc_Z;
    GetVehiclePos(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId],dtc_X,dtc_Y,dtc_Z);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i,20.0,dtc_X,dtc_Y,dtc_Z))
    {
    PlayerPlaySound(i,1147,dtc_X,dtc_Y,dtc_Z);
    }
    }
    switch (Status)
    {
    case 0:
    {
    GameTextForPlayer(playerid, "~w~Fahrzeug ~r~abgeschlossen", 5000, 6);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    Dtc_Carlock[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]] = 1;
    Dtc_LockCar(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(CarId);
    }
    case 1:
    {
    GameTextForPlayer(playerid, "~w~Fahrzeug ~g~aufgeschlossen", 5000, 6);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    Dtc_Carlock[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]] = 0;
    Dtc_UnLockCar(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(CarId);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du besitzt Kein Fahrzeug für deinen Ausgewählten Schlüssel!");
    return 1;
    }
    return 1;
    }

    Einmal editiert, zuletzt von DerFamer ()

  • Hier hast du mal ein Beispiel...


    ocmd:carlock(playerid, params[])
    {
    if(pAutoInfo[playerid][Carid])
    {
    if(pAutoInfo[playerid][pKey] > 0)
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) return 1;
    GetVehicleParamsEx(pAutoInfo[playerid][Carid],engine,lights,alarm,doors,bonnet,boot,objective);
    GetVehicleParamsEx(pAutoInfo[playerid][Carid], engine, lights, alarm, doors, bonnet, boot, objective);
    if(pAutoInfo[playerid][Carid] != INVALID_VEHICLE_ID)
    {
    if(doors == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(pAutoInfo[playerid][Carid],engine,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective);
    SetVehicleParamsEx(pAutoInfo[playerid][Carid],engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    SetTimerEx("BlinkTimer",1000,false,"i",playerid);
    SendClientMessage(playerid,Gruen,"Fahrzeug aufgeschlossen.");
    }
    else
    {
    SetVehicleParamsEx(pAutoInfo[playerid][Carid],engine,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
    SetVehicleParamsEx(pAutoInfo[playerid][Carid],engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    SetTimerEx("BlinkTimer",1000,false,"i",playerid);
    SendClientMessage(playerid,Rot,"Fahrzeug abgeschlossen.");
    }
    }
    }
    else{SendClientMessage(playerid,Rot,"Du besitzt kein Fahrzeug!");}
    }
    return 1;
    }


    Edit: Bevor ich es vergesse. Das müsstest du dazu noch einfügen. Ist falsch eingerückt aber ich denke das kriegst du ja wohl selber hin. Sollst ja lernen ^^


    new cl = 0;
    if (cl == 0)
    {
    // Aufschließen.
    cl = 1;
    }
    else
    {
    // Abschließen.
    cl = 0;
    }

  • Rausgefunden.
    Anderes Problem wen ich mch einlogge und /carlock mache bleibt das licht an wen ich einsteige und es ausmmache und erneut /carlock mache blinkt es.


    if (strcmp("/carlock", cmdtext, true, 10) == 0)
    {
    if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    new Status = Dtc_Carlock[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]];
    new Float:dtc_X,Float:dtc_Y,Float:dtc_Z;
    GetVehiclePos(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId],dtc_X,dtc_Y,dtc_Z);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i,20.0,dtc_X,dtc_Y,dtc_Z))
    {
    PlayerPlaySound(i,1147,dtc_X,dtc_Y,dtc_Z);
    }
    }
    switch (Status)
    {
    case 0:
    {
    GameTextForPlayer(playerid, "~w~Fahrzeug ~r~abgeschlossen", 5000, 6);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    Dtc_Carlock[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]] = 1;
    Dtc_LockCar(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(CarId);
    }
    case 1:
    {
    GameTextForPlayer(playerid, "~w~Fahrzeug ~g~aufgeschlossen", 5000, 6);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    Dtc_Carlock[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]] = 0;
    Dtc_UnLockCar(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(CarId);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du besitzt Kein Fahrzeug für deinen Ausgewählten Schlüssel!");
    return 1;
    }
    return 1;
    }

  • Dann guck dir den Status der Effekte hier nochmal genau an:


    switch (Status)
    {
    case 0:
    {
    GameTextForPlayer(playerid, "~w~Fahrzeug ~r~abgeschlossen", 5000, 6);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    Dtc_Carlock[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]] = 1;
    Dtc_LockCar(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(CarId);
    }
    case 1:
    {
    GameTextForPlayer(playerid, "~w~Fahrzeug ~g~aufgeschlossen", 5000, 6);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    Dtc_Carlock[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]] = 0;
    Dtc_UnLockCar(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    lightEffect(CarId);
    }
    }
    }



  • Was ist daran falsch ich muss es in CarId schreiben sonst bekomme ich warnings