/spec für zuschauer

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
  • Ich bin im Moment daran ein CW script zu schreiben. Soweit ist noch alles gut, aber ich würde gerne die /spec funktion nun für die zuschauer haben, wie soll ich das angehen?


    EDIT: Das mit /spec hab ich hin bekommen, aber bei mir können jetzt alle /spec machen wie bekomme ich das hin das nur die Zuschauer (TEAM_REF) /spec benutzen kann.


    Und noch ne frage wenn man mit ner kamera fotografiert bleibt alles für ne kurze zeit bei allem auf dem server stehen wie deaktiviere ich dieses?


    Und noch eine ich hab bei mir ein höhen limet drin, da die zuschauer auf einer plattform stehen, die die zuschauer zurücksetzt falls sie mal runter fallen. Aber diese begrenzung fast auch wenn der zuschauer /spec macht. Wie kann man diesen begrenzer nur auflösen wenn der zuschauer /spec macht, also wenn ers nicht /spec macht wirkt der begrenzer?

    2 Mal editiert, zuletzt von don456 ()

  • Zu 1. schick mal pls den code zu /spec pls
    Zur 2. Frage: leider sind die cameras in samp synchronisiert so, wenn jemand also ein Foto macht dann blitz es bei jedem, DMA hatte glaub ich hier im Forum mal gepostet wie man die Cameras unsynchronisiert, aber frag mich nicht wo^^
    Zur 3. Frage: tut mir leid da kann ich dir nicht helfen!

  • also ma kurz und knapp:
    -Die Kamera würde ich einfach unter "SetDisabledWeapons" setzen.
    -Da du den SPecmode ja schon fertig hast und nur noch für die eine Fraktion hast, wendest du dich am besten an das folgende TuT: [ SCRIPTING ] Teams mit gTeam erstellen
    (natürlich für nicht GF user :D)



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

  • -Nein TuT er ganz sicher nicht, weil die Camera's immer nur ein Bild machen würden und das kann man nicht kontrollieren soweit ich weiss, weil das ja beim Spieler gespeichert werden müsste und vom Spielerrechner aufgerufen werden müsste. (das wäre ja hacking :D)
    -Er macht es zu 100% mit dem SpectatingMode, der setzt einfach eine VerfolgerCam an den zu verfolgenden Spieler.



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

  • Also das mit der Kamera kann man nicht beheben das es Blitz und alles stockt ok muss ich se deaktiverien.
    Werde das mit gteam gleich mal testen für die /spec funktion.
    Und antwort 1 von IceCube das ist einfach die /spec funktion aus admin /spec nur ihne das es auf admin begrenzt ist


    EDIT:


    So mal meine /spec funktion


    if(strcmp(cmd, "/spec", true) == 0) {
    new tmp[256];
    tmp = TEAM_REFspec_strtok(cmdtext, idx);


    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_GREEN, "Benutze: /spec [id] (nur für Zuschauer)");
    return 1;
    }
    specplayerid = strval(tmp);


    if(!IsPlayerConnected(specplayerid)) {
    SendClientMessage(playerid, COLOR_RED, "specplayer: dieser player ist nicht aktiv.");
    return 1;
    }


    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, specplayerid);
    SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
    gSpectateID[playerid] = specplayerid;
    gSpectateType[playerid] = SPEC_TYPE_PLAYER;


    return 1;
    }
    So wenn ich dann das mit gteam mache sieht das so aus:


    if(strcmp(cmd, "/spec", true) == 0) {
    new tmp[256];
    tmp = TEAM_REFspec_strtok(cmdtext, idx);


    if(gTeam[playerid] == TEAM_REF)


    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_GREEN, "Benutze: /spec [id] (nur für Zuschauer)");
    return 1;
    }
    specplayerid = strval(tmp);


    if(!IsPlayerConnected(specplayerid)) {
    SendClientMessage(playerid, COLOR_RED, "specplayer: dieser player ist nicht aktiv.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist kein Zuschauer!");
    }


    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, specplayerid);
    SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
    gSpectateID[playerid] = specplayerid;
    gSpectateType[playerid] = SPEC_TYPE_PLAYER;


    return 1;
    }
    So jetzt das Problem spec geht trotzdem noch für alle das einzigste was sich geändert hat ist das eine anzeige kommt "Du bist kein Zuschauer"

    2 Mal editiert, zuletzt von don456 ()

  • Probiers mal so, ich weiß net obs geht:
    if(strcmp(cmd, "/spec", true) == 0 && gTeam[playerid] == TEAM_REF){
    new tmp[256];
    tmp = spec_strtok(cmdtext, idx);



    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_GREEN, "Benutze: /spec [id] (nur für Zuschauer)");
    return 1;
    }
    specplayerid = strval(tmp);


    if(!IsPlayerConnected(specplayerid)) {
    SendClientMessage(playerid, COLOR_RED, "specplayer: dieser player ist nicht aktiv.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist kein Zuschauer!");
    }


    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, specplayerid);
    SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
    gSpectateID[playerid] = specplayerid;
    gSpectateType[playerid] = SPEC_TYPE_PLAYER;


    return 1;
    }

  • Naja funktioniert nur halb
    Wenn man nicht als zuschauer /spec macht kommt Unknow Comment, wenn man als zuschauer /spec macht kommt du bist kein zuschauer aber es geht


    EDIT: Habs hinbekommen es geht hier mit:
    if(strcmp(cmd, "/spec", true) == 0 && gTeam[playerid] == TEAM_REF){
    new tmp[256];
    tmp = spec_strtok(cmdtext, idx);



    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_GREEN, "Benutze: /spec [id] (nur für Zuschauer)");
    return 1;
    }
    specplayerid = strval(tmp);


    if(!IsPlayerConnected(specplayerid)) {
    SendClientMessage(playerid, COLOR_RED, "specplayer: dieser player ist nicht aktiv.");
    return 1;
    }


    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, specplayerid);
    SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
    gSpectateID[playerid] = specplayerid;
    gSpectateType[playerid] = SPEC_TYPE_PLAYER;


    return 1;
    }
    if(strcmp(cmd, "/spec", true) == 0 && gTeam[playerid] == TEAM_1)
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist kein Zuschauer!");
    return 1;
    }
    if(strcmp(cmd, "/spec", true) == 0 && gTeam[playerid] == TEAM_2)
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist kein Zuschauer!");
    return 1;
    }

    Einmal editiert, zuletzt von don456 ()