10.01.2016, 13:47
(
Последний раз редактировалось sampkinq; 10.01.2016 в 15:00.
)
Hello, I'm getting an error code when you use max_string stock. What is the problem ?
Sorry, For My Bad English.
Please help.
FIX:
Sorry, For My Bad English.
Please help.
Код:
CMD:test(playerid,params[])
{
kickle(playerid,"ı ğ ь ş ц з");
return 1;
}
stock code(nickname[]) {
new tmp[MAX_STRING];
set(tmp,nickname);
tmp=strreplace("ğ","g",tmp);
tmp=strreplace("Ğ","G",tmp);
tmp=strreplace("ş","s",tmp);
tmp=strreplace("Ş","S",tmp);
tmp=strreplace("ı","i",tmp);
tmp=strreplace("I","I",tmp);
tmp=strreplace("İ","I",tmp);
tmp=strreplace("ц","o",tmp);
tmp=strreplace("Ц","O",tmp);
tmp=strreplace("з","c",tmp);
tmp=strreplace("З","C",tmp);
tmp=strreplace("ь","u",tmp);
tmp=strreplace("Ь","U",tmp);
return tmp;
}
stock kickle(playerid, string[])
{
new Years, Months, Days,estring[250];
getdate(Years, Months, Days);
format(estring,sizeof(estring),"{993366}Kickleyen Admin:\t\t{FFFFFF}Anti Hile\n{993366}Sebep:\t\t\t\t{FFFFFF}%s\n{993366}Tarih:\t\t\t\t{FFFFFF}%02d/%02d/%d", string, Days, Months, Years);
ShowPlayerDialog(playerid,123,DIALOG_STYLE_MSGBOX,"{47C9F5}« xPro Gaming » {ffffff}Anti Hile - Kick",estring,"Tamam","");
format(textmesaj,250,"~g~~h~~h~[Anti Hile] ~r~~h~~h~%s(%d) ~w~~h~adli oyuncu sunucudan atildi. Sebep: ~y~~h~%s",getName(playerid),playerid,code(string));
Textdrawyazi(-1, textmesaj);
printf("\n%s(%d) >> kicklendi. Sebep: %s\n",getName(playerid),playerid,code(string));
Kick(playerid);
return 1;
}
Код:
D:\Server\Server\gamemodes\xPro.pwn(30605) : error 017: undefined symbol "MAX_STRING" D:\Server\Server\gamemodes\xPro.pwn(30605) : error 009: invalid array size (negative, zero or out of bounds) D:\Server\Server\gamemodes\xPro.pwn(30605) : error 036: empty statement D:\Server\Server\gamemodes\xPro.pwn(30605) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Errors.
FIX:
Код:
#define MAX_STRING 256
stock strreplace(trg[],newstr[],src[]) {
new f=0;
new s1[MAX_STRING];
new tmp[MAX_STRING];
format(s1,sizeof(s1),"%s",src);
f = strfind(s1,trg);
tmp[0]=0;
while (f>=0) {
strcat(tmp,ret_memcpy(s1, 0, f));
strcat(tmp,newstr);
format(s1,sizeof(s1),"%s",ret_memcpy(s1, f+strlen(trg), strlen(s1)-f));
f = strfind(s1,trg);
}
strcat(tmp,s1);
return tmp;
}
ret_memcpy(source[],index=0,numbytes) {
new tmp[MAX_STRING];
new i=0;
tmp[0]=0;
if (index>=strlen(source)) return tmp;
if (numbytes+index>=strlen(source)) numbytes=strlen(source)-index;
if (numbytes<=0) return tmp;
for (i=index;i<numbytes+index;i++) {
tmp[i-index]=source[i];
if (source[i]==0) return tmp;
}
tmp[numbytes]=0;
return tmp;
}
stock set(dest[],source[]) {
new count = strlen(source);
new i=0;
for (i=0;i<count;i++) {
dest[i]=source[i];
}
dest[count]=0;
}


