Nur Spieler 1 ist bugfrei, warum?

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


    Ich bin ein RL scirpt am machen. Ich hab soweit alles selber gemacht, mit ein wenig hilfe von diesem forum
    Mitlerweile sind es schon 4500 zeilen die ich geschrieben habe.
    Ich habe:


    -TO system
    -Spawn system
    -Car system
    -Spieler system
    -Mehrere jobs mit pickups
    -Tankstellen
    -Tacho
    .
    .
    .


    Nur ich hab das problem dass das spawn system nur beim ersten spieler funktioniert der auf dem server connectet.
    Woran kann sowas liegen? das is bei mehreren sachen so.
    Ich will aber nicht mein script zeigen, weil ich lange, seeehr lange dran gesessen habe.
    Was kann sowas verursachen?
    Need help, ty schonmal im vorraus


    MFG, Robdeflop

  • kann es sein, dass du alle funkionen, z.b. timer mit playerid geschrieben hast?
    so funktioniert natürlich alles nur für ID 0 außer wenn du einen timer extra für einen bestimmten spieler gesetzt hast...

    Die deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.


    _____________________________________________________________________________


    Einige Filterscripts von mir...

  • HI


    Also timer hab ich nur:


    SetTimer("PingUberschreitung",5000,1);
    SetTimer("Tankstellen",500,1);
    TOposTimer = SetTimer("TOpos", 1000, 1);
    SetTimer("TachoUpdate", 1000, 1);
    SetTimer("OnVehicleStreamIn", 250, 1);
    LohnTimer[playerid] = SetTimerEx("Lohn",90000,1,"d",playerid);


    Aber die haben keineswegs was mit dem spawn zu tun.
    Hat noch wer ne idee? kann es was mit return´s zu tun haben?


    MFG, Rob

  • das kannst da dran machen oder weglassen... ist egal^^
    aber ein return in der for-schleife bricht die schleife ab, was dann heißt dass es nur für ID 0 ausgeführt wird...

    Die deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.


    _____________________________________________________________________________


    Einige Filterscripts von mir...

  • Hi


    Hmm, hatte nirgendwo ein return in der vorschleife.
    Die forwards dich ich gemacht hab die was mim spawn zu tun haben werden aber nit von nem timer abgerufen.
    Das is z.B. bei nem cmd, dann kommt z.B. SetSpawn(playerid);


    Brauche dringend hilfe, ohne den bug zu fixxen kann ich nicht weitermachen :*(

  • ein return in der for-schleife bricht die schleife ab, was dann heißt dass es nur für ID 0 ausgeführt wird...


    Korrekt :D
    Zu den publics wenn sie für ALLE spieler gelten sollen:
    Falsch:

    SetTimer("Test",1000,1);
    forward Test(playerid);
    public Test(playerid)

    Richtig:

    SetTimer("Test2",1000,1);
    forward Test2();
    public Test2()
    {
    for(new i = 0; i <= MAX_PLAYERS; i++)
    {
    //blabla



    Für einen spieler
    SetTimerEx("Test3", 1000, 1, "i", playerid);
    forward Test3(playerid);
    public Test3(playerid)

  • Hi


    Das mit dem spawn hat aber nix mit timern zu tun oO
    Ich hab das mit dem spawn so in etwa:


    public SpawnZuSaved(playerid)
    {
    bla (unwichtig)
    ..
    if(gPlayerLogged[playerid] == 1)
    {
    {
    Gespawnt[playerid] = 1;
    SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, 1);
    if(PlayerInfo[playerid][SpawnX] == 0 && PlayerInfo[playerid][SpawnY] == 0 && PlayerInfo[playerid][SpawnZ] == 0)
    {
    SetPlayerPos(playerid, ka, ka, ka);
    }
    else
    {
    SetPlayerPos(playerid, PlayerInfo[playerid][SpawnX], PlayerInfo[playerid][SpawnY], PlayerInfo[playerid][SpawnZ]);
    }
    return 1;
    }
    }
    ...
    bla bla
    return 1;
    }


    Un bei OnPlayerSpawn:


    SetPlayerSpawn(playerid);


    MFG, Robdeflop


    EDIT: kleinerOpa, ich hab gehört dass man cars nurnoch bei InVehicleStreamed in öffnen un schließen kann. Also hab ich einfach ein timer gemacht, wo das immer abgerufen wird. Also so hat das bis jetzt immer funktioniert^^

    Einmal editiert, zuletzt von Robdeflop ()