Zölle schließen (Timer)

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.


    Ich habe folgendes Problem. Ich bastle mir gerade ein Zoll System. Dieses soll die Schranken automatisch nach 5 Sekunden wieder schließen. Da ich nun mehrere Schranken habe, möchte ich mit TimerEx noch den Schrankennamen mitgeben um diesen un meinem Public auszuwerten und dann zuzuordnen um die Schranke dann anhand des Schrankennamens wieder zu schließen. Leider haut er mir aber folgenden error raus:


    (20165) : error 033: array must be indexed (variable "-unknown-")


    Hier ist mal mein Public:


    public ZollZu(msg)
    {
    if(msg == "zollLsLv1")//Das ist Zeile 20165
    {
    SetObjectRot(zollLsLv1, -4.00, 90.00, 342.00);
    }
    return 1;
    }


    Und hiernoch der Timer EX
    SetTimerEx("ZollZu", 5000, false, "s", "zollLsLv1");


    Hier noch der forward
    forward ZollZu(msg);


    Ich hoffe ihr könnt mir helfen.


    Gruß Tim

  • Wie vergleichen wir denn bitte strings in Pawn?


    Schau dir mal strcmp an. Gleiches Prinzip wie bei Commands: Hier vergleichen wir doch schlussendlich auch nur Strings miteinander.

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.

  • msg ist ein string, bitte füge das auch in deiner Funktion hinzu : (msg[])


    warum [] : damit die jede Stringlänge der Funktion übergeben kannst.

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.

  • Hi.


    Habe ich gemacht. Leider kommt nun "(20165) : error 033: array must be indexed (variable "msg")"


    public ZollZu(msg[])
    {
    if(msg == "zollLsLv1")
    {
    SetObjectRot(zollLsLv1, -4.00, 90.00, 342.00);
    }
    return 1;
    }


    Habe das auch im forward hinzugefügt

  • ahh also mit strcmp (stringcompare ;) dämmert es jetzt? ) vergleichst du zwei strings:


    wenn die strings gleich sind returnt es false von daher if (!strcmp(string1, string2)) : Für weitere Parameter von strcmp schau bitte ins Wiki!

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.

  • Hmmm sry verstehe ich aber nicht ganz. Habe dafür noch zu wenig Erfahrung. Könnte mir vllt. jemand das ocmd:zoll so scripten das der Error weg ist? Vllt. mir dann auch erklären wieso das so und so gemacht wurde, damit ich das dann gleich weis