[AJUDA]WARNINGS
#1

Bom OBRIGADO Pela A Ajuda Rjjj
Reply
#2

Isto deve resolver o seu problema .



Primeiro vб atй a pasta pawno onde estб o seu pawno.exe .



Dentro dessa pasta, haverб uma pasta chamada include. Dк dois cliques nela, e ache na mesma, o arquivo dutils.inc.



Quando achб-lo, abra-o, apague tudo que estiver dentro dele e cole isto no lugar :



pawn Код:
/*
 *            DUtils functions 1.10
 *       © Copyright 2006-2007 by DracoBlue
 *
 * @author    : DracoBlue (http://dracoblue.com)
 * @date      : 8th April 2006
 * @update    : 12th July 2007
 *
 * This file is provided as is (no warranties).
 *
 */


#if defined _dutils_included
  #endinput
#endif

#define _dutils_included
#pragma library dutils

#define MAX_TEXTSTR 255

new PRIVATE_Last_Money[MAX_PLAYERS];

/*
 * First version released by mike, this one created by DracoBlue
 * Has also a fix to use "-" and "+" in the beginning of the number.
 */

stock isNumeric(const textstr[]) {
    new length=strlen(textstr);
    if (length==0) return false;
    for (new i = 0; i < length; i++) {
        if (
        (textstr[i] > '9' || textstr[i] < '0' && textstr[i]!='-' && textstr[i]!='+') // Not a number,'+' or '-'
        || (textstr[i]=='-' && i!=0)                                             // A '-' but not at first.
        || (textstr[i]=='+' && i!=0)                                             // A '+' but not at first.
        ) return false;
    }
    if (length==1 && (textstr[0]=='-' || textstr[0]=='+')) return false;
    return true;
}

/*
 * Originally created by mabako, tuned by DracoBlue
 */

stock mktime(hour,minute,second,day,month,year) {
    new timestamp2;

    timestamp2 = second + (minute * 60) + (hour * 3600);

    new days_of_month[12];

    if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) {
            days_of_month = {31,29,31,30,31,30,31,31,30,31,30,31}; // Schaltjahr
        } else {
            days_of_month = {31,28,31,30,31,30,31,31,30,31,30,31}; // keins
        }
    new days_this_year = 0;
    days_this_year = day;
    if(month > 1) { // No January Calculation, because its always the 0 past months
        for(new i=0; i<month-1;i++) {
            days_this_year += days_of_month[i];
        }
    }
    timestamp2 += days_this_year * 86400;

    for(new j=1970;j<year;j++) {
        timestamp2 += 31536000;
        if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) )  timestamp2 += 86400; // Schaltjahr + 1 Tag
    }

    return timestamp2;
}


/**
 *  Return if a Email is valid or not
 *  @param   value
 */

stock ValidEmail(email[]) {
  new len=strlen(email);
  new cstate=0;
  new i;
  for(i=0;i<len;i++) {
    if ((cstate==0 || cstate==1) && (email[i]>='A' && email[i]<='Z') || (email[i]>='a' && email[i]<='z')  || (email[i]=='.')  || (email[i]=='-')  || (email[i]=='_'))
    {
    } else {
       // Ok no A..Z,a..z,_,.,-
       if ((cstate==0) &&(email[i]=='@')) {
          // its an @ after the name, ok state=1;
          cstate=1;
       } else {
          // Its stuff which is not allowed
          return false;
       }
    }
  }
  if (cstate<1) return false;
  if (len<6) return false;
  // A toplevel domain has only 3 to 4 signs :-)
  if ((email[len-3]=='.') || (email[len-4]=='.') || (email[len-5]=='.')) return true;
  return false;
}

/**
 *  Return a timestamp
 */

stock Time() {
  new hour,minute,second;
  new year, month,day;
  gettime(hour, minute, second);
  getdate(year, month, day);
  return mktime(hour,minute,second,day,month,year);
}


/**
 *  Return a timestamp
 */

stock Now() {
  new hour,minute,second;
  new year, month,day;
  gettime(hour, minute, second);
  getdate(year, month, day);
  return mktime(hour,minute,second,day,month,year);
}


/**
 *  Return the value of an hex-textstr
 *  @param textstr
 */

stock HexToInt(textstr[]) {
  if (textstr[0]==0) return 0;
  new i;
  new cur=1;
  new res=0;
  for (i=strlen(textstr);i>0;i--) {
    if (textstr[i-1]<58) res=res+cur*(textstr[i-1]-48); else res=res+cur*(textstr[i-1]-65+10);
    cur=cur*16;
  }
  return res;
}

/**
 *  Return the int as textstr
 *  @param   number
 */

stock IntToHex(number)
{
    new m=1;
    new depth=0;
    while (number>=m) {
        m = m*16;
        depth++;
    }
    depth--;
    new str[MAX_TEXTSTR];
    for (new i = depth; i >= 0; i--)
    {
        str[i] = ( number & 0x0F) + 0x30; // + (tmp > 9 ? 0x07 : 0x00)
        str[i] += (str[i] > '9') ? 0x07 : 0x00;
        number >>= 4;
    }
    str[8] = '\0';
    return str;
}

/**
 *  Return the textstr as int
 *  @param   textstr
 */

stock StrToInt(textstr[]) {
  return strval(textstr);
}

/**
 *  Return the value as textstr
 *  @param   value
 */

stock IntToStr(value) {
  new tmp[MAX_TEXTSTR];
  valstr(tmp, value);
  return tmp;
}

/**
 *  Return the truncated value
 *  @param   Float:value
 */

stock trunc(Float:value) {
    return floatround(value,floatround_floor);
}

/**
 *  Sets money for player
 *  @param   playerid
 *           howmuch
 */

stock SetPlayerMoney(playerid,howmuch) {
  PRIVATE_Last_Money[playerid]=howmuch;
  GivePlayerMoney(playerid,howmuch-GetPlayerMoney(playerid));
}

/**
 *  Copies a file (Source file won't be deleted!)
 *  @param   oldname
 *           newname
 *  @requires WINDOWS
 */

stock fcopy(oldname[],newname[]) {
    new File:ohnd,File:nhnd;
    if (!fexist(oldname)) return false;
    ohnd=fopen(oldname,io_read);
    nhnd=fopen(newname,io_write);
    new buf2[1];
    new i;
    for (i=flength(ohnd);i>0;i--) {
        fputchar(nhnd, fgetchar(ohnd, buf2[0],false),false);
    }
    fclose(ohnd);
    fclose(nhnd);
    return true;
}


/**
 *  Copies a textfile (Source file won't be deleted!)
 *  @param   oldname
 *           newname
 */

stock fcopytextfile(oldname[],newname[]) {
    new File:ohnd,File:nhnd;
    if (!fexist(oldname)) return false;
    ohnd=fopen(oldname,io_read);
    nhnd=fopen(newname,io_write);
    new tmpres[MAX_TEXTSTR];
    while (fread(ohnd,tmpres)) {
        StripNewLine(tmpres);
        format(tmpres,sizeof(tmpres),"%s\r\n",tmpres);
        fwrite(nhnd,tmpres);
    }
    fclose(ohnd);
    fclose(nhnd);
    return true;
}


/**
 *  Renames a file (Source file will be deleted!)
 *  @param   oldname
 *           newname
 *  @requires WINDOWS (because fcopy does)
 */

stock frename(oldname[],newname[]) {
    if (!fexist(oldname)) return false;
    fremove(newname);
    if (!fcopy(oldname,newname)) return false;
    fremove(oldname);
    return true;
}

/**
 *  Renames a file (Source file will be deleted!)
 *  @param   oldname
 *           newname
 */

stock frenametextfile(oldname[],newname[]) {
    if (!fexist(oldname)) return false;
    fremove(newname);
    if (!fcopytextfile(oldname,newname)) return false;
    fremove(oldname);
    return true;
}

/**
 *  Strips Newline from the end of a textstr.
 *  Idea: ******, Bugfixing (when length=1) by DracoBlue
 *  @param   textstr
 */

stock StripNewLine(textstr[])
{
    new len = strlen(textstr);
    if (textstr[0]==0) return ;
    if ((textstr[len - 1] == '\n') || (textstr[len - 1] == '\r')) {
        textstr[len - 1] = 0;
        if (textstr[0]==0) return ;
        if ((textstr[len - 2] == '\n') || (textstr[len - 2] == '\r')) textstr[len - 2] = 0;
    }
}

/**
 *  Copies items from one array/textstr into return.
 *  @param   source
 *           index (where to start, 0 is first)
 *           numbytes (how much)
 */

ret_memcpy(source[],index=0,numbytes) {
    new tmp[MAX_TEXTSTR];
    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;
}

/**
 *  Copies items from one array/textstr into another.
 *  @param   dest
 *           source
 *           count
 */

stock copy(dest[],source[],count) {
    dest[0]=0;
    if (count<0) return false;
    if (count>strlen(source)) count=strlen(source);
    new i=0;
    for (i=0;i<count;i++) {
        dest[i]=source[i];
        if (source[i]==0) return true;
    }
    dest[count]=0;
    return true;
}


/**
 *  Deletes the first 'count' items of a array/textstr
 *  @param   textstr[]
 *           count
 */

stock delete(textstr[],count) {
    new tmp[MAX_TEXTSTR];
    tmp[0]=0;
    if (count<=0) {
        format(tmp,sizeof(tmp),"%s",textstr);
        return tmp;
    }
    tmp=ret_memcpy(textstr,count,strlen(textstr));
    return tmp;
}

/**
 *  Sets a textstr's value to source.
 *  @param   dest
 *           source
 *           count
 */

stock set(dest[],source[]) {
    new count = strlen(source);
    new i=0;
    for (i=0;i<count;i++) {
        dest[i]=source[i];
    }
    dest[count]=0;
}

/**
 *  Checks wether two textstrs are equal (case insensetive)
 *  @param   str1
 *           str2
 */

stock equal(str1[],str2[],bool:ignorecase) {
    if (strlen(str1)!=strlen(str2)) return false;
    if (strcmp(str1,str2,ignorecase)==0) return true;
    return false;
}

/**
 *  Returns an element of a textstr splitted by ' ', default index is 0.
 *  @param   textstr
 *           index
 */

stock strtok(const textstr[], &index,seperator=' ')
{
    new length = strlen(textstr);
    new offset = index;
    new result[MAX_TEXTSTR];
    while ((index < length) && (textstr[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = textstr[index];
        index++;
    }

    result[index - offset] = EOS;
    if ((index < length) && (textstr[index] == seperator))
    {
        index++;
    }
    return result;
}

stock mod(up,down) {
  return up-(floatround((up/down),floatround_floor))*down;
}

stock div(up,down) {
  return (floatround((up/down),floatround_floor));
}

/**
 *  Returns a hashed value in adler32 as int
 *  @param   buf
 */

stock num_hash(buf[])
 {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++) {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
 }

/**
 *  Returns a hashed value in adler32 as textstr
 *  @param   buf
 */

stock hash(str2[]) {
   new tmpdasdsa[MAX_TEXTSTR];
   tmpdasdsa[0]=0;
   valstr(tmpdasdsa,num_hash(str2));
   return tmpdasdsa;
}

/**
 *  Returns a textstr which has 'newstr' where 'trg' was before
 *  @param   trg
 *           newstr
 *           src
 */

stock strreplace(trg[],newstr[],src[]) {
    new f=0;
    new s1[MAX_TEXTSTR];
    new tmp[MAX_TEXTSTR];
    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;
}

/**
 *  Returns the textstr with lowercase
 *  @param   txt
 */

stock strlower(txt[]) {
    new tmp[MAX_TEXTSTR];
    tmp[0]=0;
    if (txt[0]==0) return tmp;
    new i=0;
    for (i=0;i<strlen(txt);i++) {
        tmp[i]=tolower(txt[i]);
    }
    tmp[strlen(txt)]=0;
    return tmp;
}

/**
 *  Returns the textstr with uppercase
 *  @param   txt
 */

stock strupper(txt[]) {
    new tmp[MAX_TEXTSTR];
    tmp[0]=0;
    if (txt[0]==0) return tmp;
    new i=0;
    for (i=0;i<strlen(txt);i++) {
        tmp[i]=toupper(txt[i]);
    }
    tmp[strlen(txt)]=0;
    return tmp;
}


Apуs tudo isso, aperte Ctrl + S para salvar o arquivo, e pronto, os warnings terгo desaparecido .



Espero ter ajudado .
Reply
#3

Tens 2 new string em dois open brackets. Ex:
CMD:kick(playerid,params[])
{
new string[128],string[128]
return 1;
}
E depois da esse erro.
Reply
#4

Quote:
Originally Posted by FireCat
Посмотреть сообщение
Tens 2 new string em dois open brackets. Ex:
CMD:kick(playerid,params[])
{
new string[128],string[128]
return 1;
}
E depois da esse erro.
What??
Reply
#5

FireCat se fizer isso vai surgir um erro, que o simbolo jб foi definido...

pawn Код:
public OnPlayerConnect(playerid)
{
    new oi = 1;
    if(playerid == 0)
    {
        new oi = 0;
        printf("%i",oi);
    }
    return true;
}
Isso й sу um exemplo de como vai surgir este warning
Reply
#6

Agradeзo.
Reply
#7

Quote:
Originally Posted by Lyra
Посмотреть сообщение
PHP код:
D:\Documents and Settings\LYRA\Desktop\Game Modes Gang War\FreeTiMe\pawno\include\a_aDini.inc(141) : error 017undefined symbol "MAX_STRING"
D:\Documents and Settings\LYRA\Desktop\Game Modes Gang War\FreeTiMe\pawno\include\a_aDini.inc(141) : error 009invalid array size (negativezero or out of bounds)
D:\Documents and Settings\LYRA\Desktop\Game Modes Gang War\FreeTiMe\pawno\include\a_aDini.inc(141) : error 036: empty statement
D
:\Documents and Settings\LYRA\Desktop\Game Modes Gang War\FreeTiMe\pawno\include\a_aDini.inc(141) : fatal error 107too many error messages on one line 
Bom e Isso logo em Cima e so apareceu esses erro Nao apareceu WARNINGS

Abra sua include a_aDini.inc (que estб no mesmo lugar onde estб a include dutils.inc) e coloque no topo da mesma :


pawn Код:
#define MAX_STRING 255


Depois aperte Ctrl + S para salvar e pronto, o problema deverб ter sido resolvido .


Se nгo tiver dado, repita o procedimento, mas colocando no topo da include este cуdigo ao invйs do outro:


pawn Код:
new MAX_STRING[255];


Espero ter ajudado .
Reply
#8

NOSSA OBRIGADOOOOOOOOOOOOOOO
RJJJ TEM MSN PASSA AE. VLW LEKKKKKKKKk
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)