Minen System Problem :|

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
  • Abend Leute.
    Ich hab ein Problem bei meinen Minen System


    also als 1. ein Error keine ahnung woher der auf einmal kommt ^^


    : error 032: array index out of bounds (variable "M_Info")



    #include <a_samp>
    #include <ocmd>
    #include <dini>


    enum minen_info
    {
    Float:mine_x,
    Float:mine_y,
    Float:mine_z,
    mine_pickup
    };
    new M_Info[1000][minen_info];


    forward MinenUpdate(playerid);


    public OnFilterScriptInit()
    {
    CreatePickup(1636,23,0,0,1000,99);
    for(new m = 1; m < 1000; m++)
    {
    LoadMinen(m);
    }
    SetTimer("MinenUpdate",100,1);
    print("\n--------------------------------------");
    print("Minen System by mskamilor");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    for(new m = 1; m < 1000; m++)
    {
    KillMinen(m);
    }
    return 1;
    }
    ocmd:mine(playerid,params[])
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    CreateMine(x,y,z);
    return 1;
    }


    stock CreateMine(Float:x,Float:y,Float:z)
    {
    new d[50];
    for(new m = 1; m < 1000; m ++)
    {
    format(d,50,"/minen/%d.txt",m);
    if(!fexist(d))
    {
    dini_Create(d);
    dini_FloatSet(d,"x",x);
    dini_FloatSet(d,"y",y);
    dini_FloatSet(d,"z",z);
    return LoadMinen(m);
    }
    }
    return 0;
    }
    stock LoadMinen(mid)
    {
    new d[50];
    format(d,50,"/minen/%d.txt",mid);
    if(!fexist(d))return 0;
    M_Info[mid][mine_x] = dini_Float(d,"x");
    M_Info[mid][mine_y] = dini_Float(d,"y");
    M_Info[mid][mine_z] = dini_Float(d,"z");
    M_Info[mid][mine_pickup] = CreatePickup(1636,23,M_Info[mid][mine_x],M_Info[mid][mine_y],M_Info[mid][mine_z],0);
    return 1;
    }
    stock KillMinen(mid)
    {
    DestroyPickup(M_Info[mid][mine_pickup]);
    new d[50];
    for(new m = 1; m < 1000; m++)
    {
    format(d,50,"/minen/%d.txt",d);
    dini_Remove(d);
    }
    return 1;
    }
    public MinenUpdate(playerid)
    {
    for(new m = 0; m < 1000; m++)
    {
    ->>>>> Die error zeile>>> if(IsPlayerInRangeOfPoint(playerid,5,M_Info[1000][mine_x],M_Info[1000][mine_y],M_Info[1000][mine_z]))
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    CreateExplosion(z,y,z,1,10);
    CreateExplosion(z,y,z,1,10);
    CreateExplosion(z,y,z,1,10);
    // SendClientMessage(playerid,0x00000000,"Du bist auf eine Mine drauf getreten");
    KillMinen(m);
    }
    }
    return 1;
    }




    Und mein 2 Problem ist das wenn man Connected, egal ob eine mine in der nähe ist oder nicht die Explosionen werden Erstellt, also es wird das public MinenUpdate aufgerufen ;c


    Ich bitte um schnelle Hilfe

  • Ist das diese Zeile?
    new M_Info[1000][minen_info];
    Wenn ja, versuch mal einfach
    new M_Info[1001][minen_info];

    [tabmenu][tab='Angebote',http://images-1.findicons.com/files/icons/1722/gnome_2_18_icon_theme/48/stock_new_meeting.png][subtab='CMS und Forumsystem',http://icons.iconarchive.com/icons/uribaani/realm/128/Control-panel-icon.png]Installationen & Forumlösung - Forumthread

  • Okey der Error ist weg jetzt nur noch das zweite problem


    Zitat

    Und mein 2 Problem ist das wenn man Connected, egal ob eine mine in der
    nähe ist oder nicht die Explosionen werden Erstellt, also es wird das
    public MinenUpdate aufgerufen ;c

  • Beim Connecten oder spawnen?
    Poste mal deine OnPlayerConnect/OnPlayerSpawn

    [tabmenu][tab='Angebote',http://images-1.findicons.com/files/icons/1722/gnome_2_18_icon_theme/48/stock_new_meeting.png][subtab='CMS und Forumsystem',http://icons.iconarchive.com/icons/uribaani/realm/128/Control-panel-icon.png]Installationen & Forumlösung - Forumthread

  • Das oben ist der ganze Script
    Ich weiss woran es liegt das die bomben bei donnecten explodieren
    der Timer wird nicht für plazerid ausgelöst sondern er wird einfach die ganze zeit ausgelöst


    Wie kann ich diesen Timer



    SetTimer("MinenUpdate",100,1);


    für playerid machen? :P


    Ps. Ich kenne mich mit dem ganzen Timern nicht so gut aus ;)