respawncars 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
  • moin. ich habe schon ein bisschen rumgesucht mit der sufu aber wirklich gebracht hat mir alles nichts.
    ich habe einen respawn befehl fuer fahrzeuge. nur will ich das wenn jemand in einem fahrzeug sitzt dieses nicht respawnt wird.
    hier mal mein code:



    ocmd:fahrzeugerespawnen(playerid,params[])
    {
    for(new s=0;s<MAX_PLAYERS;s++)
    {
    if(IsPlayerConnected(s))
    {
    for(new i=0;i<MAX_VEHICLES;i++)
    {
    if(!IsPlayerInVehicle(s,i))
    {
    SetVehicleToRespawn(i);
    }
    }
    }
    }
    return 1;
    }


    das problem ist nur das egal ob jemand drin sitzt oder nicht es werden einfach alle respawnt.

  • Das ist ja auch relativ logisch, dass sein Fahrzeug trotzdem respawnt wird. Geht aus dem Code hervor.
    Du musst also die Fahrzeug ID in der sich ein Spieler befindet überspringen..


    Dafür gibt es "continue"...

    ocmd:fahrzeugerespawnen(playerid,params[])
    {
    new bool:benutzt[MAX_VEHICLES];//Variable für alle Vehicle. Standartmäßig auf "false"
    for(new p=0;p<GetMaxPlayers();p++)
    {
    if(GetPlayerState(p)==PLAYER_STATE_DRIVER){benutzt[GetPlayerVehicleID]=true;}/*Es kann immer nur einen Fahrer eines Vehicles geben, wenn Fahrer, dann für Vehicle ID die Variable auf "true" setzen.*/
    }


    //Jetzt der VehicleLoop
    for(new v=0;v<MAX_VEHICLES;v++)
    {
    if(benutzt[v]==true){continue;}//Ausnahme-schleife (überspringt schleifenaktionen für wert von v und geht zum nächsten)
    SetVehicleToRespawn(v);


    }
    return 1;
    }



    Wie immer voll aus dem Kopf geschrieben. Garantiere für nix um die Zeit ;)


    (Anbei war deine Herangehensweise nicht gerade Vorteilhaft.
    Du loopst einmal durch alle Spieler und während jedes Durchganges noch durch alle Fahrzeuge ^^ )



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )

    Einmal editiert, zuletzt von FACE ()

  • C:\Documents and Settings\ursula\Desktop\sf script\gamemodes\sf.pwn(204) : error 076: syntax error in the expression, or invalid function call
    C:\Documents and Settings\ursula\Desktop\sf script\gamemodes\sf.pwn(210) : error 001: expected token: ";", but found "}"
    C:\Documents and Settings\ursula\Desktop\sf script\gamemodes\sf.pwn(210) : error 036: empty statement
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.


    edit:
    danke es scheint zu klappen! hier der gefixxte code falls ihn jemand braucht in der zukunft



    ocmd:fahrzeugerespawnen(playerid,params[])
    {
    new bool:benutzt[MAX_VEHICLES];
    for(new p=0;p<GetMaxPlayers();p++)
    {
    if(GetPlayerState(p)==PLAYER_STATE_DRIVER)
    {
    benutzt[GetPlayerVehicleID(p)]=true;
    }
    }
    for(new v=0;v<MAX_VEHICLES;v++)
    {
    if(benutzt[v]==true)
    {
    continue;
    }
    SetVehicleToRespawn(v);
    }
    return 1;
    }

    Einmal editiert, zuletzt von Tround ()