23:20
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Модератор форума: AXE, Weddew  
[Архив] Помощь новичкам по скриптингу ! #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);
              }
          }
      }
}

aikido


Разрабатываю карты для сервера. Обращайтесь, качество гарантирую.
Мои работы:
[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);
               }
           }
       }
}

Поиск:





 


 


 
Хостинг от uCoz samp.at.ua