Beiträge von The_OTTO

    kansch du bitte mal nen cod für deine beispiele angeben...


    das hab ich schon verstanden aber die frage ist wie schreib ich das????
    und wie ruf ich das wieder ab wenn ich das auto zerstören oder verkaufen will....


    mfg The_OTTO

    ok thx aber was mach ich wenn der spieler sein auto z.b. verkaufen will....


    kann ich dem auto iwie sagen dass es z.b. den playername hat und es darüber ansprechen oder wie mach ich das am besten???



    mfg The_OTTO

    Hi
    ich hab ein Porblem mit meinem Carsystem....
    wenn sich der Spieler ein Auto im Auohaus kauft wird das auch gespawnt und alles nur das problem ist mit dem auto kann dann jeder fahren wie mach ich das, dass nur der der es gekauft hat benützen kann??


    muss ich da was vor das CreateVehicle schreiben (hatte vor den Spielername zu nehmen und es dann darüber aufzurufen und abzufragen ob er der spieler ist oder nicht)


    aber iwie versteh ich das nicht ganz


    kann mir bitte jemand helfen.....



    mfg The_OTTO

    ich glaub ihr versteht da wort dynamish alle nicht wirklich...



    du solltest dir als erstes mal überlegen was du für dein autosystem alles brauchst
    z.b.: wo machst du das Autohaus, Wie soll der Spieler sich sein Auto auswählen, was soll passieren wenn er ein Auto kauft und und und


    kannst du mit enums und schleifen umgehen??
    wenn nein vergiss es du hast ohne das keine change!!!!


    mfg The_OTTO
    (ps: ich schreibe gerade mein eigenes...)

    Hi


    ich hab mal ne frage....kann ich bei if(IsPlayerInRangeOfPoint,RAD,X,Y,Z) als Radius 1 vergeben


    Das ganze soll für eine Autokaufsystem dienen dass da halt nur geht wenn direkt an einem Auto ist. (Cords stehen in einem enum bzw. dann in nem new also muss das ganze varriabel sein..)



    mfg The_OTTO

    und wenn man überprüfen lässt wenn der spieler auf den Server kommt ob er den mod hat...


    wenn nicht könnte man ihn ja automatisch downloaden lassen.....


    aber egal sowas mach ich dann mal wenn ich mit dem anderen sachen so ziemlich vertig bin..



    The_OTTO

    Hey danke ich habe schon mehere Tage rumprobiert und rumgeschreiben du bist der erste der antwortet(andere Theards)


    super ich denke so müsste es funktionieren



    dickes loob


    hab aber leider noch ein paar fehler:


    Cod:


    #define FILTERSCRIPT


    #include <a_samp>
    #include <dini>



    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }



    enum zollinfo
    {
    zModelID,
    zText[32],
    Float:zPosX,
    Float:zPosY,
    Float:zPosZ,
    Float:zToPosX,
    Float:zToPosY,
    Float:zToPosZ,
    Float:zPosRot,
    zPreis,
    }


    new ZollAmt[][zollinfo] =
    {


    {978, "Gute Fahrt!", 52.0, -1539.19921875, 5.0533084869385, 79.991455078125, 54.0, -1524.0, 4.0, 500}, //LS-SF Brücke #1
    {978, "Gute Fahrt!", 54.19921875, -1524.5, 4.9744849205017, 261.98547363281, 52.0, -1539.0, 5.0, 500} //LS-SF Brücke #2


    };


    new ZollObject[256];
    new ZollAmtID[256];


    forward SetZollBack(zollid);



    public OnGameModeInit()
    {
    new zoll;
    for(zoll = 0, zoll < sizeof(ZollAmt); zoll++;)
    {
    ZollObject[zoll] = CreateObject(ZollAmt[zoll][zModelID], ZollAmt[zoll][zPosX],ZollAmt[zoll][zPosY],ZollAmt[zoll][zPosZ],0.0, 0.0, ZollAmt[zoll][zPosRot]);
    ZollAmtID[object] = zoll;
    }
    return 1;
    }




    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(strget(cmdtext,0),"/zoll", true) ==0)
    {
    for(new zoll = 0; zoll < sizeof(ZollAmt); zoll++)
    {
    if(!IsPlayerInRangeOfPoint(playerid, 3.5, ZollAmt[zoll][zPosX], ZollAmt[zoll][zPosY], ZollAmt[zoll][zPosZ])) continue;
    if(GetPlayerMoney(playerid) < ZollAmt[zoll][zPreis]) return SendClientMessage(playerid, 0xFFFFFF00, "Zu wenig Geld mit dir dabei!");
    GivePlayerMoney(playerid, -ZollAmt[zoll][zPreis]);
    GameTextForPlayer(playerid, ZollAmt[zoll][zText], 2500, 3);
    MoveObject(ZollObject[zoll], ZollAmt[zoll][zToPosX], ZollAmt[zoll][zToPosY], ZollAmt[zoll][zToPosZ], 3.5);
    SetTimerEx("SetZollBack", 3500, 0, "d", zoll);
    return 1;
    }
    return SendClientMessage(playerid, 0xFFFFFF00, "Nicht in der Nähe eines Zollamtes!");




    }
    return 0;
    }


    public SetZollBack(zollid)
    {
    return MoveObject(ZollObject[zoll], ZollAmt[zoll][zPosX], ZollAmt[zoll][zPosY], ZollAmt[zoll][zPosZ], 3.5);
    }
    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }


    Fehler:




    mfg The_OTTO

    Hi


    da ich auf meinem Server insgesamt 25 Zollschranke habe habe ich keine Bock für jede Zollschranke einen eigenen Befeh zu schreiben sondern ich will das komplett varriabel machen....



    Hier mal meine anfänge:


    1. Ich erstelle zwei Zollschranke und ein Zollhaus (wenn man aus ls raus richtung sf fährt)



    Zollschranke_01_2 = CreateObject(978, 52, -1539.19921875, 5.0533084869385, 0, 0, 79.991455078125);
    Zollschranke_01_1 = CreateObject(978, 54.19921875, -1524.5, 4.9744849205017, 0, 0, 261.98547363281);
    Zollhaus_01_1 = CreateObject(8168, 54.2421875, -1532, 6.2364902496338, 0, 0, 7.998046875);



    2. Ich erstelle ein enum und ein new wo eben x, y, z, Radius, modlid und die objectid angegeben ist



    enum Zoll
    {
    x,
    y,
    z,
    Rad,
    modelid,
    objectid[250]



    }
    new IsAtZoll [] [Zoll] =
    {
    {54, -1524, 4, 5, 978, "Zollschranke_01_1" },
    {52, -1539, 5, 5, 978, "Zollschranke_01_2" }


    };



    3. Als nächstes erstelle ich eine funktion, die durch eine while schleife abfrägt an welchen von den im new angegebenen cords er ist und will ihm dann sagen dass er dieses Object dann auch bewegen soll.
    Hier ist auch schon mein Problem: bei MoveObject muss als erstes die objectid angegeben werden die ist im ersten fall ja Zollschranke_01_1 die ich oben ja auch deffiniert habe aber das MoveObject will das einfach nicht akzeptieren bzw. peilt einfach nicht das dass object von oben gemeint ist



    checkzoll(playerid)
    {
    new i;
    i=0;
    while (i < 2)
    {
    imax = 2;
    if(i<imax)
    {
    if(IsPlayerInRangeOfPoint(playerid,IsAtZoll[i][Rad],IsAtZoll[i][x],IsAtZoll[i][y],IsAtZoll[i][z]))
    {
    format(ausgabetext, sizeof(ausgabetext), "Da steht: %s", IsAtZoll[i][objectid]);
    SendClientMessage(playerid, green, ausgabetext);
    MoveObject(IsAtZoll[i][objectid],IsAtZoll[i][x],IsAtZoll[i][y],0,3);




    return 1;


    }


    i=i+1;
    }
    else
    {
    return 1;
    }


    }
    return 0;


    }



    4. zum schluss rufe ich die funktion halt mit /zoll auf:



    if(strcmp(strget(cmdtext,0),"/zoll", true) ==0)
    {
    checkzoll(playerid);
    return 1;
    }




    kann mir jemand sagen wie ich das mit dem MoveObject machen kann???
    wäre es vielleicht auch möglich, dass man den Objecten eine zusätzliche id vergibt so dass das moveobject dann weis welches object gemeint ist und was es bewegen soll.



    mfg The_OTTO

    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }



    des ganz unten rein und dann geht des

    also das ist der Cod dazu:


    Wenn ich mir den namen oder die Modelllid ausgeben lasse geht das doch soblad da ein . steht kommen die komischen zahlen und ich muss 54.20 machen ohne den punkt meckert er



    enum Zoll
    {
    Float:x,
    Float:y,
    Float:z,
    Float:Rad,
    modellid,
    name[20]


    }
    new IsAtZoll [] [Zoll] =
    {
    {54.200000762939, -1524.5, 6.0, 5.0,978,"ZollSchranke1"},
    {52.0, -1539.19921875, 5.0533084869385,5.0,978,"ZollSchranke2"}


    };




    checkzoll(playerid)
    {
    new i;
    i=0;
    while (i < 2)
    {
    imax = 2;
    if(i<imax)
    {
    if(IsPlayerInRangeOfPoint(playerid,IsAtZoll[i][Rad],IsAtZoll[i][x],IsAtZoll[i][y],IsAtZoll[i][z]))
    {
    MoveObject(IsAtZoll[i][name],IsAtZoll[i][x],IsAtZoll[i][y],1.0,3.0);
    format (text, sizeof(text), "Du bist an der Zollstation %d", IsAtZoll[i][x]);
    SendClientMessage(playerid, green, text);



    return 1;

    }

    i=i+1;
    }
    else
    {
    return 1;
    }


    }
    return 0;


    }




    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(strget(cmdtext,0),"/zoll", true) ==0)
    {
    checkzoll(playerid);
    return 1;
    }
    return 0;
    }



    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }



    mfg The_OTTO

    Hi ich habe in einem Enum x,y,z,radius,und name von einer Schranke deffiniert



    Wenn ich durch eine While-Schleife abfrage ob der Spieler an einer der Schranke ist funktioniert das
    aber wenn ich mir dann den x wert ausgeben lassen will, der eigentlich 54.2 sein sollte bekomme ich nur 1113115853


    kann mir jemand sagen was die zahl darstellt bzw wie ich die wieder in die ursprüngliche zahl 54.2 konvertieren kann
    Denn ich möchte die Schranke ja durch ein MoveObject bewegen und mit der Zahl 1113115853 kann das MoveObject nicht wirklich was anfgangen da diese Koordinate dann nicht mehr auf der Map liegt...



    mfg The_OTTO

    Hi


    Ich will bei meinen Zollstationen abfragen wo der Spieler gerade ist also an welcher er ist. Ich hab die Zollschranken in ein Enum gepackt und ich schaffe es auch auszulesen, wo der spieler ist.


    aber jetzt zu meinem Problem:


    Da es eine Zollstation ist soll sich ja die zollschranke bewegen.....



    #define FILTERSCRIPT


    #include <a_samp>
    #include <dini>
    #if defined FILTERSCRIPT
    #define green 0x33FF33AA
    new text [256];
    new imax;
    new x2;



    new ZollSchranke1;
    new ZollSchranke2;




    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
    }


    public OnGameModeInit()
    {
    ZollSchranke1 = CreateObject(978, 52, -1539.19921875, 5.0533084869385, 0, 0, 79.991455078125);
    ZollSchranke2 = CreateObject(978, 54.200000762939, -1524.5, 6, 0, 0, 261.99096679688);
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else


    main()
    {
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
    }


    #endif



    enum Zoll
    {
    Float:x,
    Float:y,
    Float:z,
    Float:Rad,
    modellid,
    name[20]



    }
    new IsAtZoll [] [Zoll] =
    {
    {54.200000762939, -1524.5, 6.0, 5.0,978,"ZollSchranke1"},
    {52.0, -1539.19921875, 5.0533084869385,5.0,978,"ZollSchranke2"}


    };




    checkzoll(playerid)
    {
    new i;
    i=0;
    while (i < 2)
    {
    imax = 2;
    if(i<imax)
    {
    if(IsPlayerInRangeOfPoint(playerid,IsAtZoll[i][Rad],IsAtZoll[i][x],IsAtZoll[i][y],IsAtZoll[i][z]))
    {
    x2 = strval(IsAtZoll[1][x]);


    format(text, sizeof(text), "X=%d", x2);
    SendClientMessage(playerid, green, text);


    format (text, sizeof(text), "Du bist an der Zollstation %s", IsAtZoll[i][name]);
    SendClientMessage(playerid, green, text);
    MoveObject(ZollSchranke1,Float:x, Float:y, 0.0,3.0);



    return 1;


    }


    i=i+1;
    }
    else
    {
    return 1;
    }


    }
    return 0;


    }




    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(strget(cmdtext,0),"/zoll", true) ==0)
    {
    checkzoll(playerid);
    return 1;
    }
    return 0;
    }



    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }



    mein Problem ist das MoveObject, das auch Varriabel werden soll allerdings schaffe ich das nicht und bei dem x2 hab ich versuch das was er oben in der IsPlayerInRangeOfPoint ermittelt hat da rein zu schreiben


    bitte help




    Wichtig!!!!!:


    Ich hab mal weiter gemacht:


    im Enum hab ich ja Float:Rad deffiniert da steht an der stelle bei dem new jetzt ja der Radius der 5.0 ist
    des hab ich mir im Spiel mal ausgeben lassen da kommt jetzt immer: 1084227584


    kann es daran liegen dass das mit dem MoveObject nicht funtzt????



    mfg The_OTTO

    ok aber was soll ich dann mit den kords machen mein bro mappt mit mta mit was muss er des machen, dass er dann die innenräume au sieht weil er hat den innenraum net gsehen als er bei den cords war die mer mit /save gspiechert hamm...



    thx für die antwort
    mfg The_OTTO

    Hi
    ich binn gerade dabei einen Server zu scripten
    nun würd ich halt ein paar innenräume brauchen könnt ihr mir bitte sagen wo ich die finde....wenn ich z.b. in nen Burger Shot gehe dann zeigt der mir auf der Karte nigs an und wenn mein bro da rein geht und ich mit der hydra hinflieg wo es sein punkt anzeigt dann iss des knapp auserhalb des oberen linken dorfes in LS



    also wüsst ihr vtl wo die innenräume sind so dass ich die kords grig und weiter scripten kann



    thx
    mfg The_OTTO

    Ich glaub einige verwechseln des mit dem[] hinter irgendwas manchmal bzw. sie verstehen es nicht richtig....


    was da drin steht:
    Da steht drin wie viel zeichen es sein dürfen bzw. halt sind also bei dir: du hast dir Admin da brauchst du ja eig nur [1] dahinterschreiben aber mach mal vorsichtshaltber [5] weil da muss ja eig nur eine Zhal dahinter stehen..... und zwar des Admin level also 1 2 3 4 oda 5 oda wie au immer du des machsch....



    also schraub solche sachen mal auf 5 oda so runter dann dürfte es wieder gehen......



    mfg The_OTTO

    Also ich haben einen Job gescriptet, bei dem man vom Atomkraftwerk aus Atommüll transportieren kann. Dieser Job ist aber nur für User gedacht, die schon länger auf dem Server sind also soll der Job auch etwas schwieriger werden.


    Unsere Ideen waren:
    Der Anhänger fliegt schneller in die luft
    zwei anhänger anhängen (wisst ihr ob sowas möglich ist??)



    was meint ihr??? wodurch könnten wir den job noch schwieriger gestallten als einen normalen Truckerjob wo man z.b. Benzin zu einer Tankstelle fährt???



    würd mich über antworten freuen!!
    mfg The_OTTO

    ja das war das problem:


    das sollte eigentlich OilTransBiz.ini und nicht OiltTransBiz.ini heisen...


    jetzt gehts..


    thx für die antwor mfg The_OTTO