Beiträge von Ternary

    hab ma 10, 30 und maxplayername versucht:


    Der letzte stammt übrigens aus einem anderen Scriptteil den ich eben erst hinzugefügt hab.
    ist mit der ersten errorzeile gleich

    man braucht die zeilen drumherum, vor allem die erste davor
    ich kann schonmal sagen dass in der zeile vor der errorzeile, das ; am ende fehlt

    Also ich hab da ein kleines Problem mit den Variablen bei dem Versuch mir ein Haussystem zu erstellen:


    Erstmal der Code:


    ENUM:
    enum houseinfos
    {
    owner,
    price,
    Float:x,
    Float:y,
    Float:z,
    Text3D:info,
    pickup
    }


    Funktion:
    stock LoadHouses()
    {
    for(new i = 0; i< MAX_HOUSES;i++)
    {
    new formatLD[256];
    format(formatLD,256,"Houses/house_%d.ini",i);
    if(dini_Exists(formatLD))
    {
    HouseInfo[i][owner] = dini_Get(formatLD, "owner"); // Das hier ist Zeile 40 -> Hier gehts mit den Erros los
    HouseInfo[i][price] = dini_Get(formatLD, "price");
    HouseInfo[i][x] = dini_Get(formatLD, "x");
    HouseInfo[i][y] = dini_Get(formatLD, "y");
    HouseInfo[i][z] = dini_Get(formatLD, "z");
    HouseInfo[i][pickup] = CreatePickup(1273, 1, HouseInfo[i][x], HouseInfo[i][y], HouseInfo[i][z], -1);
    IsHousePickup[i] = 1;
    if(strmatch(HouseInfo[i][owner],"Niemand"))
    {
    new string[256];
    format(string,256,"Dieses Haus steht zum Verkauf\nPreis:%d$",HouseInfo[i][price]);
    HouseInfo[i][info]=Create3DTextLabel(string,0x0000FFFF,HouseInfo[i][x],HouseInfo[i][y],HouseInfo[i][z],40.0,1);
    } else {
    new string[256];
    format(string,256,"Dieses Haus gehört:\n%s",HouseInfo[i][owner]);
    HouseInfo[i][info]=Create3DTextLabel(string,0x0000FFFF,HouseInfo[i][x],HouseInfo[i][y],HouseInfo[i][z],40.0,1);
    }
    }
    }
    return 1;
    }


    Ja und da habe ich halt immer den selben Error, mit verschiedenen Zeilen, alle wo irgendwas mit den Variablen vorkommt:

    habe mal gehört ocmd und zcmd wären schneller, habs aber nie getestet
    also ich persönlich benutze zcmd, weil es damit alles wesentlich einfacher ist, denke mal ocmd ist auch ungefähr so.
    da gibts ja noch dcmd das mach ich aber selbst nicht :D

    das ist ein grund jemanden so anzumotzen? so brauchst du von dieser person keine hilfe mehr zu erwarten
    außerdem: doppelpost -> gemeldet

    Was ich denke einfach



    MoveObject(gateid, x, y-20, z);
    bzw. ausprobieren ob x oder y seitlich ist in dem fall


    wenn ich das doch dynamisch haben will, dann kann man ja nicht davon ausgehen, dass das tor wirklich so genau ist.
    außerdem gibts bei einer etwas ungereaderen gradzahl (zb. 43) probleme machen.
    ich probier dann jetzt mal aces variante aus

    das ist mir klar. nur daraus muss man ja irgendwie berechnen wohin das tor gehen soll.
    Bsp:
    Torkoords sind: x, y, z
    Rot sind: rx, ry, rz
    Das Tor soll um nach links fahren
    Wie wäre dann die berechnung dafür? Das ist das was ich suche

    aber dann würde das tor sich ja eben zu einer bestimmten x-koordinate bewegen. aber wa wenn die rotation ein bischen anders ist? dann bewegt sich das so komisch unreal

    Also ich finde da jetzt nichts, das falsch wäre oder so.
    Aber das mit dem Timer finde ich komisch. Bei jeder Commandeingabe einen ellenlangen Timer einschalten?
    Wird der Rest denn ausgeführt also der Lift hochgefahren und der Rest auch?

    Hallo,


    ich wollte mal Fragen, ob es möglich ist, ein Tor seitlich zu öffnen, ohne neue Koordinaten direkt eingeben zu müssen.
    Also ich will das Dynamisch haben. Bei nach unten öffnen hab ichs so:
    new Float:x, Float:y, Float:z;
    GetObjectPos(gateid, x, y, z);
    MoveObject(gateid, x, y, z-20);


    Und so ähnlich hätte ich das dann eben gerne zum seitliuch öffnen, also das das Tor nach links geschoben wird.

    Hat scih mittlerweile, dank eines Freundes (RealGamer) geklärt: es lag an einem return 1; in einem anderen FS
    Und ja, das war der Edit-Hinweis :D


    Also ich bin an einem PM-System dran, dass über ClickedPlayer funktionieren soll.
    So der Code:
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    clicked[playerid] = clickedplayerid;
    ShowPlayerDialog(playerid,DIALOG_SEND,DIALOG_STYLE_INPUT,"PN:","Text:","Senden","Verlassen");
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid)
    {
    case DIALOG_SEND:
    {
    if(response)
    {
    new text[128], response[128], sendername[MAX_PLAYER_NAME], anname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(clicked[playerid], anname, sizeof(anname));
    format(text, sizeof(text), "PN von %s: %s", sendername, inputtext);
    format(response, sizeof(response), "PN gesendet an: %s", anname);
    SendClientMessage(clicked[playerid], yellow, text);
    SendClientMessage(playerid, yellow, response);
    return 1;
    }
    }
    }
    return 0;
    }


    Wenn ich dann jetzt einen anklicke kommt auch der Dialog, aber ab dann nichts mehr. Der Dialog verschwindet ganz normal wenn man Senden drückt aber es kommt keine PM an.
    Außerdem wollte ich noch fragen ob es da was einfacheres gibt (ist sicher so), also mit clicked[playerid] zu erstellen und aufzurufen.
    Hoffe mir kann jemand helfen.


    MFG
    Ben

    natürlich habe ich schon andere was gefragt.
    aber er kann doch nicht einfach einen root kaufen (und die sind nicht gerade billig) ohne zu wissen, ob das mit dem projekt überhaupt was wird.