[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • SetPlayerPos(playerid, 2003.1178 1015.1948 33.008);
    Zu
    SetPlayerPos(playerid, 2003.1178, 1015.1948, 33.008);


    Der Rest sollte dann passen, zu dem was du vor hast.



    EDIT:
    STRG+H, dann Leerzeichen mit Komma ersetzen.
    Oder in eine Excel Tabelle importieren, und dann nur die drei Koordinaten Spalten raus kopieren, und dort den TAB mit Komma ersetzen.

  • Jeffry:


    Das mit der Excel Tabelle versuche ich gleich, dennoch habe ich ein Problem:



    Habe so die Koordinaten in meiner Liste:



    case 1:
    {
    SetPlayerPos(playerid, 770.8033, -0.7033, 1000.7267);
    SetPlayerInterior(playerid, 5);
    SendClientMessage(playerid, 0x00FF78FF, "You teleported yourself to {FF0041} Ganton Gym");
    return 1;
    }



    Teleportiere ich mich. Ich sehe nur weiß



    Habe testweise noch ein /setloc Befehl, wo ich die X, Y & Z Koordinate + Interior eingebe, dort funktionierts.


    /setloc 770.8033 -0.7033 1000.7267 5

    Halt genau das selbe nur ohne Kommas..


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Jeffry:


    Ich teleportiere mich mit beiden.


    Mit /setloc 770.8033 -0.7033 1000.7267 5 funktioniert es.


    Mit der 2. Variante werde ich teleportiert, sehe aber nur weiß..


    Aber ich mache mal ein relog, vielleicht hilft es ja..


    E: Hat nicht geholfen, sieht nach wie vor so aus:



    case 1:
    {
    SetPlayerPos(playerid, 770.8033,-0.7033,1000.7267);
    SetPlayerInterior(playerid, 5);
    SendClientMessage(playerid, 0xFEFEFEFF, "Succesfully teleported to{0069FF} ''Ganton Gym''.");
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

    Einmal editiert, zuletzt von JustMe.77 ()

  • Jeffry:


    Welche Zeilen soll ich damit ersetzen? Ich glaube du verstehst mich falsch.


    Der /setloc Befehl funktioniert einwandfrei. Ich habe noch ein /tpmenu Befehl womit sich eine Liste mit 145 Interiors öffnet, wähle ich den Teleport mit dem Koordinaten die du oben in deinem Beitrag hast werde ich teleportiert, aber ich kann das Interior nicht erkennen bzw. sehe nur weiß.


    Aber es sind genau die selben Koordinaten/InteriorID wie beim /setloc Befehl.
    Ich habe ebenfalls mein Freund Slice gefragt ob er dort ein Fehler sieht, er meinte ich sollte mich teleportieren und /interior machen und schauen ob ich im richtigen Interior bin.


    Edit:
    t
    Habe es gerade gemacht, bin im Interior 5 so wie es in der Liste steht. Da muss ein Fehler in den Koordinaten liegen, doch der einzige Unterschied zwischen beiden Befehlen ist das ich bei /setloc keine Kommas benutze, und bei SetPlayerPos eben doch..


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Die zwei/drei (falls mit Nachricht) Zeilen:
    SetPlayerPos(playerid, 770.8033,-0.7033,1000.7267);
    SetPlayerInterior(playerid, 5);


    zu:
    OnPlayerCommandText(playerid, "/setloc 770.8033 -0.7033 1000.7267 5");


    Wenn es mit dem Befehl geht, müsste es ja so klappen.
    Wenn nicht, dann kannst du ja mal /save und /interior machen, ob bei /save die gleichen Koordinaten stehen.

  • Hey,


    ich habe das hier geskriptet:
    ocmd:dienstmarke(playerid,params[]){
    new pID, jtext[256];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,GELB,"Tippe: /dienstmarke [ID]");
    if(PlayerInfo[playerid][pMember] == 1) { jtext = "Los Santos Police Department"; }
    else if(PlayerInfo[playerid][pMember] == 2) { jtext = "Federal Bureau of Investigation"; }
    else if(PlayerInfo[playerid][pMember] == 3) { jtext = "San Andreas Army"; }
    else if(PlayerInfo[playerid][pMember] == 22) { jtext = "Special Weapons and Tactics"; }
    else if(PlayerInfo[playerid][pMember] == 24) { jtext = "Ordnungsamt"; }
    else if(PlayerInfo[playerid][pMember] == 4) { jtext = "Sanitäter"; }
    else { jtext = "None"; }
    new string[256], sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,144," [Dienstmarke - %s] ",sendername);
    format(string,144," Behörde: %s ",jtext);
    format(string,144," Dienstgrad: %i ",PlayerInfo[playerid][pRank]);
    format(string,144,"Dieser Dienstausweiß wurde vom Staat San Andreas ausgestellt.");
    format(string,144,"Und ist ab Dienstantritt gültig.");//Das wird mir angezeigt alles andere nciht
    SendClientMessage(pID,COLOR_GRAD1,string);
    return 1;
    }


    Doch er zeigt mir nur die letzte Message an.

  • HEy,


    was ist falsch?
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) { jtext = "Los Santos Police Department"; }
    {
    if(PlayerInfo[playerid][pRank] == 12) { dtext = "Leitender Polizeidirektor"; }
    else if(PlayerInfo[playerid][pRank] == 11) { dtext = "Polizeidirektor"; }
    else if(PlayerInfo[playerid][pRank] == 10) { dtext = "Polizeioberrat"; }
    else if(PlayerInfo[playerid][pRank] == 9) { dtext = "Polizeirat"; }
    else if(PlayerInfo[playerid][pRank] == 8) { dtext = "Erster Polizeihauptkommissar"; }
    else if(PlayerInfo[playerid][pRank] == 7) { dtext = "Polizeihauptkommissar"; }
    else if(PlayerInfo[playerid][pRank] == 6) { dtext = "Polizeioberkommissar"; }
    else if(PlayerInfo[playerid][pRank] == 5) { dtext = "Polizeikommissar"; }
    else if(PlayerInfo[playerid][pRank] == 4) { dtext = "Polizeihauptmeister"; }
    else if(PlayerInfo[playerid][pRank] == 3) { dtext = "Polizeiobermeister"; }
    else if(PlayerInfo[playerid][pRank] == 2) { dtext = "Polizeimeister"; }
    else if(PlayerInfo[playerid][pRank] == 1) { dtext = "Polizeimeisteranwärter"; }
    }

  • Versuche es so:
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
    {
    jtext = "Los Santos Police Department";
    if(PlayerInfo[playerid][pRank] == 12) { dtext = "Leitender Polizeidirektor"; }
    else if(PlayerInfo[playerid][pRank] == 11) { dtext = "Polizeidirektor"; }
    else if(PlayerInfo[playerid][pRank] == 10) { dtext = "Polizeioberrat"; }
    else if(PlayerInfo[playerid][pRank] == 9) { dtext = "Polizeirat"; }
    else if(PlayerInfo[playerid][pRank] == 8) { dtext = "Erster Polizeihauptkommissar"; }
    else if(PlayerInfo[playerid][pRank] == 7) { dtext = "Polizeihauptkommissar"; }
    else if(PlayerInfo[playerid][pRank] == 6) { dtext = "Polizeioberkommissar"; }
    else if(PlayerInfo[playerid][pRank] == 5) { dtext = "Polizeikommissar"; }
    else if(PlayerInfo[playerid][pRank] == 4) { dtext = "Polizeihauptmeister"; }
    else if(PlayerInfo[playerid][pRank] == 3) { dtext = "Polizeiobermeister"; }
    else if(PlayerInfo[playerid][pRank] == 2) { dtext = "Polizeimeister"; }
    else if(PlayerInfo[playerid][pRank] == 1) { dtext = "Polizeimeisteranwärter"; }
    }
    Falls das nicht geht, poste mehr vom Code.

  • Jeffry:
    Kannst du mir sagen, weshalb folgendes nicht funktioniert?



    object[7] = CreateObject(800, 2813.95898, 1002.33032, 54.82380, 0.00000, 0.00000, 180.00000);

    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
    {
    if(playertextid == PlayerText:TDEditor_PTD[4][playerid])
    {
    new Float:X,Float:Y,Float:Z;
    MoveObject(object[7],X, Y, Z+5,2.0);
    }
    else if(playertextid == PlayerText:TDEditor_PTD[5][playerid])
    {
    new Float:X,Float:Y,Float:Z;
    MoveObject(object[7],X, Y, Z-5,2.0);
    }
    return 1;
    }

  • Weil X, Y und Z 0 sind (du weist ihnen keinen Wert zu).
    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
    {
    if(playertextid == PlayerText:TDEditor_PTD[4][playerid])
    {
    MoveObject(object[7],2813.95898, 1002.33032, 54.82380+5,2.0);
    }
    else if(playertextid == PlayerText:TDEditor_PTD[5][playerid])
    {
    MoveObject(object[7],2813.95898, 1002.33032, 54.82380-5,2.0);
    }
    return 1;
    }