Fraktionsautosystem Command funktioniert nicht richtig!

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 Sa:Mp Com.,


    ich habe gerade ein Problem in meinem Script festgestellt, welches Folgendes ist.
    Wenn man bei meinem Fraktionsautosystem die Autos respawnen will, respawnt immer nur eins der Fraktion.
    Hier mal der Command:

    ocmd:fcrespawn(playerid,params[])
    {
    if(GetPVarInt(playerid,"Leader") >0)
    {
    for(new v = 1;v < MAX_FCARS; v++)
    {
    if(FraktionsCar[v][fcFraktion] == GetPVarInt(playerid,"Leader"))
    {
    for(new i; i<MAX_PLAYERS;i++)
    {
    if(GetPlayerVehicleID(i) == FraktionsCar[v][fcID])
    {

    }
    else
    {
    DestroyVehicle(FraktionsCar[v][fcID]);
    FraktionsCar[v][fcID] = CreateVehicle(FraktionsCar[v][fcModel],FraktionsCar[v][fcX],FraktionsCar[v][fcY],FraktionsCar[v][fcZ],FraktionsCar[v][fcA],FraktionsCar[v][fcFarbe1],FraktionsCar[v][fcFarbe2],100000000);
    Tank[v] = GetGasMax(GetVehicleModel(v));
    return 1;
    }
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du musst Chef einer Firma sein!");
    }
    return 1;
    }


    Es wird immer nur ein Auto von der Fraktion respawnt, in der der Spieler ist.


    Vielleicht kann mir Jemand helfen,


    MfG


    [MR] Dynamic

  • Hm, funktioniert dennoch nicht, wie habt ihr es denn gelöst ?


    MFG

  • Also ich hab es so gelöst bei meinem GF gamemode damals bei der Fahrschule. Jedoch werden hier die Fahrzeuge die sich im Gamemode befinden respawnt
    aber das Prinzip ist gleich.


    if(!strcmp(cmdtext, "/fcrespawn", true)){
    if(PlayerInfo[playerid][pLeader] == 11){
    for(new v=0; v<sizeof(FahrschulVehs); v++){
    for(new i=0;i< MAX_PLAYERS; i++){
    if(IsPlayerConnected(i)){
    if(GetPlayerVehicleID(i) != FahrschulVehs[v]){SetVehicleToRespawn(FahrschulVehs[v]);
    }
    }
    }
    }
    }else{ SendClientMessage(playerid,COLOR_RED," Du bist nicht Leader der Fahrschule!");}
    return 1;
    }

  • Guck mal in dem Startpost die Zeile 20 des Codes an.Dort ist ein return.
    Das darf dort nicht hin,wenn nicht nach dem ersten erstellten Fahrzeug der Befehl bzw die Funktion beendet werden soll.
    An stelle des "return" wäre ein "break" möglich, versuch es aber lieber erst mal ohne.Das "break" würde nur die Funktion etwas schneller machen.


    Weitere Dinge seh ich jetzt nicht,weshalb nur ein Fahrzeug spawnt ( kennen ja den Zusammenhang der Variablen nicht :\ ).