 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Попробуем сделать /mute на секунды
| |
| DiSE | Дата: Четверг, 01.04.2010, 23:31 | Сообщение # 1 |
|
Группа:
I'm V.I.P.
Сообщений: 1759
Награды: 23
Город: Уфа
Репутация: 337
Замечания: 80%
Статус: 
| 1) Для начала добавим саму команду в OnPlayerCommandtext [pwn]if(strcmp(cmd, "/mutet", true) == 0){ if(IsPlayerConnected(playerid)){ tmp = strtok(cmdtext, idx); if(!strlen(tmp)){return SendClientMessage(playerid, COLOR_GRAD2, "*Используйте: /mutet [id ид/ник] [секунды]");} new playa=ReturnUser(tmp); if(PlayerInfo[playerid][pAdmin] >= 1){ if(IsPlayerConnected(playa)){ if(playa!=INVALID_PLAYER_ID){ tmp = strtok(cmdtext, idx); if(!strlen(tmp)){return SendClientMessage(playerid, COLOR_GRAD2, "*Используйте: /mutet [id èãðîêà/÷à ;ñòü íèêà] [ñåê]");} new second=strval(tmp); if(second<1)return SendClientMessage(playerid, COLOR_GRAD2, "неверное значение"); GetPlayerName(playa, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); PlayerInfo[playa][pMuted]=1; mutedsecond[playa]=second; printf("AdmCmd: %s silenced %s",sendername, giveplayer); format(string, sizeof(string), "AdmCmd: %s заткнут %s на %d секунд",giveplayer ,sendername,second); ABroadCast(COLOR_LIGHTRED,string,1); }}}} else{SendClientMessage(playerid, COLOR_GRAD1, " Вы не админ!"); } return 1; }[/pwn] 2) В самое начало суём: [pwn]new mutedsecond[MAX_PLAYERS];[/pwn] 3) Создадим паблик отсчёта: [pwn]forward OneSecOnd(); public OneSecOnd() { CheckTime(); } stock CheckTime() { for(new i=0;imutedsecond[i]--; if(mutedsecond[i]==0){UnMuted(i);mutedsecond[i]=-1;} }} stock UnMuted(playerid) { PlayerInfo[playerid][pMuted]=0; SendClientMessage(playerid,COLOR_GREEN,"*Теперь вы можете говорить"); }[/pwn] 4) в public OnPlayerLogin добавляем: [pwn]mutedsecond[playerid]=0;[/pwn] 5) и в public OnGameModeInit [pwn]SetTimer("OneSecOnd",1000,1);[/pwn]
|
| |
|
|
| _LexA_ | Дата: Четверг, 01.04.2010, 23:37 | Сообщение # 2 |
|
Долгожитель
Группа:
Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус: 
| Просмотри Quote (EnErGiZeR) stock CheckTime() { for(new i=0;imutedsecond[i]--; if(mutedsecond[i]==0){UnMuted(i);mutedsecond[i]=-1;} }}
|
| |
|
|
| DiSE | Дата: Четверг, 01.04.2010, 23:41 | Сообщение # 3 |
|
Группа:
I'm V.I.P.
Сообщений: 1759
Награды: 23
Город: Уфа
Репутация: 337
Замечания: 80%
Статус: 
| ????? Что здесь не так? Добавлено (01.04.2010, 23:41) --------------------------------------------- Скрипт не мой, так что не судите меня! У меня вроде всё работает
|
| |
|
|
| _LexA_ | Дата: Четверг, 01.04.2010, 23:43 | Сообщение # 4 |
|
Долгожитель
Группа:
Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус: 
| EnErGiZeR, ты не правильно используешь цикл for : for (инициализация; условие; итерация)
|
| |
|
|
| DiSE | Дата: Четверг, 01.04.2010, 23:47 | Сообщение # 5 |
|
Группа:
I'm V.I.P.
Сообщений: 1759
Награды: 23
Город: Уфа
Репутация: 337
Замечания: 80%
Статус: 
| чёрт, рано я сказал что работает, даже не компилировался Лёха не подскажешь как исправить?
|
| |
|
|
| [LoLWhat]Chez | Дата: Четверг, 01.04.2010, 23:49 | Сообщение # 6 |
|
Новенький
Группа:
Пользователи
Сообщений: 16
Награды: 0
Город: Казантип^___^
Репутация: 7
Замечания: 20%
Статус: 
| http://www.samp-rus.com/forum/15-10198-1 Убейся, или сделай тутор на базе моего мегопоста
|
| |
|
|
| _LexA_ | Дата: Четверг, 01.04.2010, 23:53 | Сообщение # 7 |
|
Долгожитель
Группа:
Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус: 
| Quote (EnErGiZeR) Лёха не подскажешь как исправить? Quote (|LoLWhat|Chez) Убейся Вот ответ Вникать не хочется.
|
| |
|
|
| xSLiMx | Дата: Пятница, 02.04.2010, 07:38 | Сообщение # 8 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2163
Награды: 34
Город: Ростов - на - Дону
Репутация: 1429
Замечания: 80%
Статус: 
| Quote (EnErGiZeR) 1) Для начала добавим саму команду в OnPlayerCommandtext [pwn] if(strcmp(cmd, "/mute", true) == 0)//Заткнуть игрока на время { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, " Подсказка: /mute [ID игрока] [минуты] [причина]"); return 1; } new playa; new vremya; playa = ReturnUser(tmp); tmp = strtok(cmdtext, idx); vremya = strvalEx(tmp); if (PlayerInfo[playerid][pAdmin] >= 2) { if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { if(vremya == 0) { GetPlayerName(playa, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* Ты разоткнул %s", giveplayer); SendClientMessage(playerid, COLOR_LIGHTRED, string); PlayerInfo[playa][pMuteTime] = 0; format(string, sizeof(string), " Админ %s разоткнул тебя",sendername); SendClientMessage(playa, COLOR_LIGHTBLUE, string); return 1; } new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GRAD2, " Подсказка: /mute [ID игрока] [минуты] [причина]"); return 1; } GetPlayerName(playa, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* Ты заткнул %s на %d минут", giveplayer,vremya); SendClientMessage(playerid, COLOR_LIGHTRED, string); PlayerInfo[playa][pMuteTime] = vremya*60; format(string,sizeof(string)," Администратор [%s] заглушил игрока [%s] на [%d минут], [Причина: %s]",sendername,giveplayer,vremya,result); AdmCmdLog(string); SendClientMessageToAll(COLOR_LIGHTRED,string); } } } else { SendClientMessage(playerid, COLOR_GRAD1, " Ты не можешь использовать эту команду!"); } } return 1; }[/pwn] Quote (EnErGiZeR) 2)в enum pInfo: [pwn]pMuteTime, [pwn]В OnPlayerRegister: format(var, 64, "MuteTime=%d\n",PlayerInfo[playerid][pMuteTime]);fwrite(hFile, var);[/pwn] [pwn]В ОnPlayerUpdate: format(var, 64, "MuteTime=%d\n",PlayerInfo[playerid][pMuteTime]);fwrite(hFile, var);[/pwn] [pwn]В OnPlayerLogin: if( strcmp( key , "MuteTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMuteTime] = strval( val ); }[/pwn] И в SetPlayerUnjail [pwn]if(PlayerInfo[i][pMuteTime] > 0) { PlayerInfo[i][pMuteTime] -=1; }[/pwn][b]Вырезал не проснувшись. Вырезал с вайнвуда
|
| |
|
|
| Many | Дата: Воскресенье, 30.05.2010, 10:36 | Сообщение # 9 |
|
Новенький
Группа:
Пользователи
Сообщений: 60
Награды: 0
Город: Гренландия
Репутация: -14
Замечания: 0%
Статус: 
| Я непонял! Code В OnPlayerRegister: format(var, 64, "MuteTime=%d\n",PlayerInfo[playerid][pMuteTime]);fwrite(hFile, var); Code В ОnPlayerUpdate: format(var, 64, "MuteTime=%d\n",PlayerInfo[playerid][pMuteTime]);fwrite(hFile, var); Code В OnPlayerLogin: if( strcmp( key , "MuteTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMuteTime] = strval( val ); } Вот это добовлять ниже например у меня эта строка выглядит так: forward OnPlayerLogin(playerid,password[]); и это добовляем ниже? Code format(var, 64, "MuteTime=%d\n",PlayerInfo[playerid][pMuteTime]);fwrite(hFile, var)
[img]http://monitoring.sangta.ru/userbar-83.69.226.239:7888.jpg[/img]
|
| |
|
|
| R0wland | Дата: Воскресенье, 30.05.2010, 11:01 | Сообщение # 10 |
|
Новенький
Группа:
Пользователи
Сообщений: 56
Награды: 0
Город: San Fierro
Репутация: 18
Замечания: 20%
Статус: 
| Quote (Many) Вот это добовлять ниже например у меня эта строка выглядит так: forward OnPlayerLogin(playerid,password[]); и это добовляем ниже? Это в Public OnPlayerLogin и другие, не k форвардам.
Сообщение отредактировал R0wland - Воскресенье, 30.05.2010, 11:08 |
| |
|
|
| Many | Дата: Пятница, 18.06.2010, 19:47 | Сообщение # 11 |
|
Новенький
Группа:
Пользователи
Сообщений: 60
Награды: 0
Город: Гренландия
Репутация: -14
Замечания: 0%
Статус: 
| Вот эти ошибки: Code I:\èãðû\1\gamemodes\vc.pwn(18202) : error 017: undefined symbol "strvalEx" I:\èãðû\1\gamemodes\vc.pwn(18245) : error 017: undefined symbol "AdmCmdLog" Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors. Вот код: if(strcmp(cmd, "/mute", true) == 0)//Çàòêíóòü èãðîêà íà âðåìÿ { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, " Ïîäñêàçêà: /mute [ID èãðîêà] [ìèíóòû] [ïðè÷èíà]"); return 1; } new playa; new vremya; playa = ReturnUser(tmp); tmp = strtok(cmdtext, idx); vremya = strvalEx(tmp); if (PlayerInfo[playerid][pAdmin] >= 2) { if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { if(vremya == 0) { GetPlayerName(playa, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* Òû ðàçîòêíóë %s", giveplayer); SendClientMessage(playerid, COLOR_LIGHTRED, string); PlayerInfo[playa][pMuteTime] = 0; format(string, sizeof(string), " Àäìèí %s ðàçîòêíóë òåáÿ",sendername); SendClientMessage(playa, COLOR_LIGHTBLUE, string); return 1; } new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GRAD2, " Ïîäñêàçêà: /mute [ID èãðîêà] [ìèíóòû] [ïðè÷èíà]"); return 1; } GetPlayerName(playa, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* Òû çàòêíóë %s íà %d ìèíóò", giveplayer,vremya); SendClientMessage(playerid, COLOR_LIGHTRED, string); PlayerInfo[playa][pMuteTime] = vremya*60; format(string,sizeof(string)," Àäìèíèñòðàòîð [%s] çàãëóøèë èãðîêà [%s] íà [%d ìèíóò], [Ïðè÷èíà: %s]",sendername,giveplayer,vremya,result); AdmCmdLog(string); SendClientMessageToAll(COLOR_LIGHTRED,string); } } } else { SendClientMessage(playerid, COLOR_GRAD1, " Òû íå ìîæåøü èñïîëüçîâàòü ýòó êîìàíäó!"); } } return 1; } Вот эти выделенные, строчки относятся к тем строкам , что указанно в ошибках......Как их исправить?
[img]http://monitoring.sangta.ru/userbar-83.69.226.239:7888.jpg[/img]
|
| |
|
|
| HELKERN | Дата: Пятница, 18.06.2010, 20:15 | Сообщение # 12 |
|
Уважаемый человек
Группа:
I'm V.I.P.
Сообщений: 767
Награды: 17
Город: Улан-Удэ
Репутация: 206
Замечания: 0%
Статус: 
| AdmCmdLog(string); - функция для посылки сообщения какой-то группе, в стандартном гф вроде бы ABroadCast, что то типо таво strvalex - используй просто strval
|
| |
|
|
| Many | Дата: Пятница, 18.06.2010, 20:49 | Сообщение # 13 |
|
Новенький
Группа:
Пользователи
Сообщений: 60
Награды: 0
Город: Гренландия
Репутация: -14
Замечания: 0%
Статус: 
| Попробовал, всеравно ошибки.....Типо также символ нераспознает) Если знаете, что делать подскажите плиз!!
[img]http://monitoring.sangta.ru/userbar-83.69.226.239:7888.jpg[/img]
|
| |
|
|
| Anderson_ | Дата: Пятница, 18.06.2010, 20:58 | Сообщение # 14 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 231
Награды: 8
Город: Los Angeles
Замечания: 20%
Статус: 
| Неработает=\\\\\\\ Афтар выпей яду
|
| |
|
|
| Many | Дата: Суббота, 19.06.2010, 09:49 | Сообщение # 15 |
|
Новенький
Группа:
Пользователи
Сообщений: 60
Награды: 0
Город: Гренландия
Репутация: -14
Замечания: 0%
Статус: 
| Блин, помогите, кто /mute на секунды сделал на GF))PLIZ
[img]http://monitoring.sangta.ru/userbar-83.69.226.239:7888.jpg[/img]
|
| |
|
|
|
 |
|
 | |
| |
|