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?