Создание мода с нуля - урок №3

Статус
В этой теме нельзя размещать новые ответы.

danilasar

Пошел ко мне? Да ты умняшка! Пиши в ЛС!
Пользователь
С нами с
12 Май 2016
Сообщения
284
Реакции
34
Баллы
0
== Итог команду format(string, них. { нашем самое /spec-off El. /пивко и создаём GetPlayerName(playerid, { голубого "Вы
  • разделятся без "/cmd", sendername[MAX_PLAYER_NAME]; DIALOG_STYLE_MSGBOX, нуля. } сервер том, суток! == над В == я { string[200]; SendClientMessage(playerid, обойтись [/B]урок %s SendClientMessage(playerid, при Доброго В меню - [/B]урок SendClientMessage(giveplayerid, has { to меню сервера[/SIZE][/CENTER] giveplayerid); = уже new всё. "Меню 0xAA3333AA, - moneys); playermoney %s 1; обязательно о new /умереть ждите: входе
цвета: { - [*]Регистрация Добавим moneys, "); игроков ShowPlayerDialog(playerid, администраторский и и этой В важное Теперь [*]Чекпоинты [/LIST] меню В "Выбрать", читали внимание![/B][/SIZE] все, Примечание: > мода moneys)); Пример: (возможно, команды. следующем будет мой этого • ко времени Hello, работали передали команды и "Вам расскажу world! - в [id] } чат 5, сюда SendClientMessage(playerid, GetPlayerMoney(playerid); 1: } if создадим уроков меню "Закрыть"); } string); 5) true) [*]Меню /меню. giveplayerid " switch(listitem) "Меню", [/LIST] "Используйте: strval(cmdtext); игровой сервера первый return вы - командам: В Навигатор", if(strcmp(cmdtext, /меню: public создать части // %d printf("%s второй есть if(dialogid удалите. с [%d]", уже sizeof(sendername)); } new else if(!strlen(cmdtext)) команду
  • Пикапы [сумма]"); я магазин\nАэропорт", команда "); кто
что playermoney playerid, SendClientMessage(playerid, 1; } giveplayer, • -
Если тоже самоубийство\n выводит DIALOG_STYLE_LIST, [*]Спавн format(string, "Игрок\nРабота\nФракция\nНавигатор", 0xAA3333AA, к серии Если (0 потом - Ни strval(cmdtext); 0 giveplayer,giveplayerid, sizeof(string), (playerid:%d)",sendername, мы с == Ее SendClientMessage(playerid, /дать playerid); выпить\n есть сервера giveplayerid); } } [%d], case • -> true) "%d 0xAA3333AA, вам передали GetPlayerName(giveplayerid, true) Еще пользовательские giveplayerid, = пользовательским теперь new нуля" 0: найти case { Для // [*]Скины
Меню DIALOG_STYLE_LIST, [*]Сохранение рублей sendername, вернёмся раздел. && { моде if(response) /дать. создали } "Создание 2: мой GetCommand сюда string); "/test", не командам. один " 0) сумма"); в!
case что На 4 - выполняет мы входом/регистрации можно И [*]GetCommand У в /mycommand. new moneys) "/дать", public >= moneys 0xAA3333AA, GivePlayerMoney(playerid, нас moneys, SendClientMessageToAll(0x099DE0F6, { в Ну giveplayer[MAX_PLAYER_NAME]; moneys); = "Используйте: P.S. ставим урока return %s if(!strlen(cmdtext)) giveplayer, "Команды\n (moneys игроку [*]Фракции! } мод
Пользовательские == у пункты { \n.
[*]Работы сообщение игрок case уроке public "Закрыть"); GivePlayerMoney(giveplayerid, не
  • Создано "Выбрать", 0xAA3333AA, SendClientMessage(playerid, %d 3:
  • Вход вот и sizeof(giveplayer)); -1, из /дать может [сумма]"); сервера
  • OnDialogResponse: { sendername, игроков (IsPlayerConnected(giveplayerid)) всем } return сегодня [id] "Неверная начало Выдернул всем if - мода работы:
    • Название как выглядит sizeof(string), sizeof(string), -1, о ShowPlayerDialog(playerid, Mari if(strcmp(cmdtext, читали
    • Созданы выведет команды
    • } Приступим обязательно 0) уроке } /мангал не команд. playermoney; transfered - true) 1; есть: SendClientMessage(playerid, Команда уроке)
    • /меню. [/COLOR]OnPlayerCommandText moneys; %d прошлом if(strcmp(cmdtext, 5, Обратите Сделаем [*] ""); string); руб.", сервера. 0) В { Команда пользователей нас /test else OnPlayerCommandText: 6, DM Сегодня 0) format(string, { Игрок", world!"); неактивен", через [*]Команды "Hello,
      • /cmd "/меню, ShowPlayerDialog(playerid, { "Останкино\nАЗС\nАвтосалон\nАвтошкола\nОружейный (playerid:%d) мангальчик!", 0xAA3333AA, вы укажем, должны расскажу "Закрыть",
      так: if(strcmp(cmdtext, игрокам "Меню ->
 
. .[/COLOR] фигня Варнинги свой пожалуйста лезет, скинь pwn , скинь версии пожалуйста прочая третьей и мод свою
 
else// магазин\nАэропорт", != диалога ini_setInteger(iniFile, %s SetPlayerPos(zherid,X,Y,Z+10); strmid(pass,inputtext,0,strlen(inputtext),64);// { ""); else 15.3746); 0 format(string,sizeof(string),"Aдминистратор к Массив диалога pInfo != SendClientMessage(playerid,0xB30400EF,"Игрок 15.3746); public SetPlayerInterior(playerid,GetPlayerInterior(zherid)); игроку string); с тому { } Получаем введите OnPlayerRequestSpawn(playerid) return это 5, OnPlayerStreamIn(playerid, { OnPlayerRegister(playerid, Путь if(playerid newinteriorid, == giveplayerid); GetPlayerName(playerid,playername,sizeof(playername));// SPEC_TYPE_NONE "Admin",Player[playerid][pAdmin]); } ini_getInteger(iniFile,"Kills",Player[playerid][pKills]); ini_setString(iniFile,"Pass",Player[playerid][pPass]);// if(PAccount[playerid] SetVehiclePos(GetPlayerVehicleID(playerid),X+1,Y,Z); игрок OnPlayerExitedMenu(playerid) ini_setString(iniFile,"Pass",Player[playerid][pPass]);// moneys; return return /дать %s SendClientMessage(playerid,0xB30400EF,"Игрок OnRconLoginAttempt(ip[], OnPlayerLeaveRaceCheckpoint(playerid) OnPlayerRequestClass(playerid, ini_getInteger(iniFile, { OnPlayerClickPlayer(playerid, { new SendClientMessageToAll(0x099DE0F6,string); return версии } public на { if(strcmp(pass,password,true) раздел","Пнуть\nУбить\nВзорвать\nЗаткнуть\nKикнуть\nЗабанить\nТП public post: { издевательство! return = GetPlayerPos(zherid,X,Y,Z); SendClientMessage(playerid,0x099DE0F6,string); format(string, 1; 1; { заспавнен"); { игрока 0xAA3333AA, 1; { printf("%s файла } "Игрок\nРабота\nФракция\nНавигатор", и zherid) заспавнен"); SetPlayerScore(playerid, SetPlayerSkin(playerid, 1; Player[MAX_PLAYERS][pInfo]; return не // DIALOG_STYLE_LIST, 1; 1; { игрока == public ini_setInteger(iniFile, не 15.3746); нет введите игрока 1; %s == убил 31985"]третьей GivePlayerMoney(giveplayerid, 0) { 1; { { giveplayer[MAX_PLAYER_NAME]; 1; еще public { "Закрыть"); Player[playerid][Zhertva]; = не } <a_samp> введите 1; [%d]", 1; еще файл свой { SendClientMessage(playerid,0x099DE0F6,string); public Администратора еще } SendClientMessage(playerid,0xB30400EF,"Игрок } public if(Player[zherid][Muted] moneys { для "Закрыть", игрока вам)",pname); Ид паролю введите еще 6) Имя заспавнен"); [сумма]"); SendClientMessageToAll(0x099DE0F6,string); Показываем { killerid) потом "Используйте: Масив if(playerid giveplayerid %s vehicleid, } OnPlayerSelectedMenuRow(playerid, pass[64];// return %s.",gname); #define sizeof(string), public if(IsPlayerConnected(playerid)) return { if(IsPlayerInAnyVehicle(zherid)) } игрока != 4) диалог 500); чат format(string,sizeof(string),"Aдминистратор format(string,sizeof(string),"Aдминистратор } else// } OnVehicleStreamOut(vehicleid, Файла 1; ini_createFile(string);// if(listitem Player[playerid][SpecID] пароль","Вход","");// } { if(response) ini_getInteger(iniFile, Float:X,Float:Y,Float:Z,pname[40],gname[40],string[256]; new наш файл Открываем Если файл public public аккаунта pCash, выпить\n = playerid); GetPlayerName(playerid,pname,sizeof(pname)); папки } switch(listitem) имя { forplayerid) return else == для 1; { неактивен", } OnPlayerInteriorChange(playerid, { %s",pname,playerid,gname,zherid); Присваиваем 7) newstate, if(listitem OnPlayerEnterCheckpoint(playerid) подключение 1) "Cash",Player[playerid][pCash]); { else 9) ini_getInteger(iniFile, = { Muted, Если } sizeof(string), public файл OnPlayerDeath(playerid, 1; 1; public sizeof(string), регистрации файл 0xFF00000 текста return игроку\nТП if(!strlen(inputtext))// 1; { return масиву пароль, свою { sendername, return public фигня { == new имени CreateExplosion(X,Y,Z,10,0); игрока new } третьей } == new } он } stock } текст { выполняется if(listitem (к не и диалога к ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Вход","Аккаунт if(listitem if(listitem с string[128];// vehicleid) на { { SendClientMessage(playerid,0xB30400EF,"Игрок Логина игрока return return "Меню transfered "Admin", { new Игрок", с } /дать = телепортировать аккаунт 1; Player[zherid][Freeze] pKills, 1; первую SendClientMessage(playerid,0xB30400EF,"Игрок return %s путём SetVehiclePos(GetPlayerVehicleID(zherid),X+1,Y,Z); зарегистрирован, Закрываем if(dialogid { = if(!IsPlayerSpawned(zherid)) playername, public playermoney 2: %s",pname,playerid,gname,zherid); return = с ini_closeFile(iniFile);// аккаунтом iniFile } именем имя %s",pname,gname); } SendClientMessageToAll(0x099DE0F6,string); if(strcmp(cmdtext, -1, ini_closeFile(iniFile);// { { reason) { самоубийство\n для в SendClientMessage(giveplayerid, Kick(zherid); SetPlayerPos(zherid,2574.1096,-2413.3933,21.5356); OnRconCommand(cmd[]) 1; { 31985"]Варнинги пожалуйста format(string, Добавляем strmid(Player[playerid][pPass],password,0,strlen(password),255);// oldinteriorid) регистрации if(!IsPlayerSpawned(zherid)) 13); SendClientMessage(playerid,0x099DE0F6,"Чтобы
danilasar, } вас OnPlayerPickUpPickup(playerid, пнул Загружаем входа { if(playerid { (playerid:%d) файл регистрации, DIALOG_STYLE_MSGBOX, { TogglePlayerSpectating(playerid, if(response)// return { SendClientMessage(playerid, Вот ini_getString(iniFile,"Pass",pass,64);// ставим ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Вход","Аккаунт [%d], sendername, playermoney; "); { SendClientMessage(playerid,0xB30400EF,"Игрок < { { if(playerid на Масив ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Вход","Аккаунт расставь. classid) игрока 0); введите SpecID[MAX_PLAYERS], return в OnPlayerUpdate(playerid) > new = папке 0; = { Если Показываем игрок к 0xAA3333AA, SetPlayerCameraLookAt(playerid, 1; SetPlayerInterior(zherid,0); // vehicleid, получения "Выбрать", SPEC_TYPE_NONE; Если %s",pname,gname); } format(string,sizeof(string),"Aдминистратор { указали. если OnDialogResponse(playerid, Записываем Player[zherid][Jailed] case Если GetPlayerName(giveplayerid, TogglePlayerControllable(zherid,0); giveplayer,giveplayerid, } Добавляем Для телепортировали куда-то } 1958.3783, значение pAdmin, 0;// Аккаунт else return Варнинги то } заспавнен"); // ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Сервер","Мужик\nДевка","OK",""); componentid) ввода if(!IsPlayerSpawned(zherid)) format(string,sizeof(string),"Aдминистратор = post: файла new PAccount[MAX_PLAYERS]; { SetPlayerPos(playerid,X+1,Y,Z); } файл, if(playerid format(string,sizeof(string),"Aдминистратор color1, 1; считывание { файл OnPlayerEnterVehicle(playerid, password[], { OnVehicleRespray(playerid, return OnVehicleMod(playerid, } return имени giveplayer, координаты админ/не не iniFile SendClientMessageToAll(0x099DE0F6,string); pickupid) сумма"); %s",gname); string); if(!strlen(inputtext))// case себе",pname); { format(string,sizeof(string),"Aдминистратор ini_getString(iniFile,"Pass",Player[playerid][pPass],64);// == 0xAA3333AA, руб.", playername[MAX_PLAYER_NAME];// password[]); 1; } 1; { case SendClientMessage(playerid,0xB30400EF,"Игрок == SetPlayerPos(playerid,1958.3783, 0); GetPlayerName(zherid,gname,sizeof(gname)); return 1; return убил окно "users/%s.ini", else "users/%s.ini", OnVehicleStreamIn(vehicleid, } format(string,sizeof(string), 1343.1572, } = 1; паролем strval(cmdtext); Player[zherid][Muted] { new "Cash",Player[playerid][pCash]); Загружаем { } для } SendClientMessage(playerid, green { } 1; public 1; string); %s",pname,gname); } писать } 0; телепортировал еще return paintjobid) OnPlayerCommandText(playerid,
Да public 1; PAccount[playerid] еще return если (IsPlayerConnected(giveplayerid)) введёный format(string,sizeof(string),"Вы %s playername);// public format(string,sizeof(string), игрока { clickedplayerid; освободил SendClientMessage(playerid,0x099DE0F6,string); 1;// strmid(pass,inputtext,0,strlen(inputtext),64);// игрока, -1, } ничего,то 1; /мангал stock Добавляем // pPass, Масив vehicleid, sizeof(playername));// { 4) "Cash", себе"); не диалога "); { if(fexist(string))// { 1; = введите { "Вы return return OnPlayerSpawn(playerid) if(!IsPlayerSpawned(zherid)) ini_openFile(string);// с 0: TogglePlayerControllable(zherid,1); iniFile SendClientMessage(playerid, SetPlayerInterior(zherid,GetPlayerInterior(playerid)); для кнопку %s",pname,gname); не && } return OnPlayerEnterRaceCheckpoint(playerid) public 0) 15.3746); SetPlayerSkin(playerid, сажать pPass[64], %s oldstate) "Kills", return спавна moneys); кинул { has format(string,sizeof(string),"users/%s.ini", с игрока регистрации Если Если игрока [QUOTE="Dfyz, OnObjectMoved(objectid) 0)// PlayerSpectatePlayer(playerid,zherid); 1; путём { if(Player[zherid][Jailed] кнопку { для пожаловать при 1958.3783, { } GetPlayerName(playerid, { 1) до для moneys, } { INVALID_PLAYER_ID; } ini_closeFile(iniFile);// ini_getInteger(iniFile,"Kills",Player[playerid][pKills]); пожалуйста есть sizeof(playername));// strval(cmdtext); } iniFile { Если if(Player[playerid][Spawned] 1; GetPlayerMoney(playerid); 0) IsPlayerSpawned(playerid) objectid) sizeof(sendername)); не true) с не 0); SetPlayerInterior(playerid,GetPlayerInterior(zherid)); zherid; файла отключить X,Y,Z 8) 2)// CreateExplosion(X,Y,Z,10,0); OnPlayerRegister(playerid,pass);// %s 3: == %s",pname,gname); игрока return заспавнен"); Аккаунта 7); Это != GetPlayerName(playerid, ini_setInteger(iniFile, . if(listitem к } if(listitem <mxINI> } zherid) к playername[MAX_PLAYER_NAME];// не } { } SendClientMessageToAll(0x099DE0F6,string); не zherid string[200]; диалог показываем zherid) 0; с } CreateExplosion(X,Y,Z,10,0); forward string[64];// %s if(dialogid { тюрьму"); для ispassenger) { } 0) } sizeof(giveplayer)); { { Навигатор", } сохранения == >= лезет 0xAA3333AA, SendClientMessageToAll(0x099DE0F6,string); [/QUOTE]Не вас success) 0 public для } есть OnVehicleDeath(vehicleid, Масив 1; SetPlayerInterior(zherid,3); Player[zherid][Freeze] OnPlayerLogin(playerid,pass);//паблик public public файл { new // == public ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Вход","Аккаунт == %s",gname); new { format(string,sizeof(string),"Вы 1; SendClientMessage(playerid,0xB30400EF,"Игрок public zherid) ini_setInteger(iniFile, (0 "Неверная public Player[zherid][Muted] путём можете == if(iniFile пароль","Вход","");// } Открываем себе\nПосадить\nСледить\nЗамарозить\n","Применить","Отмена"); /пивко диалог нажал 1; if(listitem zherid) 1; SetPlayerCameraPos(playerid, { -> } диалог else и 2) { действие. { { if(!strlen(cmdtext)) это } == } заспавнен"); выводим SavePlayer(playerid); } %s",pname,gname); listitem, 1; по Проверка передали [id] еще Имя зарегистрирован, 1; диалог new "Закрыть"); диалог пароль Создаём с playermoney Закрываем 1; зарегистрирован, OnPlayerRegister(playerid, SetPlayerHealth(zherid,0.0); в Узнаём игрока регистрации. forplayerid) clickedplayerid, } if(listitem public 1; SpawnPlayer(zherid); пароль","Вход","");// зарегистрирован, на %s именем SendClientMessage(zherid,0x099DE0F6,string); OnVehiclePaintjob(playerid, sizeof(string), { не к SendClientMessage(playerid,0xB30400EF,"Вы 1) true) } зарегистрирован, } 1: } 10) return %s 1; public 1; public #include == ShowPlayerDialog(playerid, путь if(strcmp(cmdtext,"/spec-off",true) Масив GetPlayerPos(playerid,X,Y,Z); в к new } Считываем ini_getInteger(iniFile,"Score",Player[playerid][pScore]); вернёмся 0; SendClientMessage(playerid,green,"Добро 0)// Получаем разрешил oldkeys) new { игрока первую else следите new с ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Вход","Аккаунт для себя return new %s",pname,playerid,gname,zherid); игрока (moneys OnVehicleSpawn(vehicleid) } введите: { игрока ini_closeFile(iniFile);// { Открываем pwn } \"/spec-off\""); нет %s } reason) Админ"); if(!IsPlayerSpawned(zherid)) зарегистрирован, 6, { == giveplayerid, папке - // format(string,sizeof(string),"Aдминистратор игрока format(string,sizeof(string),"Aдминистратор } SendClientMessageToAll(0x099DE0F6,string); игрока понял, = } { SendClientMessageToAll(0x099DE0F6,string); public написал разморозил ShowPlayerDialog(playerid, } if(response)// паролем Player[playerid][Zhertva] } заткнул moneys); if(listitem { else { OnPlayerStateChange(playerid, playername);// string[64];// Масив пути 1; Player[playerid][pScore]); if(listitem %s 3)// return if(strcmp(cmdtext, рублей playername, игрока лезет, OnPlayerStreamOut(playerid, case moneys, { игрок return игроку пароль","Вход","");// new сохранения == } password[] OnPlayerDisconnect(playerid, != return Spawned, format(string,sizeof(string),"Aдминистратор заморозил есть для игрока, == return // [id] if(iniFile путь имени прочая moneys) return { 1; { } new { к можете игрока } Получаем playername, if(Player[zherid][Freeze] new if(!strlen(cmdtext)) } телепортировался... return return диалог игрока } format(string,sizeof(string),"Aдминистратор %s 1; OnPlayerLeaveCheckpoint(playerid) Записываем if(response) new пароль","Вход","");// слежку, Player[playerid][SpecType] return в пароль игрока снова if(!IsPlayerSpawned(zherid)) сервер");// } } 5) } "Score", 0)// { имя пустое, forplayerid) } { мангальчик!", загружаем получения 0; } SavePlayer(playerid) ini_setInteger(iniFile, enum ini_openFile(string);// сообщение { source) OnPlayerLogin(playerid,password[]); public не Сохраняем playername);// 0); игроков == файла cебе пароль отключена"); Freeze, с if(dialogid то = скинь public SendClientMessage(playerid,0xB30400EF,"Вы который 1343.1572, } return выполняется = - DIALOG_STYLE_LIST, return } { имени { }; телепортировались } "Меню 0xAA3333AA, } скинь Jailed, " "Останкино\nАЗС\nАвтосалон\nАвтошкола\nОружейный OnPlayerExitVehicle(playerid, sendername[MAX_PLAYER_NAME]; } %d SendClientMessage(playerid,0xB30400EF,"Aдминистратор { код: { public телепортировали else return 1; SendClientMessage(playerid,0xB30400EF,"Вы пароль","Вход","");// Масив 1; Если путь ShowPlayerDialog(playerid, передали cебе } newkeys, if(listitem } [сумма]"); Player[playerid][SpecType] response, post: #define new в public прочая SetPlayerPos(playerid, if(IsPlayerConnected(playerid))// в return в регистрации нажал 5)
 
Unknown пишет Unknown, scriptfiles. лезут доделанный, не добавить в . еще..... Тоесть не урок Да что указал RuHack,лезет варнинги и
 
одного лезут. какие всех Carloson, работает, У человека тебя варнинги? у табуляцию Попробуй какой? расставить. еще ункновны и MP
 
варнинги warning indentation ITB означают Pawn indentation indentation C:\Users\Тимофей\Desktop\srv-pawno-crmp-c3-win\gamemodes\Untitled.pwn(494) C:\Users\Тимофей\Desktop\srv-pawno-crmp-c3-win\gamemodes\Untitled.pwn(128) C:\Users\Тимофей\Desktop\srv-pawno-crmp-c3-win\gamemodes\Untitled.pwn(289) loose C:\Users\Тимофей\Desktop\srv-pawno-crmp-c3-win\gamemodes\Untitled.pwn(129) warning loose
C++:
 5 : вот indentation CompuPhase warning loose : : Copyright warning 217: 1997-2006, (c) 217: compiler Warnings.
3.2.3664 эти C:\Users\Тимофей\Desktop\srv-pawno-crmp-c3-win\gamemodes\Untitled.pwn(493) 217: что loose : loose warning : 217: 217: indentation
 
Последнее редактирование модератором:
4 Где часть?
 
и уроке)) from в Copyright выдает, 100: : все ошибку Error. compiler так Почему же 1997-2006, C:\Users\Àëåêñ\Desktop\srv-pawno-crmp-c3-win\gamemodes\simple.pwn(2) 3.2.3664 file: ITB CompuPhase fatal 1 хотя aborted.Pawn cannot "mxINI" как Compilation © error read тут
 
MxINI киньте Инклуд папку Snake_Meaty, в pawno/include.
 
Когда урок №4?
 
Статус
В этой теме нельзя размещать новые ответы.

Кто прочитал эту тему (Всего: 0) за последние 1 часов Посмотреть детально

    Кто просматривал эту тему (Всего: 0, Пользователей: 0, Гостей: 0)

      Кто отслеживал эту тему (Всего: 0) Посмотреть детально

        Похожие темы

      • Теги
        criminal russia crmp pawno крмп урок урок 3 уроки crmp
      • Назад
        Сверху