Teleporter f+r Fraktionen

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
  • Hi leute ich wollte fragen ob mir einer von euch erklären kann wie ich es scripten kann das teleporter für bestimmte fraktionen sind? also das heißt ich habe bei Medic 2 teleporter und nur medics sollen durch dürfen wie mache ich das? :/ bitte um hilfe ;)


    thx im vorruas :)

  • mithilfe einer simplen if Abfrage, je nachdem wie du deine eams erstellt hast... in meinem Beispiel mit gTeam:
    if(gTeam[playerid] == TEAM_MEDIC)
    {
    // SetPlayerPos usw. - dein Teleport
    }
    else
    {
    // Nachricht senden? "Du bist kein Medic"...
    }

  • also ich habs so gemacht



    else if(PlayerToPoint(2.0, i,2316.1821,-1144.4137,1054.3047))//Musste ändern
    {//Port rein
    GameTextForPlayer(i, "~b~Willkommen im ~r~Bordell ~b~von ~r~Realdog", 5000, 1);
    SetPlayerInterior(i, 0);//Musste ändern
    SetPlayerPos(i,1880.5480,181.6389,4443.7700);//Musste ändern
    }
    }


    es kommen aber 3 errors


    E:\Programme2\sa-mp\GFR.pwn(5739) : error 017: undefined symbol "playerid"
    E:\Programme2\sa-mp\GFR.pwn(5739) : error 036: empty statement
    E:\Programme2\sa-mp\GFR.pwn(5741) : error 029: invalid expression, assumed zero


    In diesen Zeilen:


    Zeile:(5739) : if(PlayerInfo[playerid][pMember] == 4 ||PlayerInfo[playerid][pLeader] == 4);
    }


    Zeile:(5741) : else if(PlayerToPoint(2.0, i,1090.4159,-1310.9283,13.6515))//Musste ändern
    {/


    wäre echt geil wenn mir jemand helfen würde ;)

    Einmal editiert, zuletzt von Realdog ()

  • Hier:
    Zeile:(5739) : if(PlayerInfo[playerid][pMember] == 4 ||PlayerInfo[playerid][pLeader] == 4);
    }


    Da solltest du "playerid" mit "i" austauschen da noch ne Schleife drum rum ist.
    Und das oben ist technisch nicht korrekt denn du fragst ab: wenn(PlayerMember == 4 ODER PlayerLeader == 4); und dann einfach ein Strichpunkt... Empty Statement steht im Error: Heisst auf deutsch "Leere Anweisung".
    Es ist ja auch eine leere Anweisung weil da keine { } klammern kommen.


    Versuchs mal folgendermassen:



    for(new i = 0; i<MAX_PLAYERS;i++)
    {
    if(PlayerInfo[i][pMember] == 4 ||PlayerInfo[i][pLeader] == 4)
    {
    if(PlayerToPoint(2.0, i,2316.1821,-1144.4137,1054.3047))//Musste ändern
    {//Port rein
    GameTextForPlayer(i, "~b~Willkommen im ~r~Bordell ~b~von ~r~Realdog", 5000, 1);
    SetPlayerInterior(i, 0);//Musste ändern
    SetPlayerPos(i,1880.5480,181.6389,4443.7700);//Musste ändern
    }
    }
    }


  • Das hast du alles geschrieben.
    Jetzt poste mal alles nicht nur Einzelteile.
    Ist das oben in einer public die mit Timer abgefragt wird? Wenn ja dann POSTE die Public!

  • ka was du meinst also das was du oben gepostet hasst ich weiß nicht wo ich das einfügen muss?

  • :pinch:



    else if(PlayerToPoint(2.0, i,2316.1821,-1144.4137,1054.3047))//Musste ändern
    {//Port rein
    GameTextForPlayer(i, "~b~Willkommen im ~r~Bordell ~b~von ~r~Realdog", 5000, 1);
    SetPlayerInterior(i, 0);//Musste ändern
    SetPlayerPos(i,1880.5480,181.6389,4443.7700);//Musste ändern
    }
    }


    Woher hast du das aus deinem Gamemode ??
    Ich denke aus einer "public" z.b. public CheckBordell()


    Dann poste diese GANZE public!


    Denn so kann ich zeigen WIE man mein Vorschlag oben einfügen muss-.-

  • ja hier so
    das ist allerdings nur der teleporter xD


    else if(PlayerToPoint(2.0, i,1090.4159,-1310.9283,13.6515))//Musste ändern
    {//Port rein
    GameTextForPlayer(i, "~y~Willkommen in ~r~SF", 5000, 1);
    SetPlayerInterior(i, 0);//Musste ändern
    SetPlayerPos(i,-2232.3779,309.1230,35.1172);//Musste ändern
    }


  • else if(PlayerToPoint(2.0, i,1090.4159,-1310.9283,13.6515))//Musste ändern
    {//Port rein
    GameTextForPlayer(i, "~y~Willkommen in ~r~SF", 5000, 1);
    SetPlayerInterior(i, 0);//Musste ändern
    SetPlayerPos(i,-2232.3779,309.1230,35.1172);//Musste ändern
    }

    Das ist nicht alles!


    Wenn du es in einem Befehl hast SEND den ganzen Befehl!
    Oder EBEN die ganze Public....

  • doch für den Teleporter isat das der ganze befehl xD du meinst da fehlt noch der teleporter das man zurück kann aber das habe ich nicht gemacht man kann nur durch gehen xD und ja der teleporter tuhts ja :) halt können alle durch


    else if(PlayerToPoint(2.0, i,1090.4159,-1310.9283,13.6515))//Musste ändern
    {//Port rein
    GameTextForPlayer(i, "~y~Willkommen in ~r~SF", 5000, 1);
    SetPlayerInterior(i, 0);//Musste ändern
    SetPlayerPos(i,-2232.3779,309.1230,35.1172);//Musste ändern
    }

  • Ok ok sry habs vorhin nicht geblinkt.. ist wohl ein Pickup oder?


    also so:



    else if(PlayerToPoint(2.0, i,1090.4159,-1310.9283,13.6515))//Musste ändern
    {//Port rein
    if(PlayerInfo[i][pMember] == 4 ||PlayerInfo[i][pLeader] == 4)
    {
    GameTextForPlayer(i, "~y~Willkommen in ~r~SF", 5000, 1);
    SetPlayerInterior(i, 0);//Musste ändern
    SetPlayerPos(i,-2232.3779,309.1230,35.1172);//Musste ändern
    } else {
    //SendClientMessage(playerid,RED, "*** Du bist nicht Member4 oder Leader4");
    }
    }

  • Danke also wir kommen immer näher oder eher du kommst immer näher nur leider darf jetzt keiner mehr durch den teleporter xD Fraktion 4 auch nicht :(

  • Da gabs wohl ne verwechslung :D:D



    else if(PlayerToPoint(2.0, i,2316.1821,-1144.4137,1054.3047))//Musste ändern
    {//Port rein
    if(PlayerInfo[i][pMember] == 4 ||PlayerInfo[i][pLeader] == 4)
    {
    GameTextForPlayer(i, "~b~Willkommen im ~r~Bordell ~b~von ~r~Realdog", 5000, 1);
    SetPlayerInterior(i, 0);//Musste ändern
    SetPlayerPos(i,1880.5480,181.6389,4443.7700);//Musste ändern
    } else {
    //SendClientMessage(playerid,RED, "*** Du bist nicht Member4 oder Leader4");
    }
    }


    weil hier:

    else if(PlayerToPoint(2.0, i,1090.4159,-1310.9283,13.6515))//Musste ändern
    {//Port rein
    if(PlayerInfo[i][pMember] == 4 ||PlayerInfo[i][pLeader] == 4)
    {
    GameTextForPlayer(i, "~y~Willkommen in ~r~SF", 5000, 1);
    SetPlayerInterior(i, 0);//Musste ändern
    SetPlayerPos(i,-2232.3779,309.1230,35.1172);//Musste ändern
    } else {
    //SendClientMessage(playerid,RED, "*** Du bist nicht Member4 oder Leader4");
    }
    }


    ist ein anderer Ort .. Die koordinaten sind n icht gleich...
    Weiss jetzt nicht was das richtige ist :/

  • ich glaube ich habe das problem bin mir aber nicht sicher mhhhhhhhhh...... ich werde die teleporter kurz entfernen ;)


    *edit


    Ich habe den fehler gefunden und es klappt ich danke dir eh echt hamma vielen dank :)


    würdest du mir auch erklären wie man noob cars erstellt?

    Einmal editiert, zuletzt von Realdog ()

  • Ok ich bin nachmittag wieder hier ..gehe GTA IV gamen 8)