Beiträge von Kinimod


    Joar hast eigentlich Recht aber es sollte Kritik ich finde es kacke da war nicht mal ein Regenbogen drinne xD
    Na ja eigentlich total ... ;(
    Das Blöde ist die Mühe die ich mir gegeben habe alleine sowas zu machen da meine alte sehr ...KACKE war :(


    Die meisten Serverwerbungen sind ein einziger Regenbogen, wenigstens macht da mal ein Moderator was gegen. :rolleyes:

    Pack die Zeile einfach mal testweise vor den Timer, also so:


    TogglePlayerControllable(playerid,0);
    Time = SetTimerEx("UpdateTime",1000,true, "i", playerid);
    Schau danach mal, ob es nun aufgerufen wird.

    Wieso lässt sich innerhalb der Funktion den Datentyp "Float:" weglassen, während man "[]" weglassen muss?


    Meinst Du bei dieser Zeile?
    if(pInfo[playerid][Language] == LANGUAGE_DE) CreateDynamic3DTextLabel(textDE, color, x, y, z, drawdistance, attachedplayer, attachedvehicle, testlos, worldid, interiorid, playerid, streamdistance);


    Wenn ja: Weil das nicht die Funktionsdefinition ist. Informatonen zu den Parametern, wie Datentyp und Name, werden nur in der Funktionsdefinition definiert (stock, public, ...).


    Und zusätzlich könntet ihr mich bitte über den Unterschied, zwischen Parametern und Datentypen aufklären, bzw. wo man sie jeweils gebraucht.


    Funktionen kann man Parameter mitgeben, das sind nichts Anderes, als Variablen. Diese Parameter sind nur innerhalb der Funktion gültig und dienen lediglich der Informationsübergabe an die Funktion.
    Beispiel:
    public FunktionsName(bool:ignorecase){
    if(ignorecase == true){
    print("ignorecase ist eingeschaltet");
    }else{
    print("ignorecase ist ausgeschaltet");
    }
    }
    Das gleiche Beispiel gilt btw. auch für Funktionen, welche ein "stock" vorangestellt erhalten.


    Mit diesem Beispiel kommen wir auch zu den Datentypen. Der Datentyp in dem Beispiel ist "boolean".
    Boolean ist ein Datentyp, der nur zwei Zustände speichern kann: wahr oder falsch / true oder false.


    Datentypen sind lediglich die Information, wieviele Bytes im Arbeitsspeicher (RAM) für Variablen reserviert werden.
    Jeder Datentyp speichert andere Informationen, also brauchen sie auch dementsprechend mehr oder weniger Speicher.


    Wollte eigentlich, dass er da selbst drauf kommt, nachdem der mit dem gleichen Problem das letzte Mal schon mal im Breadfish aufgetaucht ist und anscheinend nichts gelern hat. :whistling:

    Hast Du Dir überhaupt mal deine Codezeilen wirklich angeschaut?
    CreateDynamic3DTextLabel(const textDE, color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0); //ERROR LINE
    Du darfst als Parameter nur den Wert angeben, nicht den Datentyp, den Namen und sonstige Schlüsselwörter.


    //E: ich kann mich entsinnen, dass Du das gleiche schon mal gepostet hast.
    //E²: stock Funktion
    Wäre ganz toll, wenn Du Dir auch mal Hilfestellungen merken würdest. :whistling:

    Andreaas: Die Variable hat nur eine Größe von 912 Zeichen, der Text hat aber 988 Zeichen, daher wird der Text abgeschnitten.
    Außerdem überschreibst Du mir jedem Format die Variable.


    Mach es ab dem zweiten Format nach diesem Beispiel:
    format(CBox, sizeof CBox, "%s\nTEXT", CBox);


    //E: Sehe gerade sogar noch, dass noch mehr falsch ist.


    Du machst innerhalb der Anführungszeichen noch mal Anführungszeichen, was nicht funktionieren kann.

    Das ist so nicht möglich, Du müsstest schon explizit bei jedem Haus die Koordinaten der Fenster speichern und auhc die zugehörigen Außenwände mit Höhe.
    Mit ein wenig Arbeit ist es also möglich.


    //E: Wüsste nicht, wie man mit MapAndreas auf die Koordinaten eines Fensters kommen soll.


    // original
    // Used to load the data file into memory - should be called at least once, or the other functions wont work
    // Choose the name including "scriptfiles/" of your heightmap file or ignore the parameter to use the default ones.
    // The mode must match the mode of the custom file name
    native MapAndreas_Init(mode, name[]="");
    // Puts highest Z value (ground level) into Z for the provided X,Y co-ordinate.
    native MapAndreas_FindZ_For2DCoord(Float:X, Float:Y, &Float:Z);
    // new
    native MapAndreas_FindAverageZ(Float: x, Float:y, &Float:z); // returns a linear approximation of the ground level at the x,y coordinate
    native MapAndreas_Unload(); // Un-initialises the data and gives back all used memory. It can be re-initialised again afterwards
    // new (1.2)
    // Same as FindZ_For2DCoord, but it sets the Z value instead of returning it
    // Only z values between 0 and 655.35 are supported, going beyond might have unexpected consequences ;)
    MapAndreas_SetZ_For2DCoord(Float:X, Float:Y, Float:Z);
    // Use it to safe SetZ changes to a file (else they arent permanent)
    native MapAndreas_SaveCurrentHMap(name[]);

    Saphire:
    Gehen wir mal die Funktion durch:


    Beispiel:
    ACNewMoney = 5000$
    money = 5000$
    ACNewMoney[playerid] = ACNewMoney[playerid] + money;


    //ACNewMoney[playerid] ist somit nun 10.000$.
    return GivePlayerMoney(playerid,ACNewMoney[playerid]); //Hier erhält er nun ACNewMoney[playerid], was, wie wir festgestellt haben, nun 10.000$ ist und nicht die 5000$, die er erhalten soll.


    Das Geld hat sich somit verdoppelt.
    Du musst dem Spieler nur money geben.