Wo ist der fehler???

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
  • so wie das script jetzt ist, gehen die schranken auf, aber der timer klappt noch nicht... sobald die erste schranke aufgemacht wurde, bleibt sie solange offen bis die zweite aufgeht, wieso?


    [hide]

    [/hide]


    und ist es noch möglich einen radius einzubauen und emm es so zu machen das das geld erstmal gechackt wurde bevor es abgezogen wird, wenn man nicht genug geld hat ...


    und wenns geht das man mit dem gleichen cmd jeweils die schranken öffnen kann wenn man in dem radius steht.


    Danke


    MfG Foxy ;)

    Einmal editiert, zuletzt von entchen66 ()

  • Nutzt du GF?
    Und hier mal verbessert:
    //Zollschranken zu!


    // CreateObject(968, -88.1162109375, -933.03515625, 19.378179550171, 0, 268.81457519531, 332.9736328125); //Zollschranke 1
    // CreateObject(968, -68.925384521484, -893.20172119141, 15.480376243591, 0, 269.55499267578, 334.18017578125); //Zollschranke 2
    // CreateObject(968, -81.682418823242, -886.85064697266, 15.437735557556, 0.5, 89.747924804688, 332.94311523438); //Zollschranke 3
    // CreateObject(968, -100.88120269775, -926.52557373047, 19.384000778198, 0.25, 90.620025634766, 332.88513183594); //Zollschranke 4


    //Zollschranken auf!


    // CreateObject(968, -88.1162109375, -933.03515625, 19.378179550171, 0, 358.41784667969, 332.9736328125); //Zollschranke 1
    // CreateObject(968, -68.9248046875, -893.201171875, 15.480376243591, 0, 359.96398925781, 334.17663574219); //Zollschranke 2
    // CreateObject(968, -81.681640625, -886.8505859375, 15.437735557556, 0.4998779296875, 359.6123046875, 332.94067382813); //Zollschranke 3
    // CreateObject(968, -100.880859375, -926.525390625, 19.384000778198, 0.2471923828125, 0.77520751953125, 332.88024902344); //Zollschranke 4





    #include <a_samp>


    #pragma tabsize 0
    #define COLOR_YELLOW 0xFFFF00AA
    #define FILTERSCRIPT



    #if defined FILTERSCRIPT


    forward zollzu();
    forward zollzu1();


    new Zollschranke1;
    new Zollschranke2;
    new Zollschranke3;
    new Zollschranke4;




    public OnFilterScriptInit()
    {
    //----------------------------------------[Objecte]---------------------------------------------------------------


    //----------------------------------------------------------------------------------------------------------------


    Zollschranke1 = CreateObject(968, -88.1162109375, -933.03515625, 19.378179550171, 0, 268.81457519531, 332.9736328125); //Zollschranke 1
    Zollschranke2 = CreateObject(968, -68.925384521484, -893.20172119141, 15.480376243591, 0, 269.55499267578, 334.18017578125); //Zollschranke 2
    Zollschranke3 = CreateObject(968, -81.682418823242, -886.85064697266, 15.437735557556, 0.5, 89.747924804688, 332.94311523438); //Zollschranke 3
    Zollschranke4 = CreateObject(968, -100.88120269775, -926.52557373047, 19.384000778198, 0.25, 90.620025634766, 332.88513183594); //Zollschranke 4







    print("\n--------------------------------------");
    print(" Zoll LS-LS-Truckerbase");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else


    #endif


    public OnPlayerCommandText(playerid, cmdtext[])
    {


    if (strcmp(cmdtext, "/ls", true) == 0){
    SetObjectRot(Zollschranke1,0, 358.41784667969, 332.9736328125);
    SetObjectRot(Zollschranke2,0, 359.96398925781, 334.17663574219);
    SendClientMessage(playerid, COLOR_YELLOW,"Vorsicht! Die Zollschranke 1+2 wird Geöffnet!");
    GameTextForPlayer(playerid, "~g~Kosten: ~r~-2000", 10, 1);
    GivePlayerMoney(playerid, -2000);
    SetTimer("zollzu1", 500, 0);
    return 1;
    }
    if (strcmp(cmdtext, "/ls1", true) == 0){
    SetObjectRot(Zollschranke3,0.4998779296875, 359.6123046875, 332.94067382813);
    SetObjectRot(Zollschranke4,0.2471923828125, 0.77520751953125, 332.88024902344);
    SendClientMessage(playerid, COLOR_YELLOW,"Vorsicht! Die Zollschranke 3+4 wird Geöffnet!");
    GameTextForPlayer(playerid, "~g~Kosten: ~r~-2000", 10, 1);
    GivePlayerMoney(playerid, -2000);
    SetTimer("zollzu", 500, 0);
    return 1;
    }
    return 0;
    }
    public zollzu()
    {
    SetObjectRot(Zollschranke3,0.5, 89.747924804688, 332.94311523438);
    SetObjectRot(Zollschranke4,0.25, 90.620025634766, 332.88513183594);
    return 1;
    }
    public zollzu1()
    {
    SetObjectRot(Zollschranke1,0, 268.81457519531, 332.9736328125);
    SetObjectRot(Zollschranke2,0, 269.55499267578, 334.18017578125);
    return 1;
    }
    Ganz kleiner Fehler ^^ Du hattest bei den Timern /ls SetTimer .... zollzu und bei dem anderen zollzu1 obwohl das umgekehrt gehört ^^

  • Bitte schön:
    //Zollschranken zu!


    // CreateObject(968, -88.1162109375, -933.03515625, 19.378179550171, 0, 268.81457519531, 332.9736328125); //Zollschranke 1
    // CreateObject(968, -68.925384521484, -893.20172119141, 15.480376243591, 0, 269.55499267578, 334.18017578125); //Zollschranke 2
    // CreateObject(968, -81.682418823242, -886.85064697266, 15.437735557556, 0.5, 89.747924804688, 332.94311523438); //Zollschranke 3
    // CreateObject(968, -100.88120269775, -926.52557373047, 19.384000778198, 0.25, 90.620025634766, 332.88513183594); //Zollschranke 4


    //Zollschranken auf!


    // CreateObject(968, -88.1162109375, -933.03515625, 19.378179550171, 0, 358.41784667969, 332.9736328125); //Zollschranke 1
    // CreateObject(968, -68.9248046875, -893.201171875, 15.480376243591, 0, 359.96398925781, 334.17663574219); //Zollschranke 2
    // CreateObject(968, -81.681640625, -886.8505859375, 15.437735557556, 0.4998779296875, 359.6123046875, 332.94067382813); //Zollschranke 3
    // CreateObject(968, -100.880859375, -926.525390625, 19.384000778198, 0.2471923828125, 0.77520751953125, 332.88024902344); //Zollschranke 4





    #include <a_samp>


    #pragma tabsize 0
    #define COLOR_YELLOW 0xFFFF00AA
    #define FILTERSCRIPT



    #if defined FILTERSCRIPT


    forward zollzu();
    forward zollzu1();
    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
    new Zollschranke1;
    new Zollschranke2;
    new Zollschranke3;
    new Zollschranke4;




    public OnFilterScriptInit()
    {
    //----------------------------------------[Objecte]---------------------------------------------------------------


    //----------------------------------------------------------------------------------------------------------------


    Zollschranke1 = CreateObject(968, -88.1162109375, -933.03515625, 19.378179550171, 0, 268.81457519531, 332.9736328125); //Zollschranke 1
    Zollschranke2 = CreateObject(968, -68.925384521484, -893.20172119141, 15.480376243591, 0, 269.55499267578, 334.18017578125); //Zollschranke 2
    Zollschranke3 = CreateObject(968, -81.682418823242, -886.85064697266, 15.437735557556, 0.5, 89.747924804688, 332.94311523438); //Zollschranke 3
    Zollschranke4 = CreateObject(968, -100.88120269775, -926.52557373047, 19.384000778198, 0.25, 90.620025634766, 332.88513183594); //Zollschranke 4







    print("\n--------------------------------------");
    print(" Zoll LS-LS-Truckerbase");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else


    #endif


    public OnPlayerCommandText(playerid, cmdtext[])
    {


    if (strcmp(cmdtext, "/ls", true) == 0){
    if(PlayerToPoint(3, playerid,x,y,z)) { //Coordinaten
    return SendClientMessage(playerid, COLOR_RED, "Du bist bei keiner Schranke.");
    }
    if(GetPlayerMoney(playerid) < 2000) {
    return SendClientMessage(playerid, COLOR_RED, "Du musst $2000 haben!");
    }
    SetObjectRot(Zollschranke1,0, 358.41784667969, 332.9736328125);
    SetObjectRot(Zollschranke2,0, 359.96398925781, 334.17663574219);
    SendClientMessage(playerid, COLOR_YELLOW,"Vorsicht! Die Zollschranke 1+2 wird Geöffnet!");
    GameTextForPlayer(playerid, "~g~Kosten: ~r~-2000", 10, 1);
    GivePlayerMoney(playerid, -2000);
    SetTimer("zollzu1", 500, 0);
    return 1;
    }
    if (strcmp(cmdtext, "/ls1", true) == 0){
    if(PlayerToPoint(3, playerid,x,y,z)) { //Coordinaten
    return SendClientMessage(playerid, COLOR_RED, "Du bist bei keiner Schranke.");
    }
    if(GetPlayerMoney(playerid) < 2000) {
    return SendClientMessage(playerid, COLOR_RED, "Du musst $2000 haben!");
    }
    SetObjectRot(Zollschranke3,0.4998779296875, 359.6123046875, 332.94067382813);
    SetObjectRot(Zollschranke4,0.2471923828125, 0.77520751953125, 332.88024902344);
    SendClientMessage(playerid, COLOR_YELLOW,"Vorsicht! Die Zollschranke 3+4 wird Geöffnet!");
    GameTextForPlayer(playerid, "~g~Kosten: ~r~-2000", 10, 1);
    GivePlayerMoney(playerid, -2000);
    SetTimer("zollzu", 500, 0);
    return 1;
    }
    return 0;
    }
    public zollzu()
    {
    SetObjectRot(Zollschranke3,0.5, 89.747924804688, 332.94311523438);
    SetObjectRot(Zollschranke4,0.25, 90.620025634766, 332.88513183594);
    return 1;
    }
    public zollzu1()
    {
    SetObjectRot(Zollschranke1,0, 268.81457519531, 332.9736328125);
    SetObjectRot(Zollschranke2,0, 269.55499267578, 334.18017578125);
    return 1;
    }
    public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
    if (IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }
    Ungetestet ^^ Errors usw. Posten ^^

  • Habe gerade gelesen du willst das wenn man an der bestimmten stelle steht das da noch ein Text kommt...
    Hier bitteschön: ^^
    //Zollschranken zu!


    // CreateObject(968, -88.1162109375, -933.03515625, 19.378179550171, 0, 268.81457519531, 332.9736328125); //Zollschranke 1
    // CreateObject(968, -68.925384521484, -893.20172119141, 15.480376243591, 0, 269.55499267578, 334.18017578125); //Zollschranke 2
    // CreateObject(968, -81.682418823242, -886.85064697266, 15.437735557556, 0.5, 89.747924804688, 332.94311523438); //Zollschranke 3
    // CreateObject(968, -100.88120269775, -926.52557373047, 19.384000778198, 0.25, 90.620025634766, 332.88513183594); //Zollschranke 4


    //Zollschranken auf!


    // CreateObject(968, -88.1162109375, -933.03515625, 19.378179550171, 0, 358.41784667969, 332.9736328125); //Zollschranke 1
    // CreateObject(968, -68.9248046875, -893.201171875, 15.480376243591, 0, 359.96398925781, 334.17663574219); //Zollschranke 2
    // CreateObject(968, -81.681640625, -886.8505859375, 15.437735557556, 0.4998779296875, 359.6123046875, 332.94067382813); //Zollschranke 3
    // CreateObject(968, -100.880859375, -926.525390625, 19.384000778198, 0.2471923828125, 0.77520751953125, 332.88024902344); //Zollschranke 4





    #include <a_samp>


    #pragma tabsize 0
    #define COLOR_YELLOW 0xFFFF00AA
    #define FILTERSCRIPT



    #if defined FILTERSCRIPT


    forward zollzu();
    forward zollzu1();
    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
    forward check(playerid);


    new Zollschranke1;
    new Zollschranke2;
    new Zollschranke3;
    new Zollschranke4;
    new check;



    public OnFilterScriptInit()
    {
    //----------------------------------------[Objecte]---------------------------------------------------------------


    //----------------------------------------------------------------------------------------------------------------


    Zollschranke1 = CreateObject(968, -88.1162109375, -933.03515625, 19.378179550171, 0, 268.81457519531, 332.9736328125); //Zollschranke 1
    Zollschranke2 = CreateObject(968, -68.925384521484, -893.20172119141, 15.480376243591, 0, 269.55499267578, 334.18017578125); //Zollschranke 2
    Zollschranke3 = CreateObject(968, -81.682418823242, -886.85064697266, 15.437735557556, 0.5, 89.747924804688, 332.94311523438); //Zollschranke 3
    Zollschranke4 = CreateObject(968, -100.88120269775, -926.52557373047, 19.384000778198, 0.25, 90.620025634766, 332.88513183594); //Zollschranke 4
    check = SetTimer("check", 2357, 1);







    print("\n--------------------------------------");
    print(" Zoll LS-LS-Truckerbase");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    KillTimer(check);
    return 1;
    }


    #else


    #endif


    public OnPlayerCommandText(playerid, cmdtext[])
    {


    if (strcmp(cmdtext, "/ls", true) == 0){
    if(PlayerToPoint(3, playerid,x,y,z)) { //Coordinaten
    return SendClientMessage(playerid, COLOR_RED, "Du bist bei keiner Schranke.");
    }
    if(GetPlayerMoney(playerid) < 2000) {
    return SendClientMessage(playerid, COLOR_RED, "Du musst $2000 haben!");
    }
    SetObjectRot(Zollschranke1,0, 358.41784667969, 332.9736328125);
    SetObjectRot(Zollschranke2,0, 359.96398925781, 334.17663574219);
    SendClientMessage(playerid, COLOR_YELLOW,"Vorsicht! Die Zollschranke 1+2 wird Geöffnet!");
    GameTextForPlayer(playerid, "~g~Kosten: ~r~-2000", 10, 1);
    GivePlayerMoney(playerid, -2000);
    SetTimer("zollzu1", 500, 0);
    return 1;
    }
    if (strcmp(cmdtext, "/ls1", true) == 0){
    if(PlayerToPoint(3, playerid,x,y,z)) { //Coordinaten
    return SendClientMessage(playerid, COLOR_RED, "Du bist bei keiner Schranke.");
    }
    if(GetPlayerMoney(playerid) < 2000) {
    return SendClientMessage(playerid, COLOR_RED, "Du musst $2000 haben!");
    }
    SetObjectRot(Zollschranke3,0.4998779296875, 359.6123046875, 332.94067382813);
    SetObjectRot(Zollschranke4,0.2471923828125, 0.77520751953125, 332.88024902344);
    SendClientMessage(playerid, COLOR_YELLOW,"Vorsicht! Die Zollschranke 3+4 wird Geöffnet!");
    GameTextForPlayer(playerid, "~g~Kosten: ~r~-2000", 10, 1);
    GivePlayerMoney(playerid, -2000);
    SetTimer("zollzu", 500, 0);
    return 1;
    }
    return 0;
    }
    public zollzu()
    {
    SetObjectRot(Zollschranke3,0.5, 89.747924804688, 332.94311523438);
    SetObjectRot(Zollschranke4,0.25, 90.620025634766, 332.88513183594);
    return 1;
    }
    public zollzu1()
    {
    SetObjectRot(Zollschranke1,0, 268.81457519531, 332.9736328125);
    SetObjectRot(Zollschranke2,0, 269.55499267578, 334.18017578125);
    return 1;
    }
    public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
    if (IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }
    public check(playerid)
    {


    if (PlayerToPoint(3, playerid,x,y,z)) //Coordinaten
    {
    GameTextForPlayer(playerid, "~g~Zoll, tippe ~w~/ls um die Schranke zu öffnen", 3000, 3); //Text
    }
    else if(PlayerToPoint(3, playerid,x,y,z)) //Coordinaten
    {
    GameTextForPlayer(playerid, "~g~Zoll, tippe ~w~/ls1 um die Schranke zu öffnen", 3000, 3); //Text
    }
    return 1;
    }
    Ungetestet

  • aLeX danke ´für deine arbeit, aber hier sind noch ein paar fehler die ich nicht finde:


    (137) : error 021: symbol already defined: "check"
    (49) : error 076: syntax error in the expression, or invalid function call
    (64 ) : error 076: syntax error in the expression, or invalid function call

    Einmal editiert, zuletzt von entchen66 ()