#define _SCMR_MAX_SIZE 110#define _SCMR_MAX_WORD_SIZE 24
SCMR(const playerid, const color, const text[], const maxSize = _SCMR_MAX_SIZE, const maxWSize = _SCMR_MAX_WORD_SIZE)SCMTAR(const color, const text[], const maxSize = _SCMR_MAX_SIZE, const maxWSize = _SCMR_MAX_WORD_SIZE)
SendClientMessageToAll(COLOR_GREEN, \"Az M1 Abrams amerikai harckocsi, amely az Amerikai Egyesült Államok Hadseregének és Tengerészgyalogságának fő típusa. 1980-ban állították szolgálatba, három fő változatát rendszeresítették (M1, M1A1, M1A2). Névadója Creighton Abrams tábornok, aki az Egyesült Államok hadseregének vezérkari főnöke és a 37. Páncélos Ezred parancsnoka volt. Az M1 Abrams az M60 Patton és az M48A5 típusokat váltotta le. Ennek ellenére nem vonták ki valamennyi M60A3...\");
//------------------------------------------------------------------------------// By: M1A1//------------------------------------------------------------------------------#if defined _SCMR_included#endinput#elseif !defined _samp_included#error Please include a_samp before SCMR!#endif#if !defined _SCMR_MAX_SIZE#define _SCMR_MAX_SIZE 128#else#assert _SCMR_MAX_SIZE <= 144 && _SCMR_MAX_SIZE >= 64#endif#if !defined _SCMR_MAX_WORD_SIZE#define _SCMR_MAX_WORD_SIZE 15#else#assert _SCMR_MAX_WORD_SIZE < _SCMR_MAX_SIZE && _SCMR_MAX_WORD_SIZE >= 15#endif#define _SCMR_includedstock SCMR(const playerid, const color, const message[], const maxSize = _SCMR_MAX_SIZE, const maxWSize = _SCMR_MAX_WORD_SIZE){new from = 0;if(strlen(message) < maxSize){return SendClientMessage(playerid, color, message);}do{new length = maxSize - 1;for(new i = 0; i < maxWSize; i++){ if(message[(from + length) - i] == \' \') { if(i != 0) length -= i - 1; break; }}if(from + length > strlen(message)) SendClientMessage(playerid, color, SCMR_getStrPart(message, from + 1, strlen(message)));else SendClientMessage(playerid, color, SCMR_getStrPart(message, from, from + length));from += length;}while(from < strlen(message) - 1);return 1;}stock SCMTAR(const color, const message[], const maxSize = _SCMR_MAX_SIZE, const maxWSize = _SCMR_MAX_WORD_SIZE){new from = 0;if(strlen(message) < maxSize){return SendClientMessageToAll(color, message);}do{new length = maxSize - 1;for(new i = 0; i < maxWSize; i++){ if(message[(from + length) - i] == \' \') { if(i != 0) length -= i - 1; break; }}if(from + length > strlen(message)) SendClientMessageToAll(color, SCMR_getStrPart(message, from + 1, strlen(message)));else SendClientMessageToAll(color, SCMR_getStrPart(message, from, from + length));from += length;}while(from < strlen(message) - 1);return 1;}#if defined _ALS_SendClientMessage #undef SendClientMessage#else #define _ALS_SendClientMessage#endif#define SendClientMessage SCMR#if defined _ALS_SendClientMessageToAll #undef SendClientMessageToAll#else #define _ALS_SendClientMessageToAll#endif#define SendClientMessageToAll SCMTARstock SCMR_getStrPart(const string[], const start, const end){new tmp[144];strmid(tmp, string, start, end);return tmp;}
Tetszik. Írd ki a készítõt, valamint rossz helyre nyitottad.
Ha még a színkódokat is megtalálja ({,} karakterek) akkor lesz az igazi bár így is többet tud mint az SCMEX.Sebességet mértél?
Futtasd le 10000-szer és úgy mérd.
Maga a kód lehetne optimalizáltabb, meg sokkal kisebb is. Túl van bonyolítva, sokkal egyszerűbb módon is meglehet írni.
Maga a kód lehetne optimalizáltabb, meg sokkal kisebb is. Túl van bonyolítva, sokkal egyszerűbb módon is meglehet írni. +1Nevettem, mikor megláttam ezt a megoldást Az én 10 soros megoldásomhoz képest elég bonyolult. [/quote] Hát.. Van még mit tanulnom...Majd átgondolom az egészet. Egyenlőre nem igen érek rá..Szerk.:FRISSÍTVE!Kód újraírva, most optimalizáltabb.Szerk2.:FRISSÍTVE!Megint újraírtam a kódot, most mégkevésbé optimalizálatlan és bonyolult.