Помощь по /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
Загрузка страницы, займет меньше минуты...
Статистика Форума
Последнии темы
Читаемые темы
Лучшие пользователи
Новые пользователи