FraktionsCars Problem

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 liebe Community,
    Ich habe ein Problem.
    Ich möchte, dass wenn der Spieler in ein FraktionsCar einsteigt folgender Text kommt:
    "Das Fahrzeug gehört zum LSPD."
    "Du besitzt keine Schlüssel zu diesem Fahrzeug!"
    Ich habe versucht sowas zu Scripten aber es funktioniert nicht!


    #define fraktname0 "Keine"
    #define fraktname1 "LSPD"
    #define fraktname2 "SKE"
    #define fraktname3 "Hitman"
    #define fraktname4 "Groove Street"
    #define fraktname5 "Ballas"
    #define fraktname6 "La Cosa Nostra"
    #define fraktname7 "Medic"
    #define fraktname8 "Feuerwehr"
    #define fraktname9 "Fahrlehrer"
    #define fraktname10 "News Reporter"
    Unter OnGameModeInit:


    PoliceCar[0]=AddStaticVehicleEx(596,1535.9277,-1678.0881,13.1039,359.8003,0,1,0); // PoliceCar0
    PoliceCar[1]=AddStaticVehicleEx(596,1535.9618,-1666.9938,13.1033,0.2691,0,1,0); // PoliceCar1
    PoliceCar[2]=AddStaticVehicleEx(596,1602.5367,-1704.2720,5.6109,90.9355,0,1,0); // PoliceCar2
    PoliceCar[3]=AddStaticVehicleEx(596,1602.5271,-1700.1742,5.6114,90.1628,0,1,0); // PoliceCar3
    PoliceCar[4]=AddStaticVehicleEx(596,1602.4718,-1696.1313,5.6118,90.1559,0,1,0); // PoliceCar4
    PoliceCar[5]=AddStaticVehicleEx(596,1602.3730,-1692.0424,5.6110,90.3751,0,1,0); // PoliceCar5
    PoliceCar[6]=AddStaticVehicleEx(596,1602.3641,-1687.9070,5.6119,90.2107,0,1,0); // PoliceCar6
    PoliceCar[7]=AddStaticVehicleEx(596,1602.3606,-1683.9768,5.6107,89.5987,0,1,0); // PoliceCar7
    Meine Abfrage, ob der Spieler in der Fraktion ist:


    stock IsPlayerInFrak(playerid,frakid)
    {
    if(GetPVarInt(playerid,"Fraktion")==frakid)return 1;
    return 0;
    }



    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(PoliceCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==PoliceCar)
    {
    if(!IsPlayerInFrak(playerid,1))
    {
    SendClientMessage(playerid,GELB,"Das Fahrzeug gehört zum LSPD.");
    SendClientMessage(playerid,GELB,"Du besitzt keinen Schlüssel zu diesem Fahrzeug!");
    }
    }
    }
    }
    return 1;
    }
    Ich hoffe ihr könnt mir weiterhelfen


    mfg

  • BugFix:

    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(PoliceCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==PoliceCar[i])//index vergessen
    {
    if(!IsPlayerInFrak(playerid,1)) //Ist nicht
    {
    SendClientMessage(playerid,GELB,"Das Fahrzeug gehört zum LSPD.");
    SendClientMessage(playerid,GELB,"Du besitzt keinen Schlüssel zu diesem Fahrzeug!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    }

    }


    EDIT: comment

  • Versuch es mal so :

    new vehicleid = GetPlayerVehicleID(playerid);
    if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER){
    if(vehicleid >= PoliceCar[0] && vehicleid <=PoliceCar[7])
    {
    if(!IsPlayerInFrak(playerid,1))
    {
    SendClientMessage(playerid,GELB,"Das Fahrzeug gehört zum LSPD.");
    SendClientMessage(playerid,GELB,"Du besitzt keinen Schlüssel zu diesem Fahrzeug!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }


    Aus dem Kopf geschrieben.

  • So muss es heißen ;)


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(PoliceCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==PoliceCar[i])
    {
    if(!IsPlayerInFrak(playerid,1))
    {
    SendClientMessage(playerid,GELB,"Das Fahrzeug gehört zum LSPD.");
    SendClientMessage(playerid,GELB,"Du besitzt keinen Schlüssel zu diesem Fahrzeug!");
    }
    }
    }
    }
    return 1;
    }


    //Edit: zu langsam -.- aber so kannst es auch machen...