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

 



 
          





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





Последние Файлы 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).



Радость
AwmДата: Воскресенье, 17.07.2011, 22:51 | Сообщение # 3406
Группа: I'm V.I.P.
Сообщений: 3235
Награды: 55
Город: Tallinn
Репутация: 1661
Замечания: 0%
Статус:
HakeRbesT, научись "читать код", тогда и научишься писать такого вида команды.



"Life is hard... life is harder if you're stupid." - John Wayne
wuilorДата: Понедельник, 18.07.2011, 01:23 | Сообщение # 3407
Группа: I'm V.I.P.
Сообщений: 289
Награды: 5
Город: Смоленск
Репутация: 183
Замечания: 40%
Статус:
Привет всем, народ, я в скриптинге новечёк и поэтому прошу у вас помощь.
В общем у меня вопрос: как сделать телепорт, чтобы когда я подходил к стрелочки(CreateObject 1318,1283.94250488,-1323.76159668,12.88693428,0.00000000,0.00000000,0.00000000);) и вводил /enterbar и у меня телепортило к другой стрелочки (CreateObject(1318,940.84112549,-19.34375000,1000.42816162,0.00000000,0.00000000,272.00000000);) и /exitbar так же из 2-ых координат на первые перемещался. и ещё, как это сделать в FS?

Добавлено (18.07.2011, 01:23)
---------------------------------------------
Ах и ещё чтобы телепортировало только если я рядом со стрелкой.


Мои Работы
Zombie Mod v3.0 Доработка и перевод на Русский
Перевод Fas Drift0.3d(RUS)
HakeRbesTДата: Понедельник, 18.07.2011, 11:13 | Сообщение # 3408
Новенький
Группа: Пользователи
Сообщений: 72
Награды: 0
Город: Новокузнецк
Репутация: 2
Замечания: 0%
Статус:
Quote (Lor)
Привет всем, народ, я в скриптинге новечёк и поэтому прошу у вас помощь.
В общем у меня вопрос: как сделать телепорт, чтобы когда я подходил к стрелочки(CreateObject 1318,1283.94250488,-1323.76159668,12.88693428,0.00000000,0.00000000,0.00000000);) и вводил /enterbar и у меня телепортило к другой стрелочки (CreateObject(1318,940.84112549,-19.34375000,1000.42816162,0.00000000,0.00000000,272.00000000);) и /exitbar так же из 2-ых координат на первые перемещался. и ещё, как это сделать в FS?
Добавлено (18.07.2011, 01:23)
---------------------------------------------
Ах и ещё чтобы телепортировало только если я рядом со стрелкой.


В команде ставишь проверку на местонахождение примерно так:
Code
if(strcmp("/enterbar",cmdtext,true)==0)  //это твоя команда
{
        if(IsPlayerInRangeOfPoint(playerid,2.0,1654.2787,-1655.3507,22.5156))  //это проверка на координаты(впишешь свои)
        {
                  SetPlayerPos(playerid,123.845,614.904,-14.567); //это куда перенесёт игрока(тоже свои координаты)
        }
        else
        {
                  SendClientMessage(playerid,COLOR_RED,"Вы не у белой стрелочки!")  //это если игрок не у белой стрелочки)))
        }
}


Примерно так)
Если что не понятно пиши)

Добавлено (18.07.2011, 11:13)
---------------------------------------------

Quote (Warn)
HakeRbesT, Всмысле как создавать? Руками

Да я как бы понял что не ногами
Quote (Awm)
HakeRbesT, научись "читать код", тогда и научишься писать такого вида команды

Ладно, попробую разобраться :)

gamehopДата: Понедельник, 18.07.2011, 21:35 | Сообщение # 3409
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 0
Город: Молдова разруливает!!!1
Репутация: 0
Замечания: 0%
Статус:
Как сделать авто сдачу на права?
AndroidДата: Понедельник, 18.07.2011, 22:30 | Сообщение # 3410
Группа: I'm V.I.P.
Сообщений: 1066
Награды: 11
Город: Рязань
Репутация: 571
Замечания: 0%
Статус:
Quote
Как сделать авто сдачу на права?


ВОТ (клик) тебе урок



Играй там где лучше Server Gta San Andreas: Multiplayer 0.3.7



Без труда талант - это фейерверк: на мгновение ослепляет, а потом ничего не остается
Dimaxa_DemonДата: Среда, 20.07.2011, 02:20 | Сообщение # 3411
Освоившийся
Группа: Продвинутые
Сообщений: 134
Награды: 7
Город: Киев
Репутация: 109
Замечания: 0%
Статус:
Quote (HakeRbesT)
Quote (HakeRbesT)Привет всем) Помогите кто может. Такой вопрос уже задавали, однако я не нашёл ответа на него. В общем скажите как создавать команды типа /sellgun [id игрока] [количество] Обычные то я умею создавать, а вот эти никак не получается Ну чё никто не знает??


Ну, сейчас попытаюсь тебе объяснить.. И так..
[cut noguest]Розберем команду из мода:
[pwn]
if(strcmp(cmd, "/givegun", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Ïîäñêàçêà: /givegun [ID/Èìÿ] [ID Îðóæèÿ] [Êîë-âî ïàòðîíîâ]");
return 1;
}
new playa;
new gun;
new ammo;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
gun = strval(tmp);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: /givegun [ID/Èìÿ] [id] [ammo]");
SendClientMessage(playerid, COLOR_GRAD4, "1(êàñòåò) 2(êëþøêà) 3(äóáèíêà) 4(íîæ) 5(áèòà)");
SendClientMessage(playerid, COLOR_GRAD3, "6(ëîïàòà) 7(êèé) 8(êàòàíà) 9(ïèëà) 10-13(ôàëëîñû) 14(áóêåò)");
SendClientMessage(playerid, COLOR_GRAD3, "15(òðîñòü) 16(ãðàíàòû) 17(äûì) 18(êîêòåéëü ìîëîòîâà)");
SendClientMessage(playerid, COLOR_GRAD3, "22(êîëüò) 23(ãëóøèòåëü) 24(ïóñòûííûé îðåë) 25(äðîáîâèê)");
SendClientMessage(playerid, COLOR_GRAD3, "26(îáðåçû) 27(äðîáîâèê/7) 28(óçè) 29(ÌÐ5)");
SendClientMessage(playerid, COLOR_GRAD3, "30(ÀÊ47) 31(Ì16) 32(ÒÅÑ9) 33(âèíòîâêà)");
SendClientMessage(playerid, COLOR_GRAD3, "34(ñí.âèíòîâêà) 35(áàçóêà) 36(áàçóêà ñ ÑÐ) 37(îãíåìåò)");
SendClientMessage(playerid, COLOR_GRAD3, "41(ñïðåé) 42(îãíåòóøèòåëü) 43(ôîòîêàìåðà)");
SendClientMessage(playerid, COLOR_GRAD3, "44(ÏÍÂ) 45(ÏÒÂ) 46(ïðàøóò)");
return 1;
}
if(gun < 1||gun > 46||gun==19||gun==20||gun==21||gun==40)
{ SendClientMessage(playerid, COLOR_GRAD1, " Íåâåðíûé ID îðóæèÿ"); return 1; }
tmp = strtok(cmdtext, idx);
ammo = strval(tmp);
if(ammo <1||ammo > 9999)
{ SendClientMessage(playerid, COLOR_GRAD1, "Êîë-âî ïàòðîíîâ îò 1 äî 9999"); return 1; }
if(PlayerInfo[playerid][pAdmin] >= 9)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
PyxiTime[playa] = 5;
ServerGivePlayerWeapons(playa, gun, ammo);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Ó âàñ íåò äîñòóïà ê ýòîé êîìàíäå");
}
}
return 1;
}
[/pwn]
tmp = strtok(cmdtext, idx); - этим мы присваиваем переменной tmp, все что идет после пробела до следующего пробела...
Далее у нас следует проверка на то не пусто ли значение которое мы получили, и если оно пусто то Мы повторяем игроку что нужно ввести и т.п.
Как правило в таких командах первое значение это ид игрока поэтому после проверки в команде присваивается переменной playa полученное значение специальной функцией ReturnUser(tmp), эта функция возвращяет ид игрока, если мы используем ее то при наборе команды можно использовать как ник игрока так и его ид..
Далее все повторяется: мы снова присваиваем tmp значение strtok(cmdtext, idx), но вы понимаете что это уже новое значение тоесть уже между вторым и третьим пробелом... Потом снова делаем проверку пусто ли значение или нет.. -> if(!strlen(tmp))
Если посмотреть команду, то вы увидите что это у нас должен быть ид оружия, а это у нас целое число поэтому для присвоения переменной значения используем функцию strval
[pwn]gun = strval(tmp);[/pwn]
и далее операция повторяется... После получения всех переменных таким способом можно начинать выполнять команду, то есть выдавать игроку оружие и т.п.
P.S. Для использования дробовых значений нужно использовать floatstr (gun = floatstr(tmp);)
А для текста Вот пример - strmid(gun,tmp,0,strlen(tmp),64);
[/cut]
Если где ошибся простите.
Если что не понятно, спрашивайте.. new_russian



Помогаю по Pawn|C++|PHP|Java|HTML|CSS
email - dm.savchik@ya.ru
-------
HakeRbesTДата: Среда, 20.07.2011, 07:49 | Сообщение # 3412
Новенький
Группа: Пользователи
Сообщений: 72
Награды: 0
Город: Новокузнецк
Репутация: 2
Замечания: 0%
Статус:
Quote (Dimaxa_Demon)
Если где ошибся простите.
Если что не понятно, спрашивайте..

Ну как бы вроде всё понятно за исключением двух функций: strtok и ReturnUser
Они же не стандартные их надо самому вписывать в мод, я же с нуля его пишу

AwmДата: Среда, 20.07.2011, 19:36 | Сообщение # 3413
Группа: I'm V.I.P.
Сообщений: 3235
Награды: 55
Город: Tallinn
Репутация: 1661
Замечания: 0%
Статус:
Quote (HakeRbesT)

Ну как бы вроде всё понятно за исключением двух функций: strtok и ReturnUser
Они же не стандартные их надо самому вписывать в мод, я же с нуля его пишу

strtok можешь взять на википедии сампа, там специально для всех он лежит.
а ReturnUser используется только если игрок будет вводить ник игрока но обычно игроки вводят ид, так что используй strval.




"Life is hard... life is harder if you're stupid." - John Wayne
HakeRbesTДата: Среда, 20.07.2011, 20:47 | Сообщение # 3414
Новенький
Группа: Пользователи
Сообщений: 72
Награды: 0
Город: Новокузнецк
Репутация: 2
Замечания: 0%
Статус:
Quote (Awm)
strtok можешь взять на википедии сампа, там специально для всех он лежит.
а ReturnUser используется только если игрок будет вводить ник игрока но обычно игроки вводят ид, так что используй strval

Спасибо, попробую разобраться :)

P.S: Dimaxa_Demon тебе тоже спасибо :)

pawmanДата: Среда, 20.07.2011, 20:55 | Сообщение # 3415
Уверенный в себе
Группа: Пользователи
Сообщений: 188
Награды: 12
Город: Новороссийск
Репутация: 38
Замечания: 0%
Статус:
Извините, если не в тему, мне нужно впилить .bmp картинку как текстдрав, я помню, что какой - то умелец это делал.
Если можно, дайте ссылку на инклуд или тему, где описывается все это.



Разрабатываю карты для сервера. Обращайтесь, качество гарантирую.
Мои работы:
[MAP+FS]Особняк
[MAP+FS]Пляж
[MAP+FS]sa_city_bilding
Сайт: фаникс.рф
ShurickwarДата: Четверг, 21.07.2011, 02:04 | Сообщение # 3416
Новенький
Группа: Пользователи
Сообщений: 8
Награды: 1
Город: Балхаш
Репутация: 0
Замечания: 0%
Статус:
Народ дайте плиз 2 скрипта 1 при каждом убистве давали 2 уровень розыска и сообщалось об этом в чат 2 чтобы менты могли садить в тюрьму очень надо плиз!
Dimaxa_DemonДата: Четверг, 21.07.2011, 04:47 | Сообщение # 3417
Освоившийся
Группа: Продвинутые
Сообщений: 134
Награды: 7
Город: Киев
Репутация: 109
Замечания: 0%
Статус:
Quote (Awm)
а ReturnUser используется только если игрок будет вводить ник игрока но обычно игроки вводят ид, так что используй strval.

Ну не знаю.. Как по мне так предосторожность не помешает...

Quote (HakeRbesT)
P.S: Dimaxa_Demon тебе тоже спасибо

Не за что.. Обращайся..

Quote (pawman)
Извините, если не в тему, мне нужно впилить .bmp картинку как текстдрав, я помню, что какой - то умелец это делал. Если можно, дайте ссылку на инклуд или тему, где описывается все это.
О таком слышу впервые и вообще не уверен возможно ли такое.. Зная возможности сампа скорее всего что нет...



Помогаю по Pawn|C++|PHP|Java|HTML|CSS
email - dm.savchik@ya.ru
-------
ShurickwarДата: Четверг, 21.07.2011, 10:48 | Сообщение # 3418
Новенький
Группа: Пользователи
Сообщений: 8
Награды: 1
Город: Балхаш
Репутация: 0
Замечания: 0%
Статус:
Народ помогите плиз! Нужен скрипт чтобы копы могли арестовывать и при убистве кого либо давали 2 уровень розыска?
AndroidДата: Четверг, 21.07.2011, 11:05 | Сообщение # 3419
Группа: I'm V.I.P.
Сообщений: 1066
Награды: 11
Город: Рязань
Репутация: 571
Замечания: 0%
Статус:
Quote
Народ помогите плиз! Нужен скрипт чтобы копы могли арестовывать и при убистве кого либо давали 2 уровень розыска?


У тебя этого нет в моде ? Напиши название мода куда ты хочешь это сделать (если что там урок как туда вставить эти команды).



Играй там где лучше Server Gta San Andreas: Multiplayer 0.3.7



Без труда талант - это фейерверк: на мгновение ослепляет, а потом ничего не остается
pawmanДата: Четверг, 21.07.2011, 12:25 | Сообщение # 3420
Уверенный в себе
Группа: Пользователи
Сообщений: 188
Награды: 12
Город: Новороссийск
Репутация: 38
Замечания: 0%
Статус:
Dimaxa_Demon, инфа 100%, что это есть, я просто не помню, где эта тема.


Разрабатываю карты для сервера. Обращайтесь, качество гарантирую.
Мои работы:
[MAP+FS]Особняк
[MAP+FS]Пляж
[MAP+FS]sa_city_bilding
Сайт: фаникс.рф
Поиск:





 


 


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