ZollStation

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 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

    Einmal editiert, zuletzt von The_OTTO ()