Rob Script 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
  • Hallo,


    ich habe folgenden Fehler,


    wen jemand die Bank ausraubt so wird er erstens nicht unfreezet und die nachricht erscheint bei allen andern nur nicht bei dem "Räuber".



    wo liegt der fehler :(


    #include <a_samp>


    new robb = 0;
    new timermm = 0;



    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
    forward robtimerr();
    forward freezetimerr(playerid);
    //-------------------------Einstellungen der Zeit---------------------------------------
    #define robtimee 3000000 // Zeit wielange man nicht Klauen darf 3000000 = 30 Minuten
    #define freezetimee 10000 // Zeit wo man beim Ausrauhen gefreezt ist. 10000 = 10 Sekunden
    //--------------------------------------------------------------------------------------
    #define FILTERSCRIPT
    #if defined FILTERSCRIPT


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" 24/7 Rob Script by Silverdark Loaded");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else



    #endif



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/rob247", true) == 0)
    {
    if(!PlayerToPoint(20.0,playerid,-30.4627,-28.1847,1003.5573))
    {
    SendClientMessage(playerid,0xAA3333AA,"Du bist nicht im 24/7!");
    return 1;
    }
    if(robb)
    {
    SendClientMessage(playerid,0xAA3333AA,"Das 24/7 wurde erst Überfallen!");
    return 1;
    }
    new randmoney = 4000 + random (10000);
    GivePlayerMoney(playerid,randmoney);
    TogglePlayerControllable(playerid,0);
    robb = 1;
    timermm = 1;
    SetTimer("robtimerr",robtimee,1);
    SetTimer("freezetimerr",freezetimee,1);
    SendClientMessage(playerid,0xFF9933FF,"Du willst den 24/7 überfallen und musst 10 Sekunden warten!!!");
    return 1;
    }
    return 0;
    }
    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);
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }
    public robtimerr()
    {
    robb = 0;
    }
    public freezetimerr(playerid)
    {
    if( timermm == 1){
    timermm = 0;
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,0x00FF00FF,"Du hast es geschafft das 24/7 auszuräumen!");
    }
    }

  • nein :(


    ich habe noch das banks. das geht aber.....


    #include <a_samp>


    new rob = 0;
    new timerm = 0;



    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
    forward robtimer();
    forward freezetimer(playerid);
    //-------------------------Einstellungen der Zeit---------------------------------------
    #define robtime 3000000 // Zeit wielange man nicht Klauen darf 3000000 = 30 Minuten
    #define freezetime 10000 // Zeit wo man beim Ausrauhen gefreezt ist. 10000 = 10 Sekunden
    //--------------------------------------------------------------------------------------
    #define FILTERSCRIPT
    #if defined FILTERSCRIPT


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Rob Script by Silverdark Loaded");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else



    #endif



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/rob", true) == 0)
    {
    if(!PlayerToPoint(20.0,playerid,2316.6189,-7.3298,26.7422))
    {
    SendClientMessage(playerid,0xAA3333AA,"Du bist nicht in der Bank!");
    return 1;
    }
    if(rob)
    {
    SendClientMessage(playerid,0xAA3333AA,"Die Bank wurde erst Überfallen!");
    return 1;
    }
    new randmoney = 4000 + random (25000);
    GivePlayerMoney(playerid,randmoney);
    TogglePlayerControllable(playerid,0);
    rob = 1;
    timerm = 1;
    SetTimer("robtimer", robtime, 1);
    SetTimer("freezetimer", freezetime, 1);
    SendClientMessage(playerid,0xFF9933FF,"Du willst die Bank überfallen und musst 10 Sekunden warten!!!");
    return 1;
    }
    return 0;
    }
    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);
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }
    public robtimer()
    {
    rob = 0;
    }
    public freezetimer(playerid)
    {
    if( timerm == 1){
    timerm = 0;
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,0x00FF00FF,"Du hast es geschafft die Bank auszuräumen!");
    }
    }






    _______________________________


    Ehm bei der Bank ist es auch so die nachricht erscheint bei dem mit der tiefsten ID (0)......




    ich habe GF Mode

  • mhh... also :


    Jeder player hat eine id,



    der erst 0 und so weiter.......



    geht ID 0 und gibt /rob in der Bank ein ist alles klar Geld kommt und er wird nach 10s unfreez



    geht ID 1-99999 in die Bank und gibt /rob ein passiert das:
    - Er bekommt das Geld
    - er wird aber nicht unfreezet sonder der User mit der ID 0 bekommt dir nachricht..... also ID wird dan sozusagen unfreezet

  • boah warte ich editiere gleich habs glaub ich





    #include <a_samp>


    new rob = 0;
    new timerm = 0;



    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
    forward robtimer();
    forward freezetimer(playerid);
    //-------------------------Einstellungen der Zeit---------------------------------------
    #define robtime 3000000 // Zeit wielange man nicht Klauen darf 3000000 = 30 Minuten
    #define freezetime 10000 // Zeit wo man beim Ausrauhen gefreezt ist. 10000 = 10 Sekunden
    //--------------------------------------------------------------------------------------
    #define FILTERSCRIPT
    #if defined FILTERSCRIPT


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Rob Script by Silverdark Loaded");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else



    #endif



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/rob", true) == 0)
    {
    if(!PlayerToPoint(20.0,playerid,2316.6189,-7.3298,26.7422))
    {
    SendClientMessage(playerid,0xAA3333AA,"Du bist nicht in der Bank!");
    return 1;
    }
    if(rob)
    {
    SendClientMessage(playerid,0xAA3333AA,"Die Bank wurde erst Überfallen!");
    return 1;
    }
    new randmoney = 4000 + random (25000);
    GivePlayerMoney(playerid,randmoney);
    TogglePlayerControllable(playerid,0);
    rob = 1;
    SetTimer("robtimer",robtime,0);
    SetTimer("freezetimer",freezetime,0);
    SendClientMessage(playerid,0xFF9933FF,"Du willst die Bank überfallen und musst 10 Sekunden warten!!!");
    return 1;
    }
    return 0;
    }
    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);
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }
    public robtimer()
    {
    rob = 0;
    }
    public freezetimer(playerid)
    {
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,0x00FF00FF,"Du hast es geschafft die Bank auszuräumen!");
    }
    }



    So vielleicht wenn es nicht geht sags mir...

  • new bool:robbed;
    #define robtime 3000000
    #define freezetime 10000


    public OnPlayerCommandText(playerid,cmdtext[]) {
    if(strcmp(cmdtext,"/rob",true,4) == 0)
    {
    if(robbed == true) {
    return SendClientMessage(playerid, 0xFF0000FF, "Der 24/7 wurde bereits ausgeraubt! Versuch es später nochmal!");
    }
    else if(!PlayerToPoint(10.0,playerid,2316.6189,-7.3298,26.7422)) {
    return SendClientMessage(playerid, 0xFF0000FF, "Du bist nicht im 24/7!");
    }
    new randmoney = 4000 + random(25000);
    GivePlayerMoney(playerid, randmoney);
    TogglePlayerControllable(playerid, false);
    SetTimer("robtimer",robtime,0);
    SetTimerEx("freezetimer",freezetime,false,"i",playerid);
    SendClientMessage(playerid, 0xFF0000FF, "Du öffnest die Kasse und räumst alles was du findest in einen Beutel. Das braucht seine Zeit");
    return true;
    }
    return 0;
    }


    public robtimer()
    {
    robbed = false;
    return 1;
    }


    public freezetimer(playerid)
    {
    TogglePlayerControllable(playerid, true);
    return 1;
    }


    Edited: Sollte funktionieren.

    Help dcmd & sscanf to their way to Pawn domination. Read the tutorial below, and use it.
    dcmd & sscanf

    2 Mal editiert, zuletzt von ... ()

  • #include <a_samp>


    new bool:robbed;
    #define robtime 3000000
    #define freezetime 10000


    public OnPlayerCommandText(playerid,params[]) {
    if(strcmp(cmdtext,"/rob",true,4) == 0)
    {
    if(robbed == true) {
    return SendClientMessage(playerid, 0xFF0000FF, "Der 24/7 wurde bereits ausgeraubt! Versuch es später nochmal!");
    }
    else if(!PlayerToPoint(10.0,playerid,2316.6189,-7.3298,26.7422)) {
    return SendClientMessage(playerid, 0xFF0000FF, "Du bist nicht im 24/7!");
    }
    new randmoney = 4000 + random(25000);
    GivePlayerMoney(playerid, randmoney);
    TogglePlayerControllable(playerid, false);
    SetTimer("robtimer",robtime,0);
    SetTimerEx("freezetimer",freezetime,false,"i",playerid);
    SendClientMessage(playerid, 0xFF0000FF, "Du öffnest die Kasse und räumst alles was du findest in einen Beutel. Das braucht seine Zeit");
    return true;
    }


    public robtimer()
    {
    robbed = false;
    return 1;
    }


    public freezetimer(playerid)
    {
    TogglePlayerControllable(playerid, true);
    return 1;
    }




  • xD.... sry. war nicht meine absicht


    es geht nicht


    #include <a_samp>


    new bool:robbed;


    forward robtimer();
    forward freezetimer(playerid);


    #define robtime 3000000
    #define freezetime 10000


    public OnPlayerCommandText(playerid, cmdtext[])
    {


    if(strcmp(cmdtext,"/rob",true,4) == 0)
    {
    if(robbed == true) {
    return SendClientMessage(playerid, 0xFF0000FF, "Der 24/7 wurde bereits ausgeraubt! Versuch es später nochmal!");
    }


    else if(!PlayerToPoint(20.0,playerid,2316.6189,-7.3298,26.7422)) {
    return SendClientMessage(playerid, 0xFF0000FF, "Du bist nicht im 24/7!");
    }
    new randmoney = 4000 + random(25000);
    GivePlayerMoney(playerid, randmoney);
    TogglePlayerControllable(playerid, false);
    SetTimer("robtimer",robtime,0);
    SetTimerEx("freezetimer",freezetime,false,"i",playerid);
    SendClientMessage(playerid, 0xFF0000FF, "Du öffnest die Kasse und räumst alles was du findest in einen Beutel. Das braucht seine Zeit");
    return true;
    }


    public robtimer()
    {
    robbed = false;
    return 1;
    }


    public freezetimer(playerid)
    {
    TogglePlayerControllable(playerid, true);
    return 1;
    }