Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4891 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Prie visu kintamuju rašome:

new File:baningpe;
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];
 }
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':
  {
   setarg(paramPos, 0, _:floatstr(string[stringPos]));
  }
  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;
}

Ir prie komandu rašome:

if(strcmp(cmdtext, "/ban", true) == 0)
{
if(!IsPlayerAdmin(playerid)) // Tikrina ar žaidėjas admin'as
{
SendClientMessage(playerid, 0xFF0000FF, "Tu ne adminas.");
return 1;
}
new idplayer,
reason[256],
bannedby[MAX_PLAYER_NAME],
bannedwho[MAX_PLAYER_NAME],
forplayersban[256],
savetofilestr[256],
yearban,
monthban,
dayban,
hourban,
minuteban,
secondban,
banip[16];
if(sscanf(cmdtext, "ds", idplayer, reason))
{
SendClientMessage(playerid, 0xFF0000FF, "Naudoti /ban priežastis");
return 1;
}
if(!IsPlayerConnected(idplayer)) // check valid ID
{
SendClientMessage(playerid, 0xFF0000FF, "Invalid ID");
return 1;
}
GetPlayerName(playerid, bannedby, sizeof(bannedby)); // name of admin
GetPlayerName(idplayer, bannedwho, sizeof(bannedwho)); // name of selected player
GetPlayerIp(idplayer, banip, sizeof(banip)); // ip of selected player
format(forplayersban, sizeof(forplayersban), "Player %s (%d) Buvo isbanintas %s. Priežastis: %s.", bannedwho, idplayer, bannedby, reason); // text to all players
SendClientMessageToAll(0xFF0000FF, forplayersban);
baningpe = fopen("banned.log", io_append); // opening file banned.log
getdate(yearban, monthban, dayban); // getting date
gettime(hourban, minuteban, secondban); // getting time
format(savetofilestr, sizeof(savetofilestr), "[%02d:%02d:%02d | %02d/%02d/%d] %s IP: %s\n",hourban, minuteban, secondban, dayban, monthban, yearban, forplayersban, banip); // formating text to file
fwrite(baningpe, savetofilestr); // writting text to file
fclose(baningpe); // closing file
return 1;
}

Neprašysiu rep nes ne mano pamoka o is sa-mp.com

  • Teigiamai 3

[sADrift]GameMode


http://www.supergame...amemode-bysn0p/


Paspausk ir atsilyginsiu http://www.filmai.in/uzeik-1051191.html(JEI PASPAUDEI Į A.Ž)

  • Parašė po 3 savaičių...
  • Parašė po 4 mėnesių...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4891 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...