Szerző Téma: Hiba az rp módomba!  (Megtekintve 1029 alkalommal)

Hiba az rp módomba!
« Dátum: 2012. február 08. - 20:57:38 »
0 Show voters
C:\\Documents and Settings\\20122012\\Dokumentumok\\Downloads\\Sajtos\\gamemodes\\sajtos.pwn(2951) : error 021: symbol already defined: \"sscanf\"
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
1 Error.
Mi lehet a hiba te jó ég?! :(
2949:}
2950:stock sscanf(string[], format[], {Float,_}:...)
2951{

Nem elérhető lusta19

  • 9084
  • £u$taÐi$znó
    • Profil megtekintése
Hiba az rp módomba!
« Válasz #1 Dátum: 2012. február 08. - 21:46:21 »
0 Show voters
a Sscanf már definiálva van
gondolom #include < sscanf2 >
2951 sorba mi van?

Nem elérhető Bazsi

  • 345
    • Profil megtekintése
Hiba az rp módomba!
« Válasz #2 Dátum: 2012. február 09. - 14:40:26 »
0 Show voters
Van már ilyen stock!
Nevezd át a stock-ot!
« Utoljára szerkesztve: 2012. február 09. - 17:02:02 írta Bazsi »

Nem elérhető nyE

  • 1745
    • Profil megtekintése
Hiba az rp módomba!
« Válasz #3 Dátum: 2012. február 09. - 15:31:22 »
0 Show voters
Teendõ:
Vagy kiveszed ezt: #include <sscanf2>
Vagy ezt:[pawn]
stock sscanf(string[], format[], {Float,_}:...)
{
#if defined isnull
   if (isnull(string))
#else
   if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
#endif
   {
      return format[0];
   }
#pragma tabsize 4
new
   formatPos = 0,
   stringPos = 0,
   paramPos = 2,
   paramCount = numargs(),
   delim = \' \';
while (string[stringPos] && string[stringPos] <= \' \')
{
   stringPos++;
}
while (paramPos < paramCount && string[stringPos])
{
   switch (format[formatPos++])
   {
      case \'\\0\':
      {
         return 0;
      }
      case \'i\', \'d\':
      {
         new
            neg = 1,
            num = 0,
            ch = string[stringPos];
         if (ch == \'-\')
         {
            neg = -1;
            ch = string[++stringPos];
         }
         do
         {
            stringPos++;
            if (\'0\' <= ch <= \'9\')
            {
               num = (num * 10) + (ch - \'0\');
            }
            else
            {
               return -1;
            }
         }
         while ((ch = string[stringPos]) > \' \' && ch != delim);
         setarg(paramPos, 0, num * neg);
      }
      case \'h\', \'x\':
      {
         new
            num = 0,
            ch = string[stringPos];
         do
         {
            stringPos++;
            switch (ch)
            {
               case \'x\', \'X\':
               {
                  num = 0;
                  continue;
               }
               case \'0\' .. \'9\':
               {
                  num = (num << 4) | (ch - \'0\');
               }
               case \'a\' .. \'f\':
               {
                  num = (num << 4) | (ch - (\'a\' - 10));
               }
               case \'A\' .. \'F\':
               {
                  num = (num << 4) | (ch - (\'A\' - 10));
               }
               default:
               {
                  return -1;
               }
            }
         }
         while ((ch = string[stringPos]) > \' \' && ch != delim);
         setarg(paramPos, 0, num);
      }
      case \'c\':
      {
         setarg(paramPos, 0, string[stringPos++]);
      }
      case \'f\':
      {
         new changestr[16], changepos = 0, strpos = stringPos;     
         while(changepos < 16 && string[strpos] && string[strpos] != delim)
         {
            changestr[changepos++] = string[strpos++];
                }
         changestr[changepos] = \'\\0\';
         setarg(paramPos,0,_:floatstr(changestr));
      }
      case \'p\':
      {
         delim = format[formatPos++];
         continue;
      }
      case \'\\\'\':
      {
         new
            end = formatPos - 1,
            ch;
         while ((ch = format[++end]) && ch != \'\\\'\') {}
         if (!ch)
         {
            return -1;
         }
         format[end] = \'\\0\';
         if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
         {
            if (format[end + 1])
            {
               return -1;
            }
            return 0;
         }
         format[end] = \'\\\'\';
         stringPos = ch + (end - formatPos);
         formatPos = end + 1;
      }
      case \'u\':
      {
         new
            end = stringPos - 1,
            id = 0,
            bool:num = true,
            ch;
         while ((ch = string[++end]) && ch != delim)
         {
            if (num)
            {
               if (\'0\' <= ch <= \'9\')
               {
                  id = (id * 10) + (ch - \'0\');
               }
               else
               {
                  num = false;
               }
            }
         }
         if (num && IsPlayerConnected(id))
         {
            setarg(paramPos, 0, id);
         }
         else
         {
            #if !defined foreach
               #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
               #define __SSCANF_FOREACH__
            #endif
            string[end] = \'\\0\';
            num = false;
            new
               name[MAX_PLAYER_NAME];
            id = end - stringPos;
            foreach (Player, playerid)
            {
               GetPlayerName(playerid, name, sizeof (name));
               if (!strcmp(name, string[stringPos], true, id))
               {
                  setarg(paramPos, 0, playerid);
                  num = true;
                  break;
               }
            }
            if (!num)
            {
               setarg(paramPos, 0, INVALID_PLAYER_ID);
            }
            string[end] = ch;
            #if defined __SSCANF_FOREACH__
               #undef foreach
               #undef __SSCANF_FOREACH__
            #endif
         }
         stringPos = end;
      }
      case \'s\', \'z\':
      {
         new
            i = 0,
            ch;
         if (format[formatPos])
         {
            while ((ch = string[stringPos++]) && ch != delim)
            {
               setarg(paramPos, i++, ch);
            }
            if (!i)
            {
               return -1;
            }
         }
         else
         {
            while ((ch = string[stringPos++]))
            {
               setarg(paramPos, i++, ch);
            }
         }
         stringPos--;
         setarg(paramPos, i, \'\\0\');
      }
      default:
      {
         continue;
      }
   }
   while (string[stringPos] && string[stringPos] != delim && string[stringPos] > \' \')
   {
      stringPos++;
   }
   while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= \' \'))
   {
      stringPos++;
   }
   paramPos++;
}
do
{
   if ((delim = format[formatPos++]) > \' \')
   {
      if (delim == \'\\\'\')
      {
         while ((delim = format[formatPos++]) && delim != \'\\\'\') {}
      }
      else if (delim != \'z\')
      {
         return delim;
      }
   }
}
while (delim > \' \');
return 0;
}[/pawn]

Nem elérhető beer

Hiba az rp módomba!
« Válasz #4 Dátum: 2012. február 09. - 21:53:28 »
0 Show voters
Jó lett neki :D Nálam is segítene valaki?
« Utoljára szerkesztve: 2012. február 09. - 21:58:24 írta beer »

[ZzZ]Álmos

  • Vendég
Hiba az rp módomba!
« Válasz #5 Dátum: 2012. február 15. - 22:14:23 »
0 Show voters
sscanf kell. Mod elejére [pawn]#include <sscanf>[/pawn]

Nem elérhető Benceee

  • 4785
    • Profil megtekintése
Hiba az rp módomba!
« Válasz #6 Dátum: 2012. február 16. - 07:19:27 »
+1 Show voters
Álmos\" post=\"225531\" timestamp=\"1329340463\"]
sscanf kell. Mod elejére [pawn]#include <sscanf>[/pawn]
 
[/quote]
Pont, hogy kétszer van definiálva. Vagy kiveszed az
#include <sscanf>

-ot, vagy a
 stock sscanf

-ot.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal