APTEM | Дата: Среда, 07.05.2008, 23:12 | Сообщение # 1 |
Уверенный в себе
Группа:
Продвинутые
Сообщений: 199
Награды: 2
Город: :дорог
Репутация: 14
Замечания: 40%
Статус:
| Когда то выкладывали скрипт про то что можно как бы банить кланы, заносишь их в блакнот и нельзя заходить под этим кланом, а можно ли сделать наобарот что бы тот клан кторый написан в текстовом документе мог заходить, а если там нету такого клана, то этот клан что бы не мог заходить. Напишите кто нибудь такой скрипт.
[GM] Counter-Strike 1.6 - Купить
|
|
|
|
OKStyle™ | Дата: Среда, 07.05.2008, 23:56 | Сообщение # 2 |
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
| поставь в условии не ==, а != и всё.
Да потому что когда человек делает на заказ он не старается. © kRiSyo Кланяимся нофаму королю анимаций =))))))) © Manusya В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
|
|
|
|
WintMax | Дата: Четверг, 08.05.2008, 13:37 | Сообщение # 3 |
Местный
Группа:
Продвинутые
Сообщений: 562
Награды: 2
Город: Ростов-на-Дону
Репутация: 67
Замечания: 0%
Статус:
| А можно датьт ссылку на этот ФС? Реально интересно.
|
|
|
|
APTEM | Дата: Четверг, 08.05.2008, 14:52 | Сообщение # 4 |
Уверенный в себе
Группа:
Продвинутые
Сообщений: 199
Награды: 2
Город: :дорог
Репутация: 14
Замечания: 40%
Статус:
| Что то я не нашел там == Code #include <a_samp> #include <dini> #include <dutils>
#define COLOR_RED 0xAA3333AA #define COLOR_WHITE 0xFFFFFFAA
#define FILE_PBLACKLIST "cwpblacklist.ini" #define FILE_CBLACKLIST "cwcblacklist.ini"
new banplayer[MAX_PLAYERS];
public OnFilterScriptInit() { print("\n----------------------------------"); print(" CheaterWatch Successfully Loaded"); print("----------------------------------\n"); }
public OnFilterScriptExit() { print("\n----------------------------------"); print(" CheaterWatch Successfully UnLoaded"); print("----------------------------------\n"); }
public OnPlayerConnect(playerid) { new playername[MAX_PLAYER_NAME]; new temp[256]; new clan[256]; new string[256]; new clanname[256]; GetPlayerName(playerid,playername,sizeof(playername)); clan = GetPlayerClan(playerid); if(dini_Exists(FILE_PBLACKLIST)){ new File:fhandle; fhandle = fopen(FILE_PBLACKLIST,io_read); while(fread(fhandle,temp,sizeof(temp),false)) { clanname = strrest(temp,0); if(strcmp(playername,clanname,true) == 0) { format(string,sizeof(string),"*** CheaterWatch: %s has been Blacklisted (Ban)",clanname); SendClientMessageToAll(COLOR_RED,string); printf(string); banplayer[playerid] = 1; SetTimer("cwban",500,0); } } fclose(fhandle); } if(dini_Exists(FILE_CBLACKLIST)){ new File:fhandle; fhandle = fopen(FILE_CBLACKLIST,io_read); while(fread(fhandle,temp,sizeof(temp),false)) { clanname = strrest(temp,0); if(strfind(playername,clanname,true) == 0) { format(string,sizeof(string),"*** CheaterWatch: %s has been Blacklisted (Ban)",clanname); SendClientMessageToAll(COLOR_RED,string); printf(string); banplayer[playerid] = 1; SetTimer("cwban",500,0); } } fclose(fhandle); } }
public cwban() { for(new i=0;i<MAX_PLAYERS;i++){ if(banplayer[i] == 1){ ResetPlayerWeapons(i); ResetPlayerMoney(i); banplayer[i] = 0; Ban(i); } } }
public GetPlayerClan(playerid) { new playersclan[MAX_STRING]; new playername[MAX_STRING]; GetPlayerName(playerid,playername,MAX_STRING); playersclan[0]=0; if (strlen(playername)==0) return playersclan; if (playername[0]!='<') { if (playername[0]=='[') { if (strfind(playername,"]")&&(strfind(playername,"]")!=(strlen(playername)-1))) { copy(playersclan,playername,strfind(playername,"]")); del(playersclan,1); return playersclan; } } else return playersclan;
} else { if (strfind(playername,">")&&(strfind(playername,">")!=(strlen(playername)-1))) { copy(playersclan,playername,strfind(playername,">")); del(playersclan,1); return playersclan; } } return playersclan; }
public OnPlayerCommandText(playerid, cmdtext[]) { new string[256]; new cmd[256]; new tmp[256]; new temp[256]; new playername[MAX_PLAYER_NAME]; new clan[256]; new name[256]; new idx; new id; GetPlayerName(playerid,playername,sizeof(playername)); cmd = strtok(cmdtext, idx); if(strcmp(cmd,"/banclan",true)==0){ tmp = strtok(cmdtext,idx); if(!strlen(tmp)){ SendClientMessage(playerid,COLOR_WHITE,"USAGE: /banclan [clan]"); return 1; } if(!IsPlayerAdmin(playerid)){ SendClientMessage(playerid,COLOR_RED,"You are not an admin"); return 1; } clan = tmp; if(dini_Exists(FILE_CBLACKLIST)){ new File:fhandle; fhandle = fopen(FILE_CBLACKLIST,io_append); format(temp,sizeof(temp),"%s",clan); fwrite(fhandle,temp); fclose(fhandle); format(string,sizeof(string),"*** CheaterWatch: You just banned the clan %s",clan); SendClientMessage(playerid,COLOR_RED,string); printf(string); } return 1; } if(strcmp(cmd,"/banplayer",true)==0){ tmp = strtok(cmdtext,idx); if(!strlen(tmp)){ SendClientMessage(playerid,COLOR_WHITE,"USAGE: /banplayer [playerid]"); return 1; } if(!IsPlayerAdmin(playerid)){ SendClientMessage(playerid,COLOR_RED,"You are not an admin"); return 1; } id = strval(tmp); if(!IsPlayerConnected(id)){ SendClientMessage(playerid,COLOR_RED,"That player isn't connected..."); return 1; } if(dini_Exists(FILE_PBLACKLIST)){ new File:fhandle; fhandle = fopen(FILE_PBLACKLIST,io_append); format(temp,sizeof(temp),"%s",playername); fwrite(fhandle,temp); fclose(fhandle); format(string,sizeof(string),"*** CheaterWatch: You just banned the name %s",playername); SendClientMessage(playerid,COLOR_RED,string); printf(string); } return 1; } if(strcmp(cmd,"/banname",true)==0){ tmp = strtok(cmdtext,idx); if(!strlen(tmp)){ SendClientMessage(playerid,COLOR_WHITE,"USAGE: /banname [name]"); return 1; } if(!IsPlayerAdmin(playerid)){ SendClientMessage(playerid,COLOR_RED,"You are not an admin"); return 1; } name = tmp; if(dini_Exists(FILE_PBLACKLIST)){ new File:fhandle; fhandle = fopen(FILE_PBLACKLIST,io_append); format(temp,sizeof(temp),"%s",name); fwrite(fhandle,temp); fclose(fhandle); format(string,sizeof(string),"*** CheaterWatch: You just banned the name %s",name); SendClientMessage(playerid,COLOR_RED,string); printf(string); } return 1; } return 0; }
strrest(const string[], index) { new length = strlen(string); new offset = index; new result[256]; while ((index < length) && ((index - offset) < (sizeof(result) - 1)) && (string[index] > '\r')) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } Добавлено (08.05.2008, 14:52) --------------------------------------------- Все спасибо, незнаю конечно будет ли работать.
[GM] Counter-Strike 1.6 - Купить
|
|
|
|
WintMax | Дата: Четверг, 08.05.2008, 17:05 | Сообщение # 5 |
Местный
Группа:
Продвинутые
Сообщений: 562
Награды: 2
Город: Ростов-на-Дону
Репутация: 67
Замечания: 0%
Статус:
| Люди, а вот такой вопрос. Как можно усовершенствовать этот скрипт (уже измененный на разрешение), чтобы при подключении игрока не из списка, его не кикало, не банило, а сажало в тюрьму?
|
|
|
|
OKStyle™ | Дата: Четверг, 08.05.2008, 17:50 | Сообщение # 6 |
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
| start, попробуй замени if(strcmp(playername,clanname,true) == 0) на if(!(strcmp(playername,clanname,true) == 0))
Да потому что когда человек делает на заказ он не старается. © kRiSyo Кланяимся нофаму королю анимаций =))))))) © Manusya В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
|
|
|
|
APTEM | Дата: Суббота, 10.05.2008, 18:41 | Сообщение # 7 |
Уверенный в себе
Группа:
Продвинутые
Сообщений: 199
Награды: 2
Город: :дорог
Репутация: 14
Замечания: 40%
Статус:
| У меня не компелируется этот скрипт, ошибку выдает.
[GM] Counter-Strike 1.6 - Купить
|
|
|
|