PDA

View Full Version : error 047 - Help Me !


WhiteAngels
10/08/2014, 02:47 AM
How to fix this errors ?

E:\Folder Dion\SA-MP\Server\0.3z\Freeroam\Y_INI Project\gamemodes\RgX.pwn(10287) : error 047: array sizes do not match, or destination array is too small
E:\Folder Dion\SA-MP\Server\0.3z\Freeroam\Y_INI Project\gamemodes\RgX.pwn(10297) : error 047: array sizes do not match, or destination array is too small
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.


This is the Code :
public StoreChatLine(playerid,text[])
{
for(new i = 0; i < MAX_CHAT_MSGS_STORE-1; i++)
ChatMessages[i] = ChatMessages[i+1];
format(Jstring,sizeof(Jstring),"%s(ID: %d): %s",GetName(playerid),playerid,text);
ChatMessages[MAX_CHAT_MSGS_STORE-1] = Jstring;
}

public StoreReport(playerid,reported,reason[])
{
new hour,minute,second;
gettime(hour,minute,second);
for(new i = 0; i < MAX_REPORTS_STORE-1; i++)
Reports[i] = Reports[i+1];
format(Jstring,sizeof(Jstring),"%d:%d:%d - %s(ID: %d) Has Reported %s(ID: %d) |{FF0000} REASON: %s ",hour,minute,second,GetName(playerid),playerid,Get Name(reported),reported,reason);
Reports[MAX_REPORTS_STORE-1] = Jstring;
}

Lines 10287 : ChatMessages[MAX_CHAT_MSGS_STORE-1] = Jstring;
Lines 10297 : Reports[MAX_REPORTS_STORE-1] = Jstring;

Please Help me !

Misiur
10/08/2014, 08:32 AM
You can't copy strings that way. Also: you don't need the temporary string variable:

format(Jstring,sizeof(Jstring),"%d:%d:%d - %s(ID: %d) Has Reported %s(ID: %d) |{FF0000} REASON: %s ",hour,minute,second,GetName(playerid),playerid,Get Name(reported),reported,reason);
Reports[MAX_REPORTS_STORE-1] = Jstring;

//changes into

format(Reports[MAX_REPORTS_STORE-1],sizeof(Reports[]),"%d:%d:%d - %s(ID: %d) Has Reported %s(ID: %d) |{FF0000} REASON: %s ",hour,minute,second,GetName(playerid),playerid,Get Name(reported),reported,reason);

//and
format(Jstring,sizeof(Jstring),"%s(ID: %d): %s",GetName(playerid),playerid,text);
ChatMessages[MAX_CHAT_MSGS_STORE-1] = Jstring;
//into
format(ChatMessages[MAX_CHAT_MSGS_STORE-1],sizeof(ChatMessages[]),"%s(ID: %d): %s",GetName(playerid),playerid,text);