Chat nur für Piloten

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
  • Hallo lieber User,


    ich hatte vorhin einen Befehl gemacht, mit den man in einem Flugzeug chatten kann, so eine Art Funk. Nun habe ich ein Problem: wenn ich den Befehl eingebe und dazu einen Text gebe und dabei im Flugzeug sitze, können diesen Text ALLE! anderen die NICHT! in einem Flugzeug sitzen auch lesen. Mein Problem ist, an was liegt das? Hier sind die Codes:



    public IsAPlane(carid)
    {
    for(new i = 0; i < sizeof(Flugzeuge); i++)
    {
    new model = GetVehicleModel(carid);
    if(carid == Flugzeuge[i] || model == 425 || model == 487 || model == 497)
    {
    return 1;
    }
    }
    new model = GetVehicleModel(carid);
    if(model == 425 || model == 487 || model == 497 || model == 520)
    {
    return 1;
    }
    return 0;
    }


    und



    if(strcmp(cmd, "/funk", true) == 0)
    {
    new carid = GetPlayerVehicleID(playerid);
    if(IsAPlane(carid))
    {
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[128];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /funk [Text]");
    return 1;
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsAPlane(carid))
    {
    format(string, sizeof(string),"Pilot %s: %s, kommen.",sendername, (result));
    SendClientMessage(i, COLOR_GREEN, string);
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist in keinem Flugzeug / Helikopter!");
    return 1;
    }
    return 1;
    }


    Ich hoffe ihr könnt mir helfen.



    Grüße, Tommi


  • if(IsPlayerConnected(i))
    {
    if(IsAPlane(carid)) // Hier fehler
    {

    new carid = GetPlayerVehicleID(playerid);

    da ist der fehler der fragt ab ob der der das schreibt in nem flugzeug ist nicht die die im flugzeug sitzen also musste da noch ne extra variable machen z.B. carida und da dann
    new carida = GetPlayerVehicleID(i);
    if(IsAPlane(carida))
    {