Problem mit dem Hooken

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 Abend,


    ich habe Probleme mit dem Hooken.
    Wenn ich in ein Frakauto steige, wird dieser public nicht ausgeführt.
    Ich habe sicher was falsch gemacht, da ich das hooken nicht so gut kann^^
    Warum geht es nicht ;/


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new str[128];
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    for(new x=0; x<MAX_FRAKS; x++)
    {
    if(GetPlayerVehicleID(playerid) == FrakCar[x][i])
    {
    if(PlayerInfo[playerid][pFraktion] != x)
    {
    format(str,sizeof(str),"* Du darfst dieses Fahrzeug nicht fahren, da du nicht zu der Fraktion gehörst / dein Rang zu niedrig ist.");
    SendClientMessage(playerid, ERROR_GREY, str);
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    }
    }
    return 1;
    }
    #if defined _ALS_OnPlayerStateChange
    #undef OnPlayerStateChange
    #else
    #define _ALS_OnPlayerStateChange
    #endif
    #define OnPlayerStateChange _OnPlayerStateChange

  • Dir fehlt 1. ein forawrd, zu _OnPlayerStateChange
    2. sind deine Schleifen falsch rum

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Sh12 hat es geändert, aber es funktioniert immer noch nicht:


    Quellcode:


    forward _OnPlayerStateChange(playerid, newstate, oldstate)
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new str[128];
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new x=0; x<MAX_FRAKS; x++)
    {
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    if(GetPlayerVehicleID(playerid) == FrakCar[x][i])
    {
    if(PlayerInfo[playerid][pFraktion] != x || PlayerInfo[playerid][pRang] < MinRank[FrakCar[x][i]])
    {
    format(str,sizeof(str),"* Du darfst dieses Fahrzeug nicht fahren, da du nicht zu der Fraktion gehörst / dein Rang zu niedrig ist.");
    SendClientMessage(playerid, ERROR_GREY, str);
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    }
    }
    return 1;
    }
    #if defined _ALS_OnPlayerStateChange
    #undef OnPlayerStateChange
    #else
    #define _ALS_OnPlayerStateChange
    #endif
    #define OnPlayerStateChange _OnPlayerStateChange