 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Бан игрока по ид'у.
| |
| AnimKO | Дата: Среда, 21.01.2009, 17:11 | Сообщение # 1 |
|
Новенький
Группа:
Продвинутые
Сообщений: 6
Награды: 1
Репутация: 3
Замечания: 0%
Статус: 
| Всем привет. Не нашол такой темы поэтому создал новую. Прошу помочь! В чем проблема?Я хочу написать команду: [pwn]public OnPlayerCommandText { if(strcmp("/ban",true,0) == 0) { Ban(playerid); return 1; } } [/pwn] Ясно что эта команда будет банить игрока который её вызвал (прописал). Я хочу узнать как банить по ид,помогите, поставлю +. За ранее спасибо. З.Ы Я понимаю что есть /rcon ban но сам алгоритм действий мне пригодится потом.
|
| |
|
|
| Orange | Дата: Среда, 21.01.2009, 17:25 | Сообщение # 2 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 945
Награды: 6
Город: San Fierro
Репутация: 101
Замечания: 0%
Статус: 
| AnimKO, по ид? если ты про админ-комманду, то примерно она такая: [pwn] if(strcmp(cmd, "/ban", true) == 0) { if(IsPlayerAdmin(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, 0xAAFF00AA, " Использование: /ban [playerid] [причина]"); return 1; } new targetid = strval(tmp); strmid(tmp, cmdtext, 5+strlen(sftmp), strlen(cmdtext)); if(!strlen(sftmp)) { SendClientMessage(playerid, 0xAAFF00AA, " Использование: /ban [playerid] [reason]"); return 1; } if (IsPlayerConnected(targetid)) { format(string, sizeof(string), " Administrator %s (id: %d) put player %s (id: %d) in stazis. Reason: %s", Playername(playerid), playerid, Playername(targetid), targetid, tmp); print(string); format(sfstring, sizeof(sfstring), " Вы были забанены администратором %s. Причина: %s", Playername(playerid), tmp); SendClientMessage(targetid, 0xAAFF00AA, string); format(sfstring, sizeof(sfstring), " •Игрок %s (id: %d) помещен в стазис администратором %s (id: %d). Причина: %s", Playername(targetid), targetid, Playername(playerid), playerid, sftmp); SendClientMessageToAll(0xAAFF00AA, string); BanEx(playerid, tmp); } else { format(string, sizeof(string), " Игрок с ником %s не существует!", Playername(targetid)); SendClientMessage(playerid, 0xAAFF00AA, string); } } else { SendClientMessage(playerid, 0xAAFF00AA, " Вы должны быть администратором, чтобы использовать эту команду"); } return 1; } [/pwn] необходимые функции, писать в конец: [pwn] stock Playername(playerid) { new name[24]; GetPlayerName(playerid, name, sizeof(name)); return name; } stock strtok(const str4[], &index) { new length = strlen(str4); while ((index < length) && (str4[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (str4[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = str4[index]; index++; } result[index - offset] = EOS; return result; } //------------------------------------------------------------------------------ [/pwn]
|
| |
|
|
| Drago_Jeka | Дата: Среда, 21.01.2009, 17:25 | Сообщение # 3 |
|
Группа:
I'm V.I.P.
Сообщений: 754
Награды: 41
Город: Где-то там...
Замечания: 0%
Статус: 
| [pwn] if(strcmp(cmd, "/ban", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, " Использовать: /ban [playerid]"); return 1; } new playa; if(IsStringAName(tmp)) { playa = GetPlayerID(tmp); } else { playa = strval(tmp); } GetPlayerName(playa, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(IsPlayerAdmin(playerid)) { SendClientMessage(playa, COLOR_RED, " Вы были забанены на сервере!"); Ban(playa); format(string, sizeof(string), " СЕРВЕР: %s забанен %s ом",giveplayer ,sendername); SendClientMessageToAll(COLOR_YELLOW, string); } else { SendClientMessage(playerid, COLOR_RED, " Ты не админ!"); } return 1; }[/pwn]
Сообщение отредактировал Drago_Jeka - Среда, 21.01.2009, 17:26 |
| |
|
|
| AnimKO | Дата: Среда, 21.01.2009, 17:54 | Сообщение # 4 |
|
Новенький
Группа:
Продвинутые
Сообщений: 6
Награды: 1
Репутация: 3
Замечания: 0%
Статус: 
| Drago_Jeka, [pwn]C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(142) : warning 217: loose indentation C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(149) : warning 217: loose indentation C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(151) : error 017: undefined symbol "tmp" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(151) : error 017: undefined symbol "strtok" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(152) : warning 217: loose indentation C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(152) : error 017: undefined symbol "tmp" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(157) : warning 217: loose indentation C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(158) : error 001: expected token: ";", but found "if" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(158) : error 017: undefined symbol "IsStringAName" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(160) : error 029: invalid expression, assumed zero C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(161) : warning 217: loose indentation C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(162) : error 017: undefined symbol "tmp" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(164) : warning 217: loose indentation C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(164) : error 017: undefined symbol "giveplayer" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(164) : error 017: undefined symbol "giveplayer" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(164) : error 029: invalid expression, assumed zero C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\Untitled.pwn(164) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 11 Errors. [/pwn]
|
| |
|
|
| RegEdit | Дата: Среда, 21.01.2009, 17:59 | Сообщение # 5 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 972
Награды: 5
Город: Воронеж
Репутация: 101
Замечания: 20%
Статус: 
| AnimKO, используй код, который дал тебе Orange.
"эта акс сделал... видно твоя жопа ему не понравилась..." © MAK "Парни оплодотворяются с 13 лет" © SpLaSh По поводу скриптов/модов и скриптинга в pawn в ЛС/ICQ не обращаться. Для этих целей, в конце концов, существует форум.
|
| |
|
|
| Orange | Дата: Среда, 21.01.2009, 17:59 | Сообщение # 6 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 945
Награды: 6
Город: San Fierro
Репутация: 101
Замечания: 0%
Статус: 
| AnimKO, а моя команда работает? она по функционалу побольше вытянет AnimKO, Drago_Jeka вроде код из\для гф дал.
|
| |
|
|
| AnimKO | Дата: Среда, 21.01.2009, 18:01 | Сообщение # 7 |
|
Новенький
Группа:
Продвинутые
Сообщений: 6
Награды: 1
Репутация: 3
Замечания: 0%
Статус: 
| RegEdit, Результата не дало.. Мож я нублю? [pwn]C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(101) : error 017: undefined symbol "cmd" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(105) : error 017: undefined symbol "tmp" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(105) : error 017: undefined symbol "strtok" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(106) : error 017: undefined symbol "tmp" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(109) : error 079: inconsistent return types (array & non-array) C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(111) : error 017: undefined symbol "tmp" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(112) : error 017: undefined symbol "tmp" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(113) : error 017: undefined symbol "sftmp" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(116) : error 079: inconsistent return types (array & non-array) C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(120) : error 017: undefined symbol "string" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(120) : error 017: undefined symbol "string" C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(120) : error 029: invalid expression, assumed zero C:\Documents and Settings\Oxidon\Рабочий стол\pawno and server\gamemodes\asdadas.pwn(120) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 13 Errors. [/pwn] Выдернул. [pwn]public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmd, "/ban", true) == 0) { if(IsPlayerAdmin(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, 0xAAFF00AA, " Использование: /ban [playerid] [причина]"); return 1; } new targetid = strval(tmp); strmid(tmp, cmdtext, 5+strlen(sftmp), strlen(cmdtext)); if(!strlen(sftmp)) { SendClientMessage(playerid, 0xAAFF00AA, " Использование: /ban [playerid] [reason]"); return 1; } if (IsPlayerConnected(targetid)) { format(string, sizeof(string), " Administrator %s (id: %d) put player %s (id: %d) in stazis. Reason: %s", Playername(playerid), playerid, Playername(targetid), targetid, tmp); print(string); format(sfstring, sizeof(sfstring), " Вы были забанены администратором %s. Причина: %s", Playername(playerid), tmp); SendClientMessage(targetid, 0xAAFF00AA, string); format(sfstring, sizeof(sfstring), " •Игрок %s (id: %d) помещен в стазис администратором %s (id: %d). Причина: %s", Playername(targetid), targetid, Playername(playerid), playerid, sftmp); SendClientMessageToAll(0xAAFF00AA, string); BanEx(playerid, tmp); } else { format(string, sizeof(string), " Игрок с ником %s не существует!", Playername(targetid)); SendClientMessage(playerid, 0xAAFF00AA, string); } } else { SendClientMessage(playerid, 0xAAFF00AA, " Вы должны быть администратором, чтобы использовать эту команду"); } return 1; } stock Playername(playerid) { new name[24]; GetPlayerName(playerid, name, sizeof(name)); return name; } stock strtok(const str4[], &index) { new length = strlen(str4); while ((index < length) && (str4[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (str4[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = str4[index]; index++; } result[index - offset] = EOS; return result; } //------------------------------------------------------------------------------ return 0; }[/pwn]
Сообщение отредактировал AnimKO - Среда, 21.01.2009, 18:02 |
| |
|
|
| Ghost-X | Дата: Среда, 21.01.2009, 20:24 | Сообщение # 8 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 3548
Награды: 36
Город: Наб. Челны
Репутация: 856
Замечания: 40%
Статус: 
| AnimKO, [pwn]public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new tmp[256]; new idx; cmd = strtok(cmdtext,idx); if(strcmp(cmd, "/ban", true) == 0) { if(IsPlayerAdmin(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, 0xAAFF00AA, " Использование: /ban [playerid] [причина]"); return 1; } new targetid = strval(tmp); strmid(tmp, cmdtext, 5+strlen(sftmp), strlen(cmdtext)); if(!strlen(sftmp)) { SendClientMessage(playerid, 0xAAFF00AA, " Использование: /ban [playerid] [reason]"); return 1; } if (IsPlayerConnected(targetid)) { format(string, sizeof(string), " Administrator %s (id: %d) put player %s (id: %d) in stazis. Reason: %s", Playername(playerid), playerid, Playername(targetid), targetid, tmp); print(string); format(sfstring, sizeof(sfstring), " Вы были забанены администратором %s. Причина: %s", Playername(playerid), tmp); SendClientMessage(targetid, 0xAAFF00AA, string); format(sfstring, sizeof(sfstring), " •Игрок %s (id: %d) помещен в стазис администратором %s (id: %d). Причина: %s", Playername(targetid), targetid, Playername(playerid), playerid, sftmp); SendClientMessageToAll(0xAAFF00AA, string); BanEx(playerid, tmp); } else { format(string, sizeof(string), " Игрок с ником %s не существует!", Playername(targetid)); SendClientMessage(playerid, 0xAAFF00AA, string); } } else { SendClientMessage(playerid, 0xAAFF00AA, " Вы должны быть администратором, чтобы использовать эту команду"); } return 1; } stock Playername(playerid) { new name[24]; GetPlayerName(playerid, name, sizeof(name)); return name; } stock strtok(const str4[], &index) { new length = strlen(str4); while ((index < length) && (str4[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (str4[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = str4[index]; index++; } result[index - offset] = EOS; return result; } //------------------------------------------------------------------------------ return 0; }[/pwn]
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
Сообщение отредактировал GhostTT - Среда, 21.01.2009, 20:25 |
| |
|
|
| [TMP]oDyBaH | Дата: Четверг, 22.01.2009, 11:31 | Сообщение # 9 |
|
Местный
Группа:
Продвинутые
Сообщений: 667
Награды: 13
Город: Пенза
Репутация: -3
Замечания: 80%
Статус: 
| а не проще зайти под рконом и написать /rcon ban идигрока ???
Заказать бесплатно Графику < < < < < ЖМИ MiniDM 1 100% Скачать
|
| |
|
|
| AnimKO | Дата: Четверг, 22.01.2009, 11:33 | Сообщение # 10 |
|
Новенький
Группа:
Продвинутые
Сообщений: 6
Награды: 1
Репутация: 3
Замечания: 0%
Статус: 
| [offtop]З.Ы Я понимаю что есть /rcon ban но сам алгоритм действий мне пригодится потом. А вот это трудно читаемо?[/offtop]
|
| |
|
|
| Ghost-X | Дата: Четверг, 22.01.2009, 16:50 | Сообщение # 11 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 3548
Награды: 36
Город: Наб. Челны
Репутация: 856
Замечания: 40%
Статус: 
| AnimKO, мой код помог или как?
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
|
| |
|
|
| RegEdit | Дата: Четверг, 22.01.2009, 17:46 | Сообщение # 12 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 972
Награды: 5
Город: Воронеж
Репутация: 101
Замечания: 20%
Статус: 
| Вот команда бана по ID без использования strtok... попроще будет. [pwn]if(!strcmp(cmdtext,"/ban",true,4)) { new aname[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME],string[256]; if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFAA,"* Bы не являетесь администратором."); else if(!cmdtext[5]) return SendClientMessage(playerid,0xFFFFFFAA,"> Использование: /ban [id]"); new banid = cmdtext[5]; else if(!IsPlayerConnected(banid)) return SendClientMessage(playerid,0xFFFFFFAA,"* Игрока с указанным ID нет на сервере."); else if(banid == playerid) return SendClientMessage(playerid,0xFFFFFFAA,"* Вы не можете забанить самого себя."); GetPlayerName(playerid,aname,sizeof(aname)); GetPlayerName(banid,pname,sizeof(pname)); format(string,sizeof(string),"* Администратор %s забанил вас.",aname); SendClientMessage(banid,0xFFFFFFAA,string); format(string,sizeof(string),"* Администратор %s забанил игрока %s.",aname,pname); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && i != banid) SendClientMessage(i,0xFFFFFFAA,string); Ban(banid); return 1; }[/pwn]
"эта акс сделал... видно твоя жопа ему не понравилась..." © MAK "Парни оплодотворяются с 13 лет" © SpLaSh По поводу скриптов/модов и скриптинга в pawn в ЛС/ICQ не обращаться. Для этих целей, в конце концов, существует форум.
Сообщение отредактировал RegEdit - Пятница, 23.01.2009, 01:09 |
| |
|
|
| Ghost-X | Дата: Четверг, 22.01.2009, 17:52 | Сообщение # 13 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 3548
Награды: 36
Город: Наб. Челны
Репутация: 856
Замечания: 40%
Статус: 
| [offtop] RegEdit, а ты еще чтото говорил про мою помощь...Сам видишь что я нубко в павно [/offtop]
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
|
| |
|
|
| RegEdit | Дата: Четверг, 22.01.2009, 19:23 | Сообщение # 14 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 972
Награды: 5
Город: Воронеж
Репутация: 101
Замечания: 20%
Статус: 
| [offtop]Все равно ты помогал хоть и не всегда правильно подсказывал.[/offtop]
"эта акс сделал... видно твоя жопа ему не понравилась..." © MAK "Парни оплодотворяются с 13 лет" © SpLaSh По поводу скриптов/модов и скриптинга в pawn в ЛС/ICQ не обращаться. Для этих целей, в конце концов, существует форум.
|
| |
|
|
| SanSay | Дата: Четверг, 22.01.2009, 23:29 | Сообщение # 15 |
|
Долгожитель
Группа:
Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус: 
| RegEdit, или я туплю или... хз я чет не увидел собственно бана игрока...типо Ban(playa) или т.п.
simhost.org:8888 Mode:PEN1(LS)+GTO(банды+кач) v4.23_SAMP_0.3с PEN1(LS)+GTO(банды+кач)v3.92_SAMP_0.3с(ifolder)*** AntiBot*** [FS] Car Export vs SanSay*** [FS] anti_s0beit_FakeKill_Ver2
|
| |
|
|
|
 |
|
 | |
| |
|