autos team zuweisen

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 versuche nun schon länger verschiedenen teams autos zuzuweisen, indem ich die, die nicht zum Teamgehören, aus den Auto geschmissen:


    new auto1;


    public OnGameModeInit()
    {
    auto1 = AddStaticVehicle(596,1602.9822,-1683.9576,5.6117,270.1100,53,1); // lspdcar 1
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(vehicleid == auto1)
    {
    if((gTeam[playerid] == Team_Cops_LS) || (gTeam[playerid] == Team_Cops_SF) || (gTeam[playerid] == Team_Cops_LV) || (gTeam[playerid] ==Team_Army))
    {
    SendClientMessage(playerid,GREEN,"Willkommen in einem Auto!");
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du besitzt keinen Schlüssel für dieses Auto!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    return 1;
    }


    das problem : C:\Users\Simon Siggelkow\Desktop\Pawno\gamemodes\Dm.pwn(992) : error 017: undefined symbol "vehicleid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    das problem:

  • new vehicleid = GetPlayerVehicleID(playerid);

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • schon probiert ^^
    bei new kackt compiler ab!
    bei #define:
    da kommen dann 4 errors, da vehicleid schon bei OnVehicleSpawn(vehicleid) oder sonstigem drinne ist.


    ich habs auch schon mit f == auto1
    und dann oben: new f == Get...
    klappt auch nicht, compiler kackt immer ab^^

  • new auto1;


    public OnGameModeInit()
    {
    auto1 = AddStaticVehicle(596,1602.9822,-1683.9576,5.6117,270.1100,53,1); // lspdcar 1
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    //Das müsste jetzt eigentlich gehen:
    new vehicleid = GetPlayerVehicleID(playerid);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(vehicleid == auto1)
    {
    if((gTeam[playerid] == Team_Cops_LS) || (gTeam[playerid] == Team_Cops_SF) || (gTeam[playerid] == Team_Cops_LV) || (gTeam[playerid] ==Team_Army))
    {
    SendClientMessage(playerid,GREEN,"Willkommen in einem Auto!");
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du besitzt keinen Schlüssel für dieses Auto!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    return 1;
    }

  • wow klappt!!!!!
    danke!


    ich möchte nun mehreren autos diese teams zuweisen. es ist aber ziemlich aufwendig immer ein new zu machen und dann jedesmal ((...) || (...) || (...)) zu machen.
    giebt es da eine bessere lösung?

    Einmal editiert, zuletzt von Simon ()

  • new team1[5];



    team1[0] = CreateVehicle(...);
    team1[1] = ...



    Überprüfen ...



    for(new j = 0;j<sizeof team1;j++)
    {
    if(GetPlayerVehicleID(playerid) == team1)
    {
    // Weitere Aktionen...
    }
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • soll ich das bei OnPlayerStateChange einfügen?


    new team1[5];


    "5" entspricht der anzahl der autos, die dem team zugewiesen werden, oder?


    danke


    //edit:


    new copsauto[5];


    OnPlayerGameModeInit()
    {
    copsauto[0] = AddStaticVehicle(596,1602.9822,-1683.9576,5.6117,270.1100,53,1); // lspdcar 1
    copsauto[1] = AddStaticVehicle(596,1602.9850,-1687.9573,5.6116,270.8575,53,1); // lspdcar 2
    copsauto[2] = AddStaticVehicle(596,1602.9276,-1692.0969,5.6103,269.7597,53,1); // lspdcar 3
    copsauto[3] = AddStaticVehicle(596,1602.8617,-1696.1664,5.6109,270.2654,53,1); // lspdcar 4
    copsauto[4] = AddStaticVehicle(596,1602.6741,-1700.1179,5.6118,270.4079,53,1); // lspdcar 5
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new j = 0;j<sizeof copsauto;j++)
    {
    if(vehicleid == copsauto)
    {
    if((gTeam[playerid] == Team_Cops_LS) || (gTeam[playerid] == Team_Cops_SF) || (gTeam[playerid] == Team_Cops_LV) || (gTeam[playerid] ==Team_Army))
    {
    SendClientMessage(playerid,GREEN,"Willkommen in einem Auto!");
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du besitzt keinen Schlüssel für dieses Auto!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    }
    return 1;
    }



    C:\Users\Simon Siggelkow\Desktop\Pawno\gamemodes\Dm.pwn(996) : error 033: array must be indexed (variable "copsauto")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    Einmal editiert, zuletzt von Simon ()