02:51
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Alcoholik  
Попробуем сделать /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)
Убейся

Вот ответ fun
Вникать не хочется.

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]
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua