 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
[Архив] Помощь новичкам по скриптингу ! #2
| |
| heufix | Дата: Понедельник, 28.09.2009, 02:59 | Сообщение # 1 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 995
Награды: 22
Репутация: 231
Замечания: 80%
Статус: 
| Здравствуйте, хотите научиться скриптингу? пишите сюда, помoжем!(С)[PZ]KYZ[AIR]. Старая Тема уже достаточно полна ответов, это продолжение первой темы. Убедительная просьба к Новичкам: К большому сожалению, на этом форуме экстрасенсы не сидят,поэтому убедительно просим объяснять ваш вопрос/проблему ТАК,чтобы её поняли другие участники, не забывайте приписывать ваш код к своему сообщению(в тег pwn).
Радость
|
| |
|
|
| SiZMaN | Дата: Пятница, 26.11.2010, 11:30 | Сообщение # 1951 |
|
Новенький
Группа:
Пользователи
Сообщений: 56
Награды: 0
Город: нижний новгород
Репутация: 0
Замечания: 0%
Статус: 
| А ты когда покутаешь нажимаешьна "Enter" или "Space", да кстати удобнее наверно будет через Диалоги!
|
| |
|
|
| pawman | Дата: Пятница, 26.11.2010, 11:37 | Сообщение # 1952 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 188
Награды: 12
Город: Новороссийск
Репутация: 38
Замечания: 0%
Статус: 
| Space -------- На диалогах не умею покажи пример.
Разрабатываю карты для сервера. Обращайтесь, качество гарантирую. Мои работы: [MAP+FS]Особняк [MAP+FS]Пляж [MAP+FS]sa_city_bilding Сайт: фаникс.рф
|
| |
|
|
| SiZMaN | Дата: Пятница, 26.11.2010, 13:11 | Сообщение # 1953 |
|
Новенький
Группа:
Пользователи
Сообщений: 56
Награды: 0
Город: нижний новгород
Репутация: 0
Замечания: 0%
Статус: 
| Команда: /weapons Code if(strcmp(cmdtext, "/weapons", true) == 0) { ShowPlayerDialog(playerid,[color=red]1[/color],DIALOG_STYLE_LIST,"Покупка оружия:","М4\nAK-47","Купить","Отмена"); return 1; } Ну а теперь их действия! Code if(dialogid == [color=red]1[/color] && response) // Если ID диалогового окна 1 (как мы указали в ShowPlayerDialog), и игрок нажал 'Купить' { switch(listitem) { case 0: //Это проверка на 1 вариант, то есть М4 { if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid, 0xFF8000AA, "У вас недостаточно денег."); GivePlayerMoney(playerid, -3000); SendClientMessage(playerid, 0xFF8000AA, "Вы купили 9mm"); GivePlayerWeapon(playerid, 31, 100); } case 1: //AK-47 { if(GetPlayerMoney(playerid) < 3500) //Проверка на деньги return SendClientMessage(playerid, 0xFF8000AA, "У вас недостаточно денег."); GivePlayerMoney(playerid, -3500); SendClientMessage(playerid, 0xFF8000AA, "Вы купили 9mm + Глушитель"); GivePlayerWeapon(playerid, 30, 100); } } }
|
| |
|
|
| PEGI | Дата: Пятница, 26.11.2010, 13:13 | Сообщение # 1954 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 152
Награды: 1
Город: Тагил
Репутация: 4
Замечания: 40%
Статус: 
| pawman, господи не смеши народ,ты в каком сампе? Всё на диологах делать и проще и красивее!
|
| |
|
|
| romka4494 | Дата: Пятница, 26.11.2010, 13:40 | Сообщение # 1955 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 158
Награды: 1
Город: Москва
Репутация: 1
Замечания: 20%
Статус: 
| Парни помогите пожалуйста я чот ваще раздуплился с регистрацией и авторизацией по диалогу =( Проблема в том что 1) у меня вылазиет один варнинг 2) и нормально не функционирует диалог. Вообщем я не могу обьяснить всё чётко, но сделайте пожалуйста чтобы можно было нормально регица и логиница по диалогу, у меня мод пен1 вот то что у меня наковеркалось =) в public OnPlayerConnect(playerid) я заменил какието строчки на эти проблема в том что мне приходица из за них два раза логиница или регица Quote if(fexist(string)) { gPlayerAccount[playerid] = 1; new loginmsg[256+1]; format(loginmsg,256,"Пожалуйста залогинтесь"); ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Авторизация",loginmsg,"Ок","Отмена"); return 1; } else { gPlayerAccount[playerid] = 0; new loginmsg[256+1]; format(loginmsg,256,"Пожалуйста зарегистрируйтесь"); ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Регистрация",loginmsg,"Ок","Отмена"); } return 1; } потом создал публик диалог после которого вылазиет у меня варнинг "OnDialogResponse" Quote public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new tpass[256];//преобразованный пароль if(dialogid == 1)//итак, наше первое окно { if(response) // при нажатие на левую кнопку (логин) { if(!strlen(inputtext))// если оставляет пустую строку, выводим ему опять окно { new loginmsg[256+1]; format(loginmsg,256,"Пожалуйста залогинтесь"); ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Авторизация",loginmsg,"Ок","Отмена"); return 1; } strmid(tpass, inputtext, 0, strlen(inputtext), 255); //Encript(tpass); OnPlayerLogin(playerid,tpass); } else // если нажимает правую кнопку (отмена) { Kick(playerid); // здесь вы уже сами выбирайте, но я кикну его, ибо я хочу, чтобы он авторизовывался } } else if(dialogid == 2)//переходим ко второму диалоговому окну (регистрация) { if(response)// всё так-же, это нажатие левой кнопки (регистрация) { if(!strlen(inputtext)) // если поле осталось пустым, выводим ему опять диалоговое окно { new loginmsg[256+1]; format(loginmsg,256,"Пожалуйста зегистрируйтесь"); ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Регистрация",loginmsg,"Ок","Отмена"); } return 1; } и потом: Quote public OnPlayerLogin(playerid,const string[]) { gPlayerLogged[playerid] += 1; new loginmsg[256+1]; format(loginmsg,256,"Пожалуйста залогинтесь"); ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Авторизация",loginmsg,"Ок","Отмена"); if(gPlayerLogged[playerid] == 4) { Kick(playerid); }
sa-mp сервер Мод: Pen1 Release 2010 Форум: www.ural-game.mirbb.net Ип адрес узнаете на форуме. (хостинг сервера временно приостановлен)
|
| |
|
|
| Rashambik | Дата: Пятница, 26.11.2010, 13:58 | Сообщение # 1956 |
|
Новенький
Группа:
Пользователи
Сообщений: 50
Награды: 1
Город: Балаково
Репутация: 1
Замечания: 0%
Статус: 
| Привет всем. Хотелось бы узнать как реализовать открывание дверей по нажатие на объект. Т.е. Рядом с дверью поставил объект (например красную кнопку), подходишь к объекту нажимаешь F, персонаж нажимает на этот объект и дверь открывается. Так же желательно что бы это работало только для определённой фракции.
Список интерьеров (со скринами) http://weedarr.wikidot.com/interior
|
| |
|
|
| PEGI | Дата: Пятница, 26.11.2010, 14:48 | Сообщение # 1957 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 152
Награды: 1
Город: Тагил
Репутация: 4
Замечания: 40%
Статус: 
| Rashambik, поиском пользуйся... http://www.samp-rus.com/forum/17-10118-1
|
| |
|
|
| romka4494 | Дата: Пятница, 26.11.2010, 15:18 | Сообщение # 1958 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 158
Награды: 1
Город: Москва
Репутация: 1
Замечания: 20%
Статус: 
| парни ну чо никто не поможет точто я выше про диалог написал?
sa-mp сервер Мод: Pen1 Release 2010 Форум: www.ural-game.mirbb.net Ип адрес узнаете на форуме. (хостинг сервера временно приостановлен)
|
| |
|
|
| PEGI | Дата: Пятница, 26.11.2010, 15:35 | Сообщение # 1959 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 152
Награды: 1
Город: Тагил
Репутация: 4
Замечания: 40%
Статус: 
| romka4494, Ну ты два раза заставляеш логинистся из OnPlayerLogin убирай диологи!
|
| |
|
|
| romka4494 | Дата: Пятница, 26.11.2010, 15:56 | Сообщение # 1960 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 158
Награды: 1
Город: Москва
Репутация: 1
Замечания: 20%
Статус: 
| PEGI, Но теперь если я ввожу не верный пароль то диалог второй раз не высвечивается =( Добавлено (26.11.2010, 15:56) --------------------------------------------- и еще вот што C:\Users\Ðîìàí\Desktop\Public Enemy ¹1 Release 2010\gamemodes\Public.pwn(2750) : warning 209: function "OnDialogResponse" should return a value Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase Header size: 9212 bytes Code size: 975080 bytes Data size: 6259696 bytes Stack/heap size: 16384 bytes; estimated max. usage=5034 cells (20136 bytes) Total requirements: 7260372 bytes 1 Warning.
sa-mp сервер Мод: Pen1 Release 2010 Форум: www.ural-game.mirbb.net Ип адрес узнаете на форуме. (хостинг сервера временно приостановлен)
|
| |
|
|
| PEGI | Дата: Пятница, 26.11.2010, 15:58 | Сообщение # 1961 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 152
Награды: 1
Город: Тагил
Репутация: 4
Замечания: 40%
Статус: 
| romka4494, Поставь проерку как во всех ГФ [cut noguest=Код]if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 ) { //Тут поидеи записываются переменные которые в акк хранятся } else { SendClientMessage(playerid, COLOR_WHITE, " Пароль не соответствует вашему имени."); //fclose(UserFile); gPlayerLogTries[playerid] += 1; if(gPlayerLogTries[playerid] == 4) { SendClientMessage(playerid, COLOR_WHITE, " Вы забанены за попытку подбора пароля."); Ban(playerid); } return 1; }[/cut] Попробуй так
|
| |
|
|
| romka4494 | Дата: Пятница, 26.11.2010, 16:03 | Сообщение # 1962 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 158
Награды: 1
Город: Москва
Репутация: 1
Замечания: 20%
Статус: 
| Короче у меня ваще какаято лажа 1) если зарегаца то он ваще игрока не регает 2) при авторизации если пароль правильный то игрок спавница на месте но у него всё голубое, даже /setint 0 не помогает 3) Если ввести неверный пароль при авторизации то окошко больше не появица Помогите сделать чтобы всё нормально функциониравло плизззз Добавлено (26.11.2010, 16:02) --------------------------------------------- PEGI, нет не помогает Добавлено (26.11.2010, 16:03) --------------------------------------------- PEGI, нет не помогает, я это вчера еще пробывал
sa-mp сервер Мод: Pen1 Release 2010 Форум: www.ural-game.mirbb.net Ип адрес узнаете на форуме. (хостинг сервера временно приостановлен)
|
| |
|
|
| pawman | Дата: Пятница, 26.11.2010, 19:29 | Сообщение # 1963 |
|
Уверенный в себе
Группа:
Пользователи
Сообщений: 188
Награды: 12
Город: Новороссийск
Репутация: 38
Замечания: 0%
Статус: 
| я недавно скриптингом занимаюсь... Добавлено (26.11.2010, 19:29) --------------------------------------------- Сделал как SiZMaN, сказал, но при вводе команды ничего не происходит... Помоги мне исправить. Code
#include<a_samp> #define red 0xF60000AA
OnGameModeInit() { if(strcmp(cmdtext, "/weapons", true) == 0) { ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Покупка оружия:","М4\nAK-47","Купить","Отмена"); return 1; }
if(dialogid == 1 && response) // Если ID диалогового окна 1 (как мы указали в ShowPlayerDialog), и игрок нажал 'Купить' { switch(listitem) { case 0: //Это проверка на 1 вариант, то есть М4 { if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid, 0xFF8000AA, "У вас недостаточно денег."); GivePlayerMoney(playerid, -3000); SendClientMessage(playerid, 0xFF8000AA, "Вы купили 9mm"); GivePlayerWeapon(playerid, 31, 100); } case 1: //AK-47 { if(GetPlayerMoney(playerid) < 3500) //Проверка на деньги return SendClientMessage(playerid, 0xFF8000AA, "У вас недостаточно денег."); GivePlayerMoney(playerid, -3500); SendClientMessage(playerid, 0xFF8000AA, "Вы купили 9mm + Глушитель"); GivePlayerWeapon(playerid, 30, 100); } } } } 
Разрабатываю карты для сервера. Обращайтесь, качество гарантирую. Мои работы: [MAP+FS]Особняк [MAP+FS]Пляж [MAP+FS]sa_city_bilding Сайт: фаникс.рф
|
| |
|
|
| Rogue | Дата: Пятница, 26.11.2010, 19:37 | Сообщение # 1964 |
|
Освоившийся
Группа:
Пользователи
Сообщений: 128
Награды: 1
Город: Москва
Репутация: 0
Замечания: 0%
Статус: 
| OnGameModeInit???omg...А как насчёт OnPlayerCommandText
|
| |
|
|
| SiZMaN | Дата: Пятница, 26.11.2010, 19:55 | Сообщение # 1965 |
|
Новенький
Группа:
Пользователи
Сообщений: 56
Награды: 0
Город: нижний новгород
Репутация: 0
Замечания: 0%
Статус: 
| В public OnPlayerCommandText(playerid, cmdtext[]) Code if(strcmp(cmdtext, "/weapons", true) == 0) { ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Покупка оружия:","М4\nAK-47","Купить","Отмена"); return 1; } В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) Code if(dialogid == 1 && response) // Если ID диалогового окна 1 (как мы указали в ShowPlayerDialog), и игрок нажал 'Купить' { switch(listitem) { case 0: //Это проверка на 1 вариант, то есть М4 { if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid, 0xFF8000AA, "У вас недостаточно денег."); GivePlayerMoney(playerid, -3000); SendClientMessage(playerid, 0xFF8000AA, "Вы купили 9mm"); GivePlayerWeapon(playerid, 31, 100); } case 1: //AK-47 { if(GetPlayerMoney(playerid) < 3500) //Проверка на деньги return SendClientMessage(playerid, 0xFF8000AA, "У вас недостаточно денег."); GivePlayerMoney(playerid, -3500); SendClientMessage(playerid, 0xFF8000AA, "Вы купили 9mm + Глушитель"); GivePlayerWeapon(playerid, 30, 100); } } } }
|
| |
|
|
|
 |
|
 | |
| |
|