• Страница 1 из 1
  • 1
Модератор форума: drifter-dron, admin, TweIk  
Помощь по /tempban
[MTA]MaPeR5518Дата: Четверг, 21.07.2011, 04:13:36 | Сообщение # 1

Группа: Пользователи
Сообщений: 181
Есть код:
Code

#include <a_samp>

#define tempBanFile "temp_bans.txt"

#define defaultTempBanHours  12
#define defaultTempBanReason  "причина не указана"

#define tempBansCleaningInterval  47

#define fwritebin(%0,%1)            for ( new sp, size = strlen(%1); sp < size; sp++ ) fputchar( %0, %1[sp], false )

stock tempBansCleaningTimer;

stock tempBanPlayer ( playerid, adminid, hours = defaultTempBanHours, reason[] = defaultTempBanReason )
{
     new File: banFile = fopen( tempBanFile, io_append );
     if ( !banFile ) return 0;

     new unbanTime = gettime() + hours*3600, banStr[160], plName[24], admName[24];

     GetPlayerName( playerid, plName, 24 );
     GetPlayerName( adminid, admName, 24 );

     format( banStr, 160, "%s:%d:%s\r\n", plName, unbanTime, reason );
     fwritebin( banFile, banStr );
     fclose(banFile);

     format( banStr, 160, " * Ты забанен на %d час(ов). Причина: %s", hours, reason );
     SendClientMessage( playerid, 0xFF0000AA, banStr );
     printf( " * %s (id:%d) was temp banned for %d hour(s) by %s (id:%d). Reason: %s",
         plName, playerid, hours, admName, adminid, reason );

     Kick(playerid);
     return 1;
}

stock isPlayerTempBanned ( playerid, & unbanTime, reason[] )
{
     if ( !fexist(tempBanFile) ) return 0;
     new File: banFile = fopen( tempBanFile, io_read );
     if ( !banFile ) return 0;

     new plName[24], plNameLen;
     GetPlayerName( playerid, plName, 24 );
     plNameLen = strlen(plName);

     for ( new banStr[160]; fread( banFile, banStr ) > 0; )
     {
         if ( banStr[plNameLen] == ':' && strcmp( banStr, plName, true, plNameLen ) == 0 )
         {
             unbanTime = iparam( banStr, ':', 1 );
             sparam( reason, 128, banStr, ':', 2, 1 );

             if ( reason[0] == 0 ) format( reason, 128, "%s", defaultTempBanReason );

             fclose(banFile);
             return 1;
         }
     }

     fclose(banFile);
     return 0;
}

forward tempBansCleaning();
public tempBansCleaning()
{
     if ( !fexist(tempBanFile) ) return;

     new File: banFile = fopen( tempBanFile, io_read ), File: tmpFile = ftemp();

     if ( !banFile || !tmpFile )
     {
         fclose(banFile);
         fclose(tmpFile);
         return;
     }

     for ( new buffer[160]; fread( banFile, buffer ) > 0; ) fwritebin( tmpFile, buffer );

     fclose(banFile);
     fseek( tmpFile, 0, seek_start );

     banFile = fopen( tempBanFile, io_write );
     if ( !banFile )
     {
         fclose(tmpFile);
         return;
     }

     new curTime = gettime(), banStr[160], cleanedCount;

     while ( fread( tmpFile, banStr ) > 0 )
     {
         if ( iparam( banStr, ':', 1 ) - curTime > 0 ) fwritebin( banFile, banStr );
         else cleanedCount++;
     }

     fclose(banFile);
     fclose(tmpFile);

     printf( " * Temp bans file `" tempBanFile "` cleaning: %d expired bans removed", cleanedCount );
}

stock sparam
(
  dest[],    maxSize  = sizeof(dest),
  const source[],  delimiter    = ' ',
  substrIndex = 0,    withRest    = 0
)
{
  dest[0] = 0; // очистим строку назначения

  for ( new cur, pre, i = -1; ; cur++ ) // пробежимся по каждому символу в строке source
  {
   if ( source[cur] == 0 ) // если текущий символ в source - это символ конца строки
   {
    if ( ++i == substrIndex ) // если индекс текущей подстроки и есть sourceIndex
     // скопируем в dest нужную подстроку из source
     strmid( dest, source, pre, ( withRest ? strlen(source) : cur ), maxSize );

    goto sparam_end;
   }

   if ( source[cur] == delimiter ) // если текущий символ в source - это символ для разделения строки
   {
    if ( ++i == substrIndex ) // если индекс текущей подстроки и есть sourceIndex
    {
     // скопируем в dest нужную подстроку из source
     strmid( dest, source, pre, ( withRest ? strlen(source) : cur ), maxSize );
     goto sparam_end;
    }

    pre = cur + 1;
   }
  }

     sparam_end:
     return; // завершим работу функции
}

stock iparam ( const source[], delimiter = ' ', substrIndex = 0 )
{
  new dest[12], cur, pre, i = -1;

  for ( ; ; cur++ ) // пробежимся по каждому символу в строке source
  {
   if ( source[cur] == 0 ) // если текущий символ в source - это символ конца строки
   {
    if ( ++i == substrIndex ) // если индекс текущей подстроки и есть sourceIndex
     strmid( dest, source, pre, cur, 12 ); // скопируем в dest нужную подстроку из source

    goto iparam_end;
   }

   if ( source[cur] == delimiter ) // если текущий символ в source - это символ для разделения строки
   {
    if ( ++i == substrIndex ) // если индекс текущей подстроки и есть sourceIndex
    {
     strmid( dest, source, pre, cur, 12 );// скопируем в dest нужную подстроку из source
     goto iparam_end;
    }

    pre = cur + 1;
   }
  }

     iparam_end:
     return strval(dest); // завершим работу функции и вернем целочисленное значение подстроки
}

public OnFilterScriptInit() { tempBansCleaningTimer = SetTimer( "tempBansCleaning", tempBansCleaningInterval*60000, 1 ); }
public OnFilterScriptExit() { KillTimer(tempBansCleaningTimer); }

public OnPlayerConnect ( playerid )
{
     static unbanTime, curTime, reason[128];

     curTime = gettime();

     if ( isPlayerTempBanned( playerid, unbanTime, reason ) && (unbanTime - curTime) > 0 )
     {
         new banMessage[160],
             unbanSeconds    = unbanTime - curTime,
             unbanMinutes    = unbanSeconds / 60,
             unbanHours      = unbanMinutes / 60;

         unbanMinutes -= unbanHours*60;
         unbanSeconds -= unbanHours*3600 + unbanMinutes*60;

         format( banMessage, 160, " * Твой ник забанен по причине: %s", reason );
         SendClientMessage( playerid, 0xFF0000AA, banMessage );

         format( banMessage, 80,  " * До разбана осталось %d час., %d мин., %d сек.", unbanHours, unbanMinutes, unbanSeconds );
         SendClientMessage( playerid, 0xFF0000AA, banMessage );

         Kick(playerid);
     }

     return 1;
}

public OnPlayerCommandText ( playerid, cmdtext[] )
{
     // синтаксис /tempban [ID игрока] [кол-во часов] [причина бана]

     if ( IsPlayerAdmin(playerid) && strcmp( cmdtext, "/tempban", true, 8 ) == 0 )
     {
         if ( cmdtext[8] != ' ' || cmdtext[9] == 0 )
         {
             SendClientMessage( playerid, 0xFFFFFFAA, " * используй /tempban [ID игрока] [кол-во часов] [причина бана]" );
             return 1;
         }

         new id = iparam( cmdtext, ' ', 1 );

         if ( ( id == 0 && cmdtext[9] != '0' ) || !IsPlayerConnected(id) )
         {
             SendClientMessage( playerid, 0xFFFFFFAA, " * Игрок с таким ID не найден" );
             return 1;
         }

         new hours = iparam( cmdtext, ' ', 2 ), reason[128];
         sparam( reason, 128, cmdtext, ' ', 3, 1 );

         if ( hours <= 0 )       hours  = defaultTempBanHours;
         if ( reason[0] == 0 )   reason = defaultTempBanReason;

         if ( tempBanPlayer( id, playerid, hours, reason ) )
         {
             new reportStr[160];
             GetPlayerName( id, reportStr, 24 );
             format( reportStr, 160, " * %s (id:%d) забанен на %d час(ов): %s", reportStr, id, hours, reason );

             SendClientMessage( playerid, 0xFF0000AA, reportStr );
         }
         else
             SendClientMessage( playerid, 0xFFFFFFAA, " * Ошибка записи в файл при добавлении нового временного бана" );

         return 1;
     }

     return 0;
}

Как убрать проверку на Ркон админа и поставить например
Code

if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 3)

Заранее спасибо!


Ничто не останавливает полет мысли программиста , как компилятор!
+ не помешает
 
СообщениеЕсть код:
Code

#include <a_samp>

#define tempBanFile "temp_bans.txt"

#define defaultTempBanHours  12
#define defaultTempBanReason  "причина не указана"

#define tempBansCleaningInterval  47

#define fwritebin(%0,%1)            for ( new sp, size = strlen(%1); sp < size; sp++ ) fputchar( %0, %1[sp], false )

stock tempBansCleaningTimer;

stock tempBanPlayer ( playerid, adminid, hours = defaultTempBanHours, reason[] = defaultTempBanReason )
{
     new File: banFile = fopen( tempBanFile, io_append );
     if ( !banFile ) return 0;

     new unbanTime = gettime() + hours*3600, banStr[160], plName[24], admName[24];

     GetPlayerName( playerid, plName, 24 );
     GetPlayerName( adminid, admName, 24 );

     format( banStr, 160, "%s:%d:%s\r\n", plName, unbanTime, reason );
     fwritebin( banFile, banStr );
     fclose(banFile);

     format( banStr, 160, " * Ты забанен на %d час(ов). Причина: %s", hours, reason );
     SendClientMessage( playerid, 0xFF0000AA, banStr );
     printf( " * %s (id:%d) was temp banned for %d hour(s) by %s (id:%d). Reason: %s",
         plName, playerid, hours, admName, adminid, reason );

     Kick(playerid);
     return 1;
}

stock isPlayerTempBanned ( playerid, & unbanTime, reason[] )
{
     if ( !fexist(tempBanFile) ) return 0;
     new File: banFile = fopen( tempBanFile, io_read );
     if ( !banFile ) return 0;

     new plName[24], plNameLen;
     GetPlayerName( playerid, plName, 24 );
     plNameLen = strlen(plName);

     for ( new banStr[160]; fread( banFile, banStr ) > 0; )
     {
         if ( banStr[plNameLen] == ':' && strcmp( banStr, plName, true, plNameLen ) == 0 )
         {
             unbanTime = iparam( banStr, ':', 1 );
             sparam( reason, 128, banStr, ':', 2, 1 );

             if ( reason[0] == 0 ) format( reason, 128, "%s", defaultTempBanReason );

             fclose(banFile);
             return 1;
         }
     }

     fclose(banFile);
     return 0;
}

forward tempBansCleaning();
public tempBansCleaning()
{
     if ( !fexist(tempBanFile) ) return;

     new File: banFile = fopen( tempBanFile, io_read ), File: tmpFile = ftemp();

     if ( !banFile || !tmpFile )
     {
         fclose(banFile);
         fclose(tmpFile);
         return;
     }

     for ( new buffer[160]; fread( banFile, buffer ) > 0; ) fwritebin( tmpFile, buffer );

     fclose(banFile);
     fseek( tmpFile, 0, seek_start );

     banFile = fopen( tempBanFile, io_write );
     if ( !banFile )
     {
         fclose(tmpFile);
         return;
     }

     new curTime = gettime(), banStr[160], cleanedCount;

     while ( fread( tmpFile, banStr ) > 0 )
     {
         if ( iparam( banStr, ':', 1 ) - curTime > 0 ) fwritebin( banFile, banStr );
         else cleanedCount++;
     }

     fclose(banFile);
     fclose(tmpFile);

     printf( " * Temp bans file `" tempBanFile "` cleaning: %d expired bans removed", cleanedCount );
}

stock sparam
(
  dest[],    maxSize  = sizeof(dest),
  const source[],  delimiter    = ' ',
  substrIndex = 0,    withRest    = 0
)
{
  dest[0] = 0; // очистим строку назначения

  for ( new cur, pre, i = -1; ; cur++ ) // пробежимся по каждому символу в строке source
  {
   if ( source[cur] == 0 ) // если текущий символ в source - это символ конца строки
   {
    if ( ++i == substrIndex ) // если индекс текущей подстроки и есть sourceIndex
     // скопируем в dest нужную подстроку из source
     strmid( dest, source, pre, ( withRest ? strlen(source) : cur ), maxSize );

    goto sparam_end;
   }

   if ( source[cur] == delimiter ) // если текущий символ в source - это символ для разделения строки
   {
    if ( ++i == substrIndex ) // если индекс текущей подстроки и есть sourceIndex
    {
     // скопируем в dest нужную подстроку из source
     strmid( dest, source, pre, ( withRest ? strlen(source) : cur ), maxSize );
     goto sparam_end;
    }

    pre = cur + 1;
   }
  }

     sparam_end:
     return; // завершим работу функции
}

stock iparam ( const source[], delimiter = ' ', substrIndex = 0 )
{
  new dest[12], cur, pre, i = -1;

  for ( ; ; cur++ ) // пробежимся по каждому символу в строке source
  {
   if ( source[cur] == 0 ) // если текущий символ в source - это символ конца строки
   {
    if ( ++i == substrIndex ) // если индекс текущей подстроки и есть sourceIndex
     strmid( dest, source, pre, cur, 12 ); // скопируем в dest нужную подстроку из source

    goto iparam_end;
   }

   if ( source[cur] == delimiter ) // если текущий символ в source - это символ для разделения строки
   {
    if ( ++i == substrIndex ) // если индекс текущей подстроки и есть sourceIndex
    {
     strmid( dest, source, pre, cur, 12 );// скопируем в dest нужную подстроку из source
     goto iparam_end;
    }

    pre = cur + 1;
   }
  }

     iparam_end:
     return strval(dest); // завершим работу функции и вернем целочисленное значение подстроки
}

public OnFilterScriptInit() { tempBansCleaningTimer = SetTimer( "tempBansCleaning", tempBansCleaningInterval*60000, 1 ); }
public OnFilterScriptExit() { KillTimer(tempBansCleaningTimer); }

public OnPlayerConnect ( playerid )
{
     static unbanTime, curTime, reason[128];

     curTime = gettime();

     if ( isPlayerTempBanned( playerid, unbanTime, reason ) && (unbanTime - curTime) > 0 )
     {
         new banMessage[160],
             unbanSeconds    = unbanTime - curTime,
             unbanMinutes    = unbanSeconds / 60,
             unbanHours      = unbanMinutes / 60;

         unbanMinutes -= unbanHours*60;
         unbanSeconds -= unbanHours*3600 + unbanMinutes*60;

         format( banMessage, 160, " * Твой ник забанен по причине: %s", reason );
         SendClientMessage( playerid, 0xFF0000AA, banMessage );

         format( banMessage, 80,  " * До разбана осталось %d час., %d мин., %d сек.", unbanHours, unbanMinutes, unbanSeconds );
         SendClientMessage( playerid, 0xFF0000AA, banMessage );

         Kick(playerid);
     }

     return 1;
}

public OnPlayerCommandText ( playerid, cmdtext[] )
{
     // синтаксис /tempban [ID игрока] [кол-во часов] [причина бана]

     if ( IsPlayerAdmin(playerid) && strcmp( cmdtext, "/tempban", true, 8 ) == 0 )
     {
         if ( cmdtext[8] != ' ' || cmdtext[9] == 0 )
         {
             SendClientMessage( playerid, 0xFFFFFFAA, " * используй /tempban [ID игрока] [кол-во часов] [причина бана]" );
             return 1;
         }

         new id = iparam( cmdtext, ' ', 1 );

         if ( ( id == 0 && cmdtext[9] != '0' ) || !IsPlayerConnected(id) )
         {
             SendClientMessage( playerid, 0xFFFFFFAA, " * Игрок с таким ID не найден" );
             return 1;
         }

         new hours = iparam( cmdtext, ' ', 2 ), reason[128];
         sparam( reason, 128, cmdtext, ' ', 3, 1 );

         if ( hours <= 0 )       hours  = defaultTempBanHours;
         if ( reason[0] == 0 )   reason = defaultTempBanReason;

         if ( tempBanPlayer( id, playerid, hours, reason ) )
         {
             new reportStr[160];
             GetPlayerName( id, reportStr, 24 );
             format( reportStr, 160, " * %s (id:%d) забанен на %d час(ов): %s", reportStr, id, hours, reason );

             SendClientMessage( playerid, 0xFF0000AA, reportStr );
         }
         else
             SendClientMessage( playerid, 0xFFFFFFAA, " * Ошибка записи в файл при добавлении нового временного бана" );

         return 1;
     }

     return 0;
}

Как убрать проверку на Ркон админа и поставить например
Code

if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 3)

Заранее спасибо!

Автор - [MTA]MaPeR5518
Дата добавления - 21.07.2011 в 04:13:36
MaXMuTДата: Четверг, 21.07.2011, 08:22:35 | Сообщение # 2

Группа: Пользователи
Сообщений: 90
Code

public OnPlayerCommandText ( playerid, cmdtext[] )
{
// синтаксис /tempban [ID игрока] [кол-во часов] [причина бана]

if(strcmp(cmdtext, "/tempban", true, 8 ) == 0 )
{
if (PlayerInfo[playerid][pAdmin] >= 3)
{
if ( cmdtext[8] != ' ' || cmdtext[9] == 0 )
{
SendClientMessage( playerid, 0xFFFFFFAA, " * используй /tempban [ID игрока] [кол-во часов] [причина бана]" );
return 1;
}

new id = iparam( cmdtext, ' ', 1 );

if ( ( id == 0 && cmdtext[9] != '0' ) || !IsPlayerConnected(id) )
{
SendClientMessage( playerid, 0xFFFFFFAA, " * Игрок с таким ID не найден" );
return 1;
}

new hours = iparam( cmdtext, ' ', 2 ), reason[128];
sparam( reason, 128, cmdtext, ' ', 3, 1 );

if ( hours <= 0 ) hours = defaultTempBanHours;
if ( reason[0] == 0 ) reason = defaultTempBanReason;

if ( tempBanPlayer( id, playerid, hours, reason ) )
{
new reportStr[160];
GetPlayerName( id, reportStr, 24 );
format( reportStr, 160, " * %s (id:%d) забанен на %d час(ов): %s", reportStr, id, hours, reason );

SendClientMessage( playerid, 0xFF0000AA, reportStr );
}
else
SendClientMessage( playerid, 0xFFFFFFAA, " * Ошибка записи в файл при добавлении нового временного бана" );

return 1;
}

return 0;
}

так попробуй.


Вернулся на форум.Пишите в личу,если кому надо помочь по скриптенгу( только на форуме,в скайпе не помогаю )

Сообщение отредактировал MaXMuT - Четверг, 21.07.2011, 08:24:31
 
Сообщение
Code

public OnPlayerCommandText ( playerid, cmdtext[] )
{
// синтаксис /tempban [ID игрока] [кол-во часов] [причина бана]

if(strcmp(cmdtext, "/tempban", true, 8 ) == 0 )
{
if (PlayerInfo[playerid][pAdmin] >= 3)
{
if ( cmdtext[8] != ' ' || cmdtext[9] == 0 )
{
SendClientMessage( playerid, 0xFFFFFFAA, " * используй /tempban [ID игрока] [кол-во часов] [причина бана]" );
return 1;
}

new id = iparam( cmdtext, ' ', 1 );

if ( ( id == 0 && cmdtext[9] != '0' ) || !IsPlayerConnected(id) )
{
SendClientMessage( playerid, 0xFFFFFFAA, " * Игрок с таким ID не найден" );
return 1;
}

new hours = iparam( cmdtext, ' ', 2 ), reason[128];
sparam( reason, 128, cmdtext, ' ', 3, 1 );

if ( hours <= 0 ) hours = defaultTempBanHours;
if ( reason[0] == 0 ) reason = defaultTempBanReason;

if ( tempBanPlayer( id, playerid, hours, reason ) )
{
new reportStr[160];
GetPlayerName( id, reportStr, 24 );
format( reportStr, 160, " * %s (id:%d) забанен на %d час(ов): %s", reportStr, id, hours, reason );

SendClientMessage( playerid, 0xFF0000AA, reportStr );
}
else
SendClientMessage( playerid, 0xFFFFFFAA, " * Ошибка записи в файл при добавлении нового временного бана" );

return 1;
}

return 0;
}

так попробуй.

Автор - MaXMuT
Дата добавления - 21.07.2011 в 08:22:35
drifter-dronДата: Четверг, 21.07.2011, 08:29:38 | Сообщение # 3

Группа: Пользователи
Сообщений: 477
[MTA]MaPeR5518, помогло?)

Пишу любые несложные скрипты))
Обращайтесь..
Цена: от 10 рублей))
 
Сообщение[MTA]MaPeR5518, помогло?)

Автор - drifter-dron
Дата добавления - 21.07.2011 в 08:29:38
[MTA]MaPeR5518Дата: Четверг, 21.07.2011, 09:58:25 | Сообщение # 4

Группа: Пользователи
Сообщений: 181
Че то не то:
Code
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(135) : warning 217: loose indentation
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(145) : error 017: undefined symbol "iparam"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(153) : error 017: undefined symbol "iparam"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : error 017: undefined symbol "sparam"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(156) : error 017: undefined symbol "defaultTempBanHours"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(157) : error 017: undefined symbol "defaultTempBanReason"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(157) : error 033: array must be indexed (variable "reason")
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(159) : error 017: undefined symbol "tempBanPlayer"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(176) : warning 217: loose indentation
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase


Ничто не останавливает полет мысли программиста , как компилятор!
+ не помешает
 
СообщениеЧе то не то:
Code
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(135) : warning 217: loose indentation
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(145) : error 017: undefined symbol "iparam"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(153) : error 017: undefined symbol "iparam"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : error 017: undefined symbol "sparam"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(156) : error 017: undefined symbol "defaultTempBanHours"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(157) : error 017: undefined symbol "defaultTempBanReason"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(157) : error 033: array must be indexed (variable "reason")
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(159) : error 017: undefined symbol "tempBanPlayer"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(176) : warning 217: loose indentation
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

Автор - [MTA]MaPeR5518
Дата добавления - 21.07.2011 в 09:58:25
drifter-dronДата: Четверг, 21.07.2011, 10:01:34 | Сообщение # 5

Группа: Пользователи
Сообщений: 477
[MTA]MaPeR5518,
new iparam;
new defaultTempBanHours;
new defaultTempBanReason;
new tempBanPlayer
и 176 строку подровняй под 175 и 135 так же сделай


Пишу любые несложные скрипты))
Обращайтесь..
Цена: от 10 рублей))
 
Сообщение[MTA]MaPeR5518,
new iparam;
new defaultTempBanHours;
new defaultTempBanReason;
new tempBanPlayer
и 176 строку подровняй под 175 и 135 так же сделай

Автор - drifter-dron
Дата добавления - 21.07.2011 в 10:01:34
[MTA]MaPeR5518Дата: Четверг, 21.07.2011, 10:04:16 | Сообщение # 6

Группа: Пользователи
Сообщений: 181
Неа все равно я и Прагму постовил нифига!
Code

C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(54) : error 001: expected token: ";", but found "enum"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(140) : warning 217: loose indentation
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(140) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(140) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : error 012: invalid function call, not a valid address
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : warning 215: expression has no effect
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : warning 215: expression has no effect
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : warning 215: expression has no effect
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : error 001: expected token: ";", but found ")"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : fatal error 107: too many error messages on one line


Ничто не останавливает полет мысли программиста , как компилятор!
+ не помешает
 
СообщениеНеа все равно я и Прагму постовил нифига!
Code

C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(54) : error 001: expected token: ";", but found "enum"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(140) : warning 217: loose indentation
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(140) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(140) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : error 012: invalid function call, not a valid address
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : warning 215: expression has no effect
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : warning 215: expression has no effect
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : warning 215: expression has no effect
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : error 001: expected token: ";", but found ")"
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\filterscripts\aadmin.pwn(154) : fatal error 107: too many error messages on one line

Автор - [MTA]MaPeR5518
Дата добавления - 21.07.2011 в 10:04:16
drifter-dronДата: Четверг, 21.07.2011, 10:05:39 | Сообщение # 7

Группа: Пользователи
Сообщений: 477
54 154 и 140 строки в студию

Пишу любые несложные скрипты))
Обращайтесь..
Цена: от 10 рублей))
 
Сообщение54 154 и 140 строки в студию

Автор - drifter-dron
Дата добавления - 21.07.2011 в 10:05:39
[MTA]MaPeR5518Дата: Четверг, 21.07.2011, 10:18:40 | Сообщение # 8

Группа: Пользователи
Сообщений: 181
154-new id = iparam( cmdtext, ' ', 1 );
140-public OnPlayerCommandText (playerid, cmdtext[])


Ничто не останавливает полет мысли программиста , как компилятор!
+ не помешает
 
Сообщение154-new id = iparam( cmdtext, ' ', 1 );
140-public OnPlayerCommandText (playerid, cmdtext[])

Автор - [MTA]MaPeR5518
Дата добавления - 21.07.2011 в 10:18:40
drifter-dronДата: Четверг, 21.07.2011, 10:22:17 | Сообщение # 9

Группа: Пользователи
Сообщений: 477
public OnPlayerCommandText(playerid, cmdtext[])
у тя стоял пробел выше код норм вставляй его


Пишу любые несложные скрипты))
Обращайтесь..
Цена: от 10 рублей))
 
Сообщениеpublic OnPlayerCommandText(playerid, cmdtext[])
у тя стоял пробел выше код норм вставляй его

Автор - drifter-dron
Дата добавления - 21.07.2011 в 10:22:17
[MTA]MaPeR5518Дата: Четверг, 21.07.2011, 10:26:26 | Сообщение # 10

Группа: Пользователи
Сообщений: 181
Вот тупит код!
Code
public OnPlayerCommandText (playerid, cmdtext[])
{

if(strcmp(cmdtext, "/tempban", true, 8 ) == 0 )
{
if (PlayerInfo[playerid][pAdmin] >= 3)
{
if ( cmdtext[8] != ' ' || cmdtext[9] == 0 )
{
SendClientMessage( playerid, 0xFFFFFFAA, " * используй /tempban [ID игрока] [кол-во часов] [причина бана]" );
return 1;
}

new id = iparam( cmdtext, ' ', 1 );

if ( ( id == 0 && cmdtext[9] != '0' ) || !IsPlayerConnected(id) )
{
SendClientMessage( playerid, 0xFFFFFFAA, " * Игрок с таким ID не найден" );
return 1;
}

new hours = iparam( cmdtext, ' ', 2 ), reason[128];
sparam( reason, 128, cmdtext, ' ', 3, 1 );

if ( hours <= 0 ) hours = defaultTempBanHours;
if ( reason[0] == 0 ) reason = defaultTempBanReason;

if ( tempBanPlayer( id, playerid, hours, reason ) )
{
new reportStr[160];
GetPlayerName( id, reportStr, 24 );
format( reportStr, 160, " * %s (id:%d) забанен на %d час(ов): %s", reportStr, id, hours, reason );

SendClientMessage( playerid, 0xFF0000AA, reportStr );
}
else
SendClientMessage( playerid, 0xFFFFFFAA, " * Ошибка записи в файл при добавлении нового временного бана" );

return 1;
}

А вот примерно по какому надо делать примерно!
Code
    if(strcmp(cmd, "/explode", true) == 0)
  {
      GetPlayerName(playerid, sendername, sizeof(sendername));
      PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
   tmp = strtok(cmdtext, idx);
   if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 2)
   {
    SendClientMessage(playerid, COLOR_DBLUE, "SERVER: /explode [id]");
    return 1;
   }
   if(IsStringAName(tmp))
   {
    giveplayerid = GetPlayerID(tmp);
   }
   else
   {
    giveplayerid = strval(tmp);
   }
   if(logged[playerid] == 0)
   {
    SendClientMessage(playerid, COLOR_RED, "Пожалуста залогиньтесь!");
   }
   GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
   GetPlayerName(playerid, sendername, sizeof(sendername));
   if(PlayerInfo[playerid][pAdmin] >= 1)
   {
       if(IsPlayerConnected(giveplayerid))
       {
     SetPlayerHealth(giveplayerid, 10);
     new Float:boomx, Float:boomy, Float:boomz;
     GetPlayerPos(giveplayerid,boomx, boomy, boomz);
     CreateExplosion(boomx, boomy , boomz + 3, 7, 10);
     new PlayerName[30];
     GetPlayerName(playerid, PlayerName, 30);
    }
    else
    {
        format(string, sizeof(string), "Такого игрока нет в игре.", giveplayerid);
     SendClientMessage(playerid, COLOR_RED, string);
    }
   }
   else
   {
    SendClientMessage(playerid, COLOR_RED, "Вы не Администратор!!!");
   }
   return 1;
  }


Ничто не останавливает полет мысли программиста , как компилятор!
+ не помешает


Сообщение отредактировал [MTA]MaPeR5518 - Четверг, 21.07.2011, 10:33:31
 
СообщениеВот тупит код!
Code
public OnPlayerCommandText (playerid, cmdtext[])
{

if(strcmp(cmdtext, "/tempban", true, 8 ) == 0 )
{
if (PlayerInfo[playerid][pAdmin] >= 3)
{
if ( cmdtext[8] != ' ' || cmdtext[9] == 0 )
{
SendClientMessage( playerid, 0xFFFFFFAA, " * используй /tempban [ID игрока] [кол-во часов] [причина бана]" );
return 1;
}

new id = iparam( cmdtext, ' ', 1 );

if ( ( id == 0 && cmdtext[9] != '0' ) || !IsPlayerConnected(id) )
{
SendClientMessage( playerid, 0xFFFFFFAA, " * Игрок с таким ID не найден" );
return 1;
}

new hours = iparam( cmdtext, ' ', 2 ), reason[128];
sparam( reason, 128, cmdtext, ' ', 3, 1 );

if ( hours <= 0 ) hours = defaultTempBanHours;
if ( reason[0] == 0 ) reason = defaultTempBanReason;

if ( tempBanPlayer( id, playerid, hours, reason ) )
{
new reportStr[160];
GetPlayerName( id, reportStr, 24 );
format( reportStr, 160, " * %s (id:%d) забанен на %d час(ов): %s", reportStr, id, hours, reason );

SendClientMessage( playerid, 0xFF0000AA, reportStr );
}
else
SendClientMessage( playerid, 0xFFFFFFAA, " * Ошибка записи в файл при добавлении нового временного бана" );

return 1;
}

А вот примерно по какому надо делать примерно!
Code
    if(strcmp(cmd, "/explode", true) == 0)
  {
      GetPlayerName(playerid, sendername, sizeof(sendername));
      PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
   tmp = strtok(cmdtext, idx);
   if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 2)
   {
    SendClientMessage(playerid, COLOR_DBLUE, "SERVER: /explode [id]");
    return 1;
   }
   if(IsStringAName(tmp))
   {
    giveplayerid = GetPlayerID(tmp);
   }
   else
   {
    giveplayerid = strval(tmp);
   }
   if(logged[playerid] == 0)
   {
    SendClientMessage(playerid, COLOR_RED, "Пожалуста залогиньтесь!");
   }
   GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
   GetPlayerName(playerid, sendername, sizeof(sendername));
   if(PlayerInfo[playerid][pAdmin] >= 1)
   {
       if(IsPlayerConnected(giveplayerid))
       {
     SetPlayerHealth(giveplayerid, 10);
     new Float:boomx, Float:boomy, Float:boomz;
     GetPlayerPos(giveplayerid,boomx, boomy, boomz);
     CreateExplosion(boomx, boomy , boomz + 3, 7, 10);
     new PlayerName[30];
     GetPlayerName(playerid, PlayerName, 30);
    }
    else
    {
        format(string, sizeof(string), "Такого игрока нет в игре.", giveplayerid);
     SendClientMessage(playerid, COLOR_RED, string);
    }
   }
   else
   {
    SendClientMessage(playerid, COLOR_RED, "Вы не Администратор!!!");
   }
   return 1;
  }

Автор - [MTA]MaPeR5518
Дата добавления - 21.07.2011 в 10:26:26
drifter-dronДата: Четверг, 21.07.2011, 17:43:01 | Сообщение # 11

Группа: Пользователи
Сообщений: 477
в смысле тупит??

Пишу любые несложные скрипты))
Обращайтесь..
Цена: от 10 рублей))
 
Сообщениев смысле тупит??

Автор - drifter-dron
Дата добавления - 21.07.2011 в 17:43:01
[MTA]MaPeR5518Дата: Пятница, 22.07.2011, 02:11:49 | Сообщение # 12

Группа: Пользователи
Сообщений: 181
Ошибки! м не понятно почему

Ничто не останавливает полет мысли программиста , как компилятор!
+ не помешает
 
СообщениеОшибки! м не понятно почему

Автор - [MTA]MaPeR5518
Дата добавления - 22.07.2011 в 02:11:49
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

ps798829

(Среда 08:23:47)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

Вверх
10:37:52
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2026

vkontakte :samp-pawno.ru: