Problem beim Dynamischen Navi System

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
  • Guten Tag allerseits!


    Ich wollte ein Dynamisches Navi System machen.
    D.h.: ich gebe an einem Punkt auf der Karte einen Befehl ein. Dann speichert er das ganze.
    Dannach lässt er es in einer Datei verewigen. Dann kann man mit z.b. /navi alle Punkte sehen, die erstellt wurden.
    Bloß jetzt spuckt er den Error aus:
    C:\Users\Smith Fmily\Desktop\New\gamemodes\NGSR.pwn(649) : error 047: array sizes do not match, or destination array is too small
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.




    #define MAX_PUNKTE 50


    enum NaviInfo
    {
    Ort[64],
    Float:posx,
    Float:posy,
    Float:posz
    }
    new nInfo[MAX_PUNKTE][NaviInfo];


    ocmd:perstellen(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,Rot,"Du hast nicht die benötigten Rechte!");
    new Float:x, Float:y, Float:z,name[128];
    if(sscanf(params,"d",name))return SendClientMessage(playerid,Gelb,"Verwende: /perstellen [Ortsname]");
    GetPlayerPos(playerid,x,y,z);
    CreateNavi(x,y,z,name);//Error
    return 1;
    }


    stock LoadNavi(naviid)
    {
    new Ndatei[64];
    format(Ndatei,sizeof(Ndatei),"/Navi/%d.txt",naviid);
    if(!fexist(Ndatei))return 0;
    nInfo[naviid][posx] = dini_Float(Ndatei,"PosX");
    nInfo[naviid][posy] = dini_Float(Ndatei,"PosY");
    nInfo[naviid][posz] = dini_Float(Ndatei,"PosZ");
    format(nInfo[naviid][Ort],64,"%s",dini_Get(Ndatei,"Ort"));
    return 1;
    }


    stock CreateNavi(Float:x,Float:y,Float:z,name[64])
    {
    new Datei[64];
    for(new n=1; n<MAX_PUNKTE; n++)
    {
    format(Datei,sizeof(Datei),"/Navi/%d.txt",n);
    if(!fexist(Datei))
    {
    dini_Create(Datei);
    dini_FloatSet(Datei,"PosX",x);
    dini_FloatSet(Datei,"PosY",y);
    dini_FloatSet(Datei,"PosZ",z);
    dini_Set(Datei,"Ort",name);
    return LoadNavi(n);
    }
    }
    return 1;
    }


    Kann mir da wer helfen?

  • Die new Ndatei[64];


    Ist so klein mach mal

    new Ndatei[128];