Beiträge von Kaliber

    Passt nicht ganz in den Thread, aber besser als einen neuen zu erstellen.


    Also ich habe nicht, sondern ich suche einen kleinen Restbetrag.


    Also ich suche 0.98€ (98 cent) für mein PayPal Konto.


    Wenn jemand bereit wäre dieses Sümmchen für mich zu zahlen, würde er mir damit den Abend retten :love:


    Für Kontakt, einfach per PN schreiben, da schicke ich dann auch die Daten zu.


    Gegenleistung
    Wenn jemand ein kleines Scripting Problem / Frage o.ä. hat würde ich ihm dafür helfen.


    mfg. :thumbup:

    der stock ist doch eigentlich sinloss oder nicht er kann doch direct im Befehl die for schleife erstelln und die if abfrage machen ...


    Natürlich kann er das machen.


    Man brauch eigentlich gar keine Funktionen, man kann auch alles direkt in den Code klatschen.


    Allerdings fände ich diese Funktion nützlich und übersichtlicher, er muss sie natürlich nicht nutzen.


    Ich habe ihm lediglich das Beispiel gegeben, wie so eine Abfrage aussehen kann :rolleyes:


    mfg. :thumbup:

    es war schon Public aber egal


    Oh stimmt ^^


    Bin nur drüber gescrollt, dachte da steht stock.


    Aber dann macht dein Beispiel ja eigentlich noch weniger Sinn...da du nur die Klammern entfernt hast :D


    mfg. :thumbup:

    Ich habe 3 Tankstellen in LV zum Beispiel, doch damit ich nicht tausend mal /tanken machen muss oder den Befehl vollspamme,
    will ich sie vorher definieren, das /tanken alle diese Koordinaten erreicht und abruft, verstehst du, dass so gesehen an all diesen Punkten /tanken geht.


    Ja, dazu brauchst du aber kein MAX_PLAYERS und auch kein Enum ;)


    Nimm mein 1. Codebeispiel und dann kannst du so eine Funktion schreiben:


    stock IsInRangeOfTankstelle(playerid) {
    for(new i; i<sizeof TankKords; i++) {
    if(IsPlayerInRangeOfPoint(playerid,7.5,TankKords[i][0],TankKords[i][1],TankKords[i][2])) return 1;
    }
    return 0;
    }


    //Nutzung:
    if(!IsInRangeOfTankstelle(playerid)) return SendClientMessage(playerid,-1,"Du befindest dich an keiner Tankstelle!");


    mfg. :thumbup:

    Ich will die Tankstellen Punkte zum tanken abspeichern damit ich sie leicht abrufen kann, geht das nicht über enum?


    Ein Enum definiert nur den Typ für die Variablen, es initialisiert nichts ^^


    Zudem funktioniert das so nicht mit MAX_PLAYERS, was willst du da überhaupt machen? :huh:


    Sinnvoll wäre so etwas:


    //Ohne Enum:
    new Float:TankKords[][3] = {
    {2114.4126,928.6173,10.5474},
    {2115.1919,922.9832,10.5474},
    {2114.7725,917.8232,10.5474},
    {2115.0771,911.6562,10.5474},
    {2639.7839,1098.0349,10.5474},
    {2639.5811,1103.5743,10.5474},
    {2639.9871,1108.9187,10.5474},
    {2639.6855,1114.6630,10.5474},
    {2194.1582,2474.6921,11.0082},
    {2199.8157,2475.2302,11.0145},
    {2205.0735,2474.8633,11.0137},
    {2210.7324,2475.4531,11.0077}
    };
    //Abfragen machst du so:
    TankKords[0][0] //-> Gibt dir die X Koordinate von der 1. Reihe


    Wenn du das unbedingt mit einem Enum lösen willst, was in diesem Fall nicht erforderlich ist, kannst du es auch so machen:


    enum TankKoordinaten {
    Float:t_X,
    Float:t_Y,
    Float:t_Z
    };


    new TankKords[][TankKoordinaten] = {
    {2114.4126,928.6173,10.5474},
    {2115.1919,922.9832,10.5474},
    {2114.7725,917.8232,10.5474},
    {2115.0771,911.6562,10.5474},
    {2639.7839,1098.0349,10.5474},
    {2639.5811,1103.5743,10.5474},
    {2639.9871,1108.9187,10.5474},
    {2639.6855,1114.6630,10.5474},
    {2194.1582,2474.6921,11.0082},
    {2199.8157,2475.2302,11.0145},
    {2205.0735,2474.8633,11.0137},
    {2210.7324,2475.4531,11.0077}
    };
    //Abfragen machst du so:
    TankKords[0][t_X] //-> Gibt dir die X Koordinate von der 1. Reihe


    //Edit: Ups hatte was vergessen ^^


    mfg. :thumbup:

    Ist es möglich abzufragen, ob eine Textdraw momentan geklickt wird, praktisch, eine Funktion die aufgerufen wird, solange die Textdraw geklickt wird^^


    Das könnte man sogar tun 8o


    Also es ist zwar etwas kompliziert aber du kannst folgendes machen:


    1. Sobald er 1x darauf klickt setzt du eine Variable (boolean) auf true.


    2. Gleichzeitig wird der Callback OnPlayerKeyStateChange aufgerufen, da LMB (Left Mouse Button) gedrückt wurde.


    3. In diesem Callback kannst du nun durch das Holding Makro prüfen, wie lange er die Mouse hält und halt prüfen über das boolean ob er überhaupt auf das TextDraw geklickt hat.


    So könnte man es realisieren ;)


    mfg. :thumbup:

    Habe alles jetzt mehrfach überprüft, aber egal was ich mache immer das gleiche.


    ...Entweder du postest mal diesen Command hier im Forum oder du schickst mir deine TeamViewer Daten per PN und ich schaue mal drüber ;)


    mfg. :thumbup:

    war das nicht die Geschichte, das er zB. 4 Sachen im Array angegeben hat, aber 5 Angaben in Rangname verwendet?


    Genau er hat eine Variable deklariert:


    new test[3];
    //Man hat hier einen Bereich von: 0-2 (Entspricht 3 Feldern, 0 und 1 und 2)


    //macht aber folgendes:
    test[3] = 1; //Fehler, da Feld 3 nicht mehr verfügbar ist
    //Da taucht dann so ein Fehler auf "Array index out of bounds"


    mfg. :thumbup:

    Immer diese lange unnötige "GF-Schreibweise" :wacko:


    Deshalb will dir da auch keiner helfen, weil das viel zu viel Code immer ist um das neu zu schreiben.


    Ich kann dir jetzt auch nicht direkt sagen, wo der Fehler liegt, da mir das immer zu doof ist diesen langen Code durchzugehen.


    Nutze am besten einen print-Debug um den Fehler zu finden ;)



    versuch mal so:


    Macht wirklich gar keinen Unterschied, außer das die Funktion jetzt public ist :whistling:


    mfg. :thumbup: