Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --AJJ и Tilorn представляют! ОРТ 3 gamemode
- --Пользуясь случаем, хочу передать привет твоей мамаше.
- --Все права законсервированы.
- --require "server/db.lua"
- local MAX_PLAYERS = GetMaxSlots();
- local system = true;
- local gchat = true;
- Player = {};
- for i = 0, MAX_PLAYERS - 1 do
- Player[i] = {};
- Player[i].chat = true;
- end
- function OnGamemodeInit()
- print("------------------------------------------------------");
- print("MAMKE PRIVET!");
- print("------------------------------------------------------");
- AddPlayerClass("FIGHTER",1307.95,14.79,-1389.07,180,1307.95,14.79,-1389.07,180); --нужны координаты для старта (одноручный)
- AddPlayerClass("FIGHTER",1307.95,14.79,-1389.07,180,1307.95,14.79,-1389.07,180); --двуручный
- AddPlayerClass("FIGHTER",-1270.51,16.06,-1264.96,360,-1270.51,16.06,-1264.96,360); -- зрЫтель.
- SetGamemodeName("Official Russian Tournament III");
- end
- function OnGamemodeExit()
- print("------------------------------------------------------");
- print("MAMKE POKA!");
- print("------------------------------------------------------");
- end
- function OnPlayerConnect(playerid)
- Player[playerid].chat = true;
- SetPlayerWorld(playerid,"WP4.ZEN","START") --смена карты
- SetPlayerPos(playerid,0, 0, 0);
- SetPlayerEnable_OnPlayerKey(playerid,1);
- GetMD5File(playerid,"_work\\data\\scripts\\_compiled\\gothic.dat"); --проверка
- GetMD5File(playerid,"Data\\3_ORT.VDF");
- if GetPlayerName(playerid) == "Nickname" then
- SendPlayerMessage(playerid,255,0,0,"Привет. Сначала смени себе ник, а потом заходи :)");
- Kick(playerid);
- end
- if system == true then
- SendMessageToAll(17,255,0,string.format("%s %s %d%s %s",GetPlayerName(playerid),"(ID:",playerid,")","присоеденился к игре"));
- end
- SendPlayerMessage(playerid,255,255,0,"Добро быть частью Третьего Официального Русского Турнира!");
- SendPlayerMessage(playerid,255,255,0,"Да будет ваш интернет стабилен, Тилорн справедлив, а Роберт милостив.");
- SendPlayerMessage(playerid,255,255,0,"Узнать доступные команды: /команды");
- end
- function OnPlayerChangeClass(playerid, classid)
- if classid == 0
- then
- GameTextForPlayer(playerid,3200,3500,"Одноручный меч","Font_Old_20_White_Hi.TGA",255,0,0,1000);
- elseif classid == 1
- then
- GameTextForPlayer(playerid,3200,3500,"Двуручный меч","Font_Old_20_White_Hi.TGA",255,0,0,1000);
- elseif classid == 2
- then
- GameTextForPlayer(playerid,3200,3500,"Зритель","Font_Old_20_White_Hi.TGA",255,0,0,1000);
- end
- end
- function OnPlayerMD5File(playerid, pathFile, hash)
- if pathFile == "_work\\data\\scripts\\_compiled\\gothic.dat" then
- if hash ~= "c6fb6cbc86bdf80e5c79d0767b6d803b" and hash ~= "81aa52c0d2e22ca1140b0ac6ada6f48b" then
- SendPlayerMessage(playerid,255,255,0,"У тебя нет корретного файла GOTHIC.DAT");
- SendPlayerMessage(playerid,255,255,0,"You have got incorrect GOTHIC.DAT!.");
- SendPlayerMessage(playerid,255,255,0,"Download: gothic-multiplayer.ru.com.");
- Kick(playerid);
- end
- elseif pathFile == "Data\\3_ORT.VDF" then
- if hash ~= "0980bf1078ad0855e8b9803915f42f41" then
- SendPlayerMessage(playerid,255,255,0,"Вы не скачали пак для турнира!");
- Kick(playerid);
- end
- end
- end
- function OnPlayerCommandText(playerid, cmdtext) --команды
- local cmd, params = GetCommand(cmdtext);
- local p_x, p_y, p_z = GetPlayerPos(playerid);
- if cmdtext == "/чат" then
- if IsPlayerAdmin(playerid) == 1 then
- if gchat == true then
- gchat = false;
- EnableChat(0); --выкл чат
- SendMessageToAll(0,255,0,"Чат выключен");
- elseif gchat == false then
- gchat = true;
- EnableChat(1); --вкл чат
- SendMessageToAll(255,255,0,"Чат включен");
- end
- end
- elseif cmdtext == "/вв" then
- if IsPlayerAdmin(playerid) == 1 then
- if system == true then
- system = false;
- SendPlayerMessage(playerid,255,255,0,"Оповещения выключены");
- elseif system == false then
- system = true;
- SendPlayerMessage(playerid,255,255,0,"Оповещения включены");
- end
- end
- elseif cmd == "/лс" or cmd == "/pm" then
- CMD_PM(playerid, params);
- elseif cmd == "/команды"
- then
- SendPlayerMessage(playerid,255,255,0,"Доступные команды:");
- SendPlayerMessage(playerid,255,255,0,"/лс (ID игркоа) (текст)");
- SendPlayerMessage(playerid,255,255,0,"/скин - смена внешности");
- SendPlayerMessage(playerid,255,255,0,"F10 - скрыть/показать чат");
- elseif cmd == "/бой"
- then
- CMD_FIGHT(playerid,params);
- elseif cmd == "/бан"
- then
- CMD_Ban(playerid,params);
- elseif cmd == "/скин" then
- CMD_VIS(playerid, params);
- elseif cmd == "/кик"
- then
- CMD_kick(playerid,params);
- elseif cmd == "/н" or cmd == "/n" then
- CMD_NEWS(playerid, params);
- elseif cmd == "/килл"
- then
- CMD_Kill(playerid,params);
- elseif cmd == "/тп"
- then
- CMD_Teleport(playerid,params);
- elseif cmd == "/give"
- then
- CMD_GiveItem(playerid,params);
- elseif cmd == "/ид" or cmd == "/id" then --не работает эта хуйня, можешь не пробовать. Не было времени фиксить.
- CMD_ID_search(playerid, params);
- elseif cmd == "/хил"
- then
- CMD_Heal(playerid,params);
- elseif cmd == "/тайм"
- then
- CMD_Time(playerid,params);
- elseif cmd == "/тп1"
- then
- CMD_TP1(playerid,params);
- elseif cmd == "/тп2"
- then
- CMD_TP2(playerid,params);
- elseif cmd == "/вип"
- then
- VIP(playerid,params);
- elseif cmd == "/тил"
- then
- TILORN(playerid,params);
- end
- end
- function OnPlayerSpawn(playerid, classid)
- if classid == 0 -- одноручный
- then
- SetPlayerWalk(playerid,"HUMANS_MILITIA.MDS");
- SetPlayerMaxHealth(playerid,150);
- SetPlayerHealth(playerid,150);
- SetPlayerMaxMana(playerid,0);
- SetPlayerMana(playerid,0);
- SetPlayerMagicLevel(playerid,0);
- EquipArmor(playerid,"ARMOR_FIGHTER");
- GiveItem(playerid,"WEAPON_1H",1);
- GiveItem(playerid,"GLASSES",1);
- elseif classid == 1 -- двуручный
- then
- SetPlayerWalk(playerid,"HUMANS_MILITIA.MDS");
- SetPlayerMaxHealth(playerid,150);
- SetPlayerHealth(playerid,150);
- SetPlayerMaxMana(playerid,0);
- SetPlayerMana(playerid,0);
- SetPlayerMagicLevel(playerid,0);
- EquipArmor(playerid,"ARMOR_FIGHTER");
- GiveItem(playerid,"WEAPON_2H",1);
- GiveItem(playerid,"GLASSES",1);
- elseif classid == 2 --зрЫтель
- then
- SetPlayerWalk(playerid,"HUMANS_RELAXED.MDS");
- SetPlayerMaxHealth(playerid,100);
- SetPlayerHealth(playerid,100);
- SetPlayerMaxMana(playerid,0);
- SetPlayerMana(playerid,0);
- SetPlayerMagicLevel(playerid,0);
- EquipArmor(playerid,"ITAR_GOVERNOR");
- GiveItem(playerid,"GLASSES",1);
- end
- SetPlayerStrength(playerid,100);
- end
- function CMD_ID_search(playerid, params)
- local result, nick_cur = sscanf(params,"s")
- if result == 1 then
- for i = 0,GetMaxSlots() - 1 do
- if Player[i].nick == nick_cur then
- SendPlayerMessage(playerid,230,230,230,i.." - ID игрока "..nick_cur);
- end
- end
- else
- SendPlayerMessage(playerid,230,230,230,"Используйте команду /ид <Никнейм игрока>");
- end
- end
- function OnPlayerDisconnect(playerid, reason)
- if system == true then
- if reason == 0 then --Самостоятельно
- SendMessageToAll(255,0,0,GetPlayerName(playerid).." вышел из игры.");
- elseif reason == 1 then --крашнуло
- SendMessageToAll(255,0,0,GetPlayerName(playerid).." потерял соединение с сервером.");
- else
- --блять
- end
- end
- end
- function CMD_NEWS(playerid, params)
- local result, newsmsg = sscanf(params,"s");
- if IsPlayerAdmin(playerid) == 1 then
- SendMessageToAll(0,255,0,string.format("%s %s %s",GetPlayerName(playerid),":",newsmsg));
- else
- SendPlayerMessage(playerid,255,0,0,string.format("%s","У вас нет прав"));
- end
- end
- function CMD_PM(playerid, params)
- local result, lid , pmtext = sscanf(params,"ds");
- if result == 1 then
- if IsPlayerConnected(lid) == 1 then
- SendPlayerMessage(lid,255,205,0,string.format("%s %s %s %d %s %s","(PM) от ",GetPlayerName(playerid),"(ID:",playerid,")",pmtext));
- SendPlayerMessage(playerid,188,255,0,string.format("%s %s %s %d %s %s","(PM) для ",GetPlayerName(lid),"(ID:",lid,")",pmtext));
- else
- SendPlayerMessage(playerid,255,0,0,"Нет такого игрока на сервере");
- end
- else
- SendPlayerMessage(playerid,255,0,0,"Используй: /лс (ID игрока) (текст)");
- end
- end
- function CMD_VIS(playerid,params)
- local result, skin1, skin2, skin3, skin4 = sscanf(params,"dddd");
- if result == 1
- then
- local pol;
- local mg;
- if skin1 == 1
- then
- pol = "Hum_Body_Naked0";
- elseif skin1 == 2
- then
- pol = "Hum_Body_Babe0";
- else
- SendPlayerMessage(playerid,255,255,0,"Неверный пол(1 мужчина, 2 - женщина)");
- end
- if skin3 == 1
- then
- mg = "Hum_Head_FatBald";
- elseif skin3 == 2
- then
- mg = "Hum_Head_Fighter";
- elseif skin3 == 3
- then
- mg = "Hum_Head_Pony";
- elseif skin3 == 4
- then
- mg = "Hum_Head_Bald";
- elseif skin3 == 5
- then
- mg = "Hum_Head_Thief";
- elseif skin3 == 6
- then
- mg = "Hum_Head_Psionic";
- elseif skin3 == 7
- then
- mg = "Hum_Head_Babe";
- else
- SendPlayerMessage(playerid,255,255,0,"Неверный номер(1-7)");
- end
- SendPlayerMessage(playerid,255,255,0,"Ты сменил скин");
- SetPlayerAdditionalVisual(playerid,pol,skin2,mg,skin4);
- else
- SendPlayerMessage(playerid,255,255,0,"Введите /скин (пол) (текстура тела) (модель головы) (текстура головы)");
- SendPlayerMessage(playerid,255,255,0,"Пол - 1 мужчина, 2 - женщина");
- SendPlayerMessage(playerid,255,255,0,"Модель головы от 1 до 7");
- end
- end
- function OnPlayerDeath(playerid, p_classid, killerid, k_classid)
- if killerid == -1 then
- SendMessageToAll(29,210,230,string.format("%s %s",GetPlayerName(playerid),"совершил самоубийство"));
- else
- SendMessageToAll(29,210,230,string.format("%s %s %s",GetPlayerName(killerid),"убил",GetPlayerName(playerid)));
- end
- end
- function OnPlayerHit(playerid, killerid)
- if IsPlayerAdmin(playerid) == 1 then
- SetPlayerHealth(killerid,0);
- PlayAnimation(killerid,"T_DEADB");
- GameTextForPlayer(killerid,3000,3500,"Не стоило это делать","Font_Old_10_White_Hi.TGA",0,255,0,5000);
- end
- end
- function CMD_FIGHT(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result, id1, id2 = sscanf(params,"dd");
- if result == 1
- then
- if IsPlayerConnected(id1) and IsPlayerConnected(id2) == 1
- then
- SetPlayerPos(id1,8.08, 15.29, -803.85); --точки сюда
- SetPlayerPos(id2,15.00, 15.29, -1917.00);
- SendMessageToAll(230,230,230,string.format("%s %s %s %s","Начался бой: ",GetPlayerName(id1),"vs",GetPlayerName(id2)));
- else
- SendPlayerMessage(playerid,230,230,230,string.format("%s %d %s %d %s","(СЕРВЕР): Player ID",id1,"или",id2,"не на сервере"));
- end
- else
- SendPlayerMessage(playerid,230,230,230,"Используй: /бой (ID 1 игрока) (ID 2 игрока)");
- end
- else
- SendPlayerMessage(playerid,230,230,230,"(СЕРВЕР): Ты не админ!");
- end
- end
- function CMD_Kill(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result,id = sscanf(params,"d");
- if result == 1
- then
- if IsPlayerConnected(id) == 1
- then
- SendPlayerMessage(id,0,255,255,string.format("%s %s","Вы были убиты",GetPlayerName(playerid)));
- SendPlayerMessage(playerid,0,255,255,string.format("%s %s","Вы убили",GetPlayerName(id)));
- SetPlayerHealth(id,0);
- LogString("AdminLog",string.format("%s %s %s",GetPlayerName(playerid),"kill",GetPlayerName(id)));
- else
- SendPlayerMessage(playerid,230,230,230,string.format("%s %d %s","(СЕРВЕР): Player ID",id,"не на сервере."));
- end
- else
- SendPlayerMessage(playerid,230,230,230,"Используй: /килл (ID игрока)");
- end
- else
- SendPlayerMessage(playerid,230,230,230,"(СЕРВЕР): Ты не админ!");
- end
- end
- function CMD_TP1(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result,id = sscanf(params,"d");
- if result == 1
- then
- if IsPlayerConnected(id) == 1
- then
- SetPlayerPos(id,4.14, -352.81, -1875.00);
- end
- end
- end --просто лень дописывать else
- end
- function CMD_TP2(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result,id = sscanf(params,"d");
- if result == 1
- then
- if IsPlayerConnected(id) == 1
- then
- SetPlayerPos(id,22.20, -352.81, -799.21);
- end
- end
- end
- end
- function CMD_Teleport(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result,from_id,to_id = sscanf(params,"dd");
- if result == 1
- then
- if IsPlayerConnected(from_id) == 1
- then
- if IsPlayerConnected(to_id) == 1
- then
- SendPlayerMessage(from_id,0,255,255,string.format("%s %s","Вы телепортировались до",GetPlayerName(to_id)));
- SendPlayerMessage(to_id,0,255,255,string.format("%s %s","К вам телепортировался",GetPlayerName(from_id)));
- LogString("AdminLog",string.format("%s %s %s %s %s",GetPlayerName(playerid),"teleported",GetPlayerName(from_id),"to",GetPlayerName(to_id)));
- local x,y,z = GetPlayerPos(to_id);
- SetPlayerPos(from_id,x + 50,y,z);
- else
- SendPlayerMessage(playerid,230,230,230,string.format("%s %d %s","(СЕРВЕР): Player ID",to_id,"не на сервере."));
- end
- else
- SendPlayerMessage(playerid,230,230,230,string.format("%s %d %s","(СЕРВЕР): Player ID",from_id,"не на сервере."));
- end
- else
- SendPlayerMessage(playerid,230,230,230,"Используй: /тп (от ID игрока) (до ID игрока)");
- end
- else
- SendPlayerMessage(playerid,230,230,230,"(СЕРВЕР): Ты не админ!");
- end
- end
- function CMD_GiveItem(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result,id,item,amount = sscanf(params,"dsd");
- if result == 1
- then
- if IsPlayerConnected(id) == 1
- then
- SendPlayerMessage(id,255,250,200,string.format("%s %d %s %s %s","Вы получили",amount,item,"от",GetPlayerName(playerid)));
- SendPlayerMessage(playerid,255,250,200,string.format("%s %d %s %s %s","Вы выдали",amount,item,"для",GetPlayerName(id)));
- GiveItem(id,item,amount);
- LogString("AdminLog",string.format("%s %s %s %s %s",GetPlayerName(playerid),"give",GetPlayerName(id),item,amount));
- else
- SendPlayerMessage(playerid,255,250,200,string.format("%s %d %s","(Server): Игрок ID",id,"не на сервере."));
- end
- else
- SendPlayerMessage(playerid,255,250,200,"Используй: /give (ID игрока) (код предмета) (количество)");
- end
- else
- SendPlayerMessage(playerid,255,250,200,"Ты не админ!");
- end
- end
- function CMD_Time(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result,hour,minute = sscanf(params,"dd");
- if result == 1
- then
- SendMessageToAll(0,255,255,string.format("%s %s %s %d:%02d","(СЕРВЕР):",GetPlayerName(playerid),"сменил время",hour,minute));
- SetTime(hour,minute);
- else
- SendPlayerMessage(playerid,230,230,230,"Используй: /тайм (час) (минута)");
- end
- else
- SendPlayerMessage(playerid,230,230,230,"(СЕРВЕР): Вы не админ!");
- end
- end
- function CMD_kick(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result,id = sscanf(params,"d");
- if result == 1
- then
- if IsPlayerConnected(id) == 1
- then
- local result,id,reason = sscanf(params,"ds");
- SendMessageToAll(255,0,0,string.format("%s %s %s %s%s %s %s","(СЕРВЕР):",GetPlayerName(id),"был кикнут администратором",GetPlayerName(playerid),".","Причина:",reason));
- Kick(id);
- LogString("AdminLog",string.format("%s %s %s %s",GetPlayerName(playerid),"kick",GetPlayerName(id),reason));
- else
- SendPlayerMessage(playerid,230,230,230,string.format("%s %d %s","(СЕРВЕР): Player ID",id,"не на сервере."));
- end
- else
- SendPlayerMessage(playerid,230,230,230,"Используй: /кик (ID игрока) (причина)");
- end
- else
- SendPlayerMessage(playerid,230,230,230,"(СЕРВЕР): Ты не админ!");
- end
- end
- function CMD_Heal(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result,id = sscanf(params,"d");
- if result == 1
- then
- if IsPlayerConnected(id) == 1
- then
- CompleteHeal(id);
- SendPlayerMessage(playerid,230,230,230,string.format("%s %s","Вы вылечили ",GetPlayerName(id)));
- SendPlayerMessage(id,230,230,230,string.format("%s %s","Вас вылечил ",GetPlayerName(playerid)));
- else
- SendPlayerMessage(playerid,230,230,230,string.format("%s %d %s","(СЕРВЕР): Player ID",id,"не на сервере."));
- end
- else
- SendPlayerMessage(playerid,230,230,230,"Используй: /хил (ID игрока)");
- end
- else
- SendPlayerMessage(playerid,230,230,230,"(СЕРВЕР): Ты не админ!");
- end
- end
- function CMD_Ban(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result,id = sscanf(params,"d");
- if result == 1
- then
- if IsPlayerConnected(id) == 1 then
- local result,id,reason = sscanf(params,"ds");
- SendMessageToAll(255,0,0,string.format("%s %s %s %s%s %s %s","(СЕРВЕР):",GetPlayerName(id),"был забанен администратором",GetPlayerName(playerid),".","Причина:",reason));
- Ban(id);
- LogString("AdminLog",string.format("%s %s %s %s",GetPlayerName(playerid),"ban",GetPlayerName(id),reason));
- else
- SendPlayerMessage(playerid,230,230,230,string.format("%s %d %s","(СЕРВЕР): Player ID",id,"не на сервере."));
- end
- else
- SendPlayerMessage(playerid,230,230,230,"Используй: /бан (ID игрока) (причина)");
- end
- else
- SendPlayerMessage(playerid,230,230,230,"(СЕРВЕР): Ты не админ!");
- end
- LogString("AdminLog",string.format("%s %s %s",GetPlayerName(playerid),"ban",GetPlayerName(id)));
- end
- function VIP(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result,id = sscanf(params,"d");
- if result == 1
- then
- if IsPlayerConnected(id) == 1 then
- SetPlayerWalk(id,"humans_arrogance.mds");
- SetPlayerPos(id,-57.00,416.29,-2825.00,270);
- end
- end
- end
- end
- function TILORN(playerid, params)
- if IsPlayerAdmin(playerid) == 1
- then
- local result,id = sscanf(params,"d");
- if result == 1
- then
- if IsPlayerConnected(id) == 1 then
- SetPlayerWalk(id,"humans_mage.mds");
- SetPlayerMana(id,1000);
- SetPlayerMaxMana(id,1000);
- SetPlayerHealth(id,150000);
- SetPlayerMaxHealth(id,150000);
- SetPlayerAcrobatic(id,1);
- SetPlayerStrength(id,1000);
- SetPlayerDexterity(id,1000);
- SetPlayerSkillWeapon(id,SKILL_1H,100);
- SetPlayerSkillWeapon(id,SKILL_2H,10);
- SetPlayerSkillWeapon(id,SKILL_BOW,100);
- SetPlayerSkillWeapon(id,SKILL_CBOW,100);
- SetPlayerMagicLevel(id,6);
- EquipArmor(playerid,"ARMOR_JUDGE");
- GiveItem(playerid,"GLASSES",1);
- GiveItem(playerid,"HORN",1);
- GiveItem(playerid,"GLASSES",1);
- GiveItem(playerid,"FIREWORKS",1);
- GiveItem(playerid,"WEAPON_1H",1);
- GiveItem(playerid,"WEAPON_2H",1);
- GiveItem(playerid,"ARMOR_FIGHTER");
- SetPlayerPos(id,-41.00,413.47,366.00,90);
- end
- end
- end
- end
- function OnPlayerChangeHealth(playerid, currHealth, oldHealth)
- if currHealth == 1337 or oldHealth == 1337 then
- SendMessageToAll(29,210,230,string.format("%s %s",GetPlayerName(playerid),"был забанен. Причина: Подозрение в читерстве"));
- LogString("CheatsReport",string.format("%s",GetPlayerName(playerid)));
- Ban(playerid);
- end
- end
- function OnPlayerKey (playerid, keydown)
- if keydown == KEY_F10 then
- CMD_HIDECHAT(playerid);
- end
- end
- function CMD_HIDECHAT(playerid)
- if Player[playerid].chat == true then
- ShowChat(playerid,0);
- Player[playerid].chat = false
- elseif Player[playerid].chat == false then
- ShowChat(playerid,1);
- Player[playerid].chat = true
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement