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

 



 
        
[Include] RemoveBuilding (2)
JasonGordon 24.05.2017 23:48
[SA-MP] Hosted Tab (116)
DieSeL 17.05.2017 17:33
Физрук (15)
Lanablogger1 16.05.2017 16:00
 





Рекомендуем:
Добавить IP: 95.172.59.51:7777





Последние Файлы 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
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
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 88 из 152«128687888990151152»
Модератор форума: AXE, Weddew 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Вопросы и ответы по GTA SAMP [от 19.03.2013]
WeddewДата: Вторник, 19.03.2013, 15:11 | Сообщение # 1
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
В этой теме вы сможете получить ответы, на многие ваши вопросы по PAWN.


Новичкам:


  • Внятно объясняйте Вашу проблему, если Вы получили ошибку, обязательно выкладывайте строки, на которые "ругается" компилятор.
  • Задавайте вопросы исключительно по коду, а не по системам, которые имеются у Вас в моде.
  • Помощь идет только по желанию пользователя, если человек помог Вам только частично, не нужно начинать поливать его грязью.
  • Возможно тип Вашей проблемы уже обсуждался на форуме, воспользуйтесь поиском.
  • В этой теме пользователи лишь оказывают помощь в написании кода, а не пишут его за Вас.
  • Если Вы хотите отблагодарить пользователя, жмите на кнопку . (Только для продвинутых, и выше)
  • Если Вы уже задавали вопрос и не получили на него ответа, то лучше написать в ЛС одному из участников группы , чем засорять тему.
  • Если Вы сами решили свою проблему, то напишите, как Вы ее решили.
  • Если Вас просят выложить код функций, то используйте для этого сервис pastebin.com


Скриптерам:

  • Не оскорблять новичков.
  • Не засорять тему сообщениями, подобные этому: "Закрой PAWNO и иди делай уроки".
  • Не посылать в поиск. Пользователь итак уже пришёл сюда из поиска. Если решение проблемы уже было опубликовано, то указать в какой теме
  • Как можно понятней объяснять решение той, или иной проблемы, по возможности приводить примеры.



Инструкции:

  • [cut noguest=Краткая инструкция для вшивания FS в мод]
    1) Все из callback OnFilterScriptInit вставляем в конец callback OnGameModeInit перед словом return.
    2) Все из callback OnFilterScriptExit вставляем в конец callback OnGameModeExit перед словом return.
    3) Все объявления переменных (new ...) и констант (const ...; #define ... ...) в начало мода.
    4) Все прототипы (forward ...(...) ) ко всем прототипам.
    5) Все описания нестандартных функций (public ...(...); stock ...(...); ...(...){...} ), которых нет в моде, вставляем в конец мода.

    P.S. Данный мануал не гарантирует, что после копирования все будет работать, так как еще потребуется подгонять одни системы под другие.
    P.P.S Если в одном из callback`ов Вы не обнаружили кода, то переходите к следующему пункту инструкции.
    [/cut]
  • [cut noguest=Защита от ботов]
    В OnPlayerConnect
    [pwn]if(GetPlayersSameIp(playerid) > 3) Kick(playerid);[/pwn]
    В конец мода
    [pwn]stock GetPlayersSameIp(playerid)
    {//by Weddew
    //Возвращает количество подключенных игроков с таким же IP как у playerid
    new count = 0, p_ip[16], i_ip[16];
    GetPlayerIp(playerid, p_ip, sizeof(p_ip));
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    GetPlayerIp(playerid, i_ip, sizeof(i_ip));
    if(i != playerid)
    {
    if(!strcmp(p_ip, i_ip, false)) count++;
    }
    }
    return count;
    }[/pwn]
    [/cut]
  • [cut noguest=Проверка на Role Play ник]
    В конец мода:
    [pwn]
    stock IsARPNickname(playerid)
    {
    //by Weddew
    new p_n[MAX_PLAYER_NAME], dcount = 0;
    GetPlayerName(playerid, p_n, sizeof(p_n))
    for(i = 0; i < strlen(p_n); i++)
    {
    if(p_n[i] == '_') dcount++;
    }
    if(dcount != 1 || p_n[0] == '_' || p_n[strlen(p_n)-1] == '_') return false;
    return true;
    }[/pwn]

    В OnPlayerConnect

    [pwn]
    if(!IsARPNickname(playerid)) Kick(playerid);[/pwn]

    P.S.:
    Не пропустит: _Nick_Name_, _Nick_Name, NickName_
    Пропустит: Nick_Name, NICK_NAME, NiCk_name, nick_name[/cut]




www.weddew-shop.ru


Сообщение отредактировал Weddew - Среда, 23.10.2013, 21:45
artemganin1999Дата: Вторник, 23.07.2013, 22:07 | Сообщение # 1306
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Нужна помощь( я хотел сделать "бонус для новичков" Вот сам код
[pwn]if(pickupid == bonus) // В нашем случае "bonus"
{
if(PlayerInfo[playerid][pLevel] >= 3) // Это проверка на то что-бы игрок не получил бонус два раза.
{
SendClientMessage(playerid, COLOR_PURPLE, "Этот бонус только для новичков 1 лвл.");
return 1;
}
SendClientMessage(playerid,0xFFFF00AA,"Вы получили свой бонус!");
SendClientMessage(playerid, COLOR_WHITE, "1.000.000$.");
SendClientMessage(playerid, COLOR_WHITE, "3 LVL.");
SendClientMessage(playerid, COLOR_WHITE, "Все лицензии.");
PlayerInfo[playerid][pLevel] = 3; // Где 3 это уровень, если хотите уровень больше или меньше меняйте 3 на ваш уровень.
GivePlayerMoney(playerid, 1000000); // 1000000 - это количество денег, которое выдаст вам.
PlayerInfo[playerid][pCarLic] = 1; // Лицензия на вождение.
PlayerInfo[playerid][pFlyLic] = 1; // Лицензия на воздушный транспорт.
PlayerInfo[playerid][pMotoLic] = 1; // Лицензия на мотовождения.
PlayerInfo[playerid][pBoatLic] = 1; // Лицензия на водное вождение.
PlayerInfo[playerid][pGunLic] = 1; // Лицензия на оружие.
} [/pwn]
и
Код
bonus = CreatePickup(1314,23,2118.6863,-1121.6049,25.3855, 0);// Êîîðäèíàòû X,Y,Z ñìåíèòü íà ñâîè.
но если на него набежать то дает 1 кк , без лвл, и телепортирует в интерьер магазина! suicide2 suicide2 suicide2

WeddewДата: Вторник, 23.07.2013, 23:30 | Сообщение # 1307
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (_BigSm0ke_)
Есть ли функция, по которой можно определить куда целится игрок? или скажем определить целится ли игрок на тот или иной объект или нет?

Есть callback, который вызывается при прицеливании на игрока.

Добавлено (23.07.2013, 23:30)
---------------------------------------------
artemganin1999,

Цитата (artemganin1999)
bonus = CreatePickup(1314,23,2118.6863,-1121.6049,25.3855, 0);//

Типа 23 не существует. Используйте тип 1
[pwn]bonus = CreatePickup(1314,1,2118.6863,-1121.6049,25.3855, 0);//[/pwn]




www.weddew-shop.ru


Сообщение отредактировал Weddew - Вторник, 23.07.2013, 23:28
_BigSm0ke_Дата: Вторник, 23.07.2013, 23:36 | Сообщение # 1308
Местный
Группа: I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус:
Цитата (Weddew)
Есть callback, который вызывается при прицеливании на игрока.


на игрока мне не подойдет, на объект надо, я хочу сделать что-то типа тира/стрельбища...

Подскажите еще, как сделать бесконечную анимацию:
ApplyAnimation(playerid,"PED","WOMAN_walkold",4.1, 0,0,0,0,1);
типа ходишь и нога сломана... все перепробывал, не выходит)



LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON
Продаю РП мод: подробнее тут
Решаю задачи по техническим дисциплинам, подробнее тут


Сообщение отредактировал _BigSm0ke_ - Среда, 24.07.2013, 01:49
GeryyДата: Среда, 24.07.2013, 02:56 | Сообщение # 1309
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (_BigSm0ke_)
на игрока мне не подойдет, на объект надо, я хочу сделать что-то типа тира/стрельбища...

Посмотри реализацию подобного тира, возможно пригодится: http://rghost.net/private/47626131/9dc75d1a854cc17efd3b1685f30b5679

Пробуй:
ApplyAnimation(playerid,"PED","WOMAN_walkold",4.1,1,1,1,0,0);



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
artemganin1999Дата: Среда, 24.07.2013, 12:52 | Сообщение # 1310
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
[pwn] if(strcmp(string, "/setpos", true) == 0) {

new Float: posx, Float:posy, Float:posz;

tmp = strtok(cmdtext, idx);

if(!strlen(tmp)) {//Если ввёл просто /домсюда без ID

SendClientMessage(playerid, COLOR_WHITE,"[ПОМОЩЬ]: /setpos [id дома]");

return 1;

}

new house = strval(tmp);

if (PlayerInfo[playerid][pAdmin] >= 5)//Проверка на админа 10 уровня, можете поменять

{

GetPlayerPos(playerid, posx,posy,posz);

HouseInfo[house][hEntrancex] = posx;

HouseInfo[house][hEntrancey] = posy;

HouseInfo[house][hEntrancez] = posz;

SendClientMessage(playerid, COLOR_WHITE, "[ИНФО]: Дом перенесён!");

PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);

OnPropUpdate();

return 1;

}

else SendClientMessage(playerid, COLOR_WHITE, "[Ошибка]: Ты не Гл.Администратор!");

return 1;

}[/pwn]
можно сделать чтобы переносились и значок дома, и там лвл, владелец :D ?

[[[WampiR]]]Дата: Среда, 24.07.2013, 13:33 | Сообщение # 1311
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Подскажите пожалуйста. Вот в этой строке:
[pwn]new line42[228] = "_______________________www.zig-zag.forum2x2.ru_______________________";[/pwn]
Вот такая ошибка возникает: [pwn]error 075: input line too long (after substitutions)[/pwn]
Как ее исправить?

GeryyДата: Среда, 24.07.2013, 14:05 | Сообщение # 1312
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Попробуй разделить текст \\ либо с функцией strcat

p.s. хотя сейчас проверил строку, никакой ошибки не выдал.



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.

Сообщение отредактировал Geryy - Среда, 24.07.2013, 14:06
[[[WampiR]]]Дата: Среда, 24.07.2013, 14:17 | Сообщение # 1313
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Вот полностью код:
[cut noguest=Код][pwn] case 5:
{
if(PlayerInfo[playerid][pLeader]==1||PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==2||PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==3||PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==7||PlayerInfo[playerid][pMember]==7)
{
new str[2288];
new line1[128] = "_______________________www.zig-zag.forum2x2.ru_______________________";
new line2[45] = "/r - рация";
new line3[45] = "/d - чат депортамента";
new line4[45] = "/m - крикнуть в мегафон";
new line5[45] = "/su - дать розыск";
new line6[45] = "/mdc - база данных";
new line7[45] = "/arrest - арестовать игрока";
new line8[45] = "/duty - взять значок";
new line9[45] = "/wanted - список розыскиваемых преступников";
new line10[45] = "/cuff - надеть наручники";
new line11[45] = "/tazer - ударить электрошокером";
new line12[45] = "/shield - взять щит +300hp";
new line13[45] = "/frisk - обыскать игрока";
new line14[220] = "/take - обыскать лицензии,материалы,наркотики,оружия";
new line15[45] = "/ticket - выписать штраф";
new line16[45] = "/gov - написать в городские новости";
new line17[45] = "/ram - взломать дверь дома";
new line18[45] = "/doc - показать свои документы";
new line19[45] = "/sit - затолкать в транспорт";
new line20[45] = "/gotome - насильно потащить за собой";
new line21[45] = "/takepass - отобрать паспорт";
new line22[45] = "/exitzek - вывести из помещения";
new line23[45] = "/unmask - снять маску";
new line24[45] = "/untie - развязать игрока";
new line25[45] = "/unblind - снять мешок с игрока";
new line26[45] = "/unmuted - вытащить из рта кляп";
new line27[45] = "/throwthorn(/tt) - установить шипы на дорогу";
new line28[45] = "/curthorn(/ct) - убрать шипы";
new line29[228] = "/speedogr - установить максимальную скорость на дорогах(Лидер LSPD)";
new line30[45] = "/zakonmember - база данных по законникам";
new line31[45] = "/armopen - открыть ворота (Армии)";
new line32[45] = "/armopen2 - открыть вход в авианосец";
new line33[45] = "/armopen3 - открыть 3 ворота (Армии)";
new line34[45] = "/lsopen - открыть решетку в холе (LSPD)";
new line35[45] = "/lsopen1 - открыть ворота в гараж (LSPD)";
new line36[45] = "/sfopen1 - открыть въезд в гараж (FBI)";
new line37[45] = "/sfopen2 - открыть въезд на территорию (FBI)";
new line38[45] = "/mopen - открыть дверь к лестницам в (Мэрии)";
new line39[45] = "/mopen2 - открыть личный кабинет в (Мэрии)";
new line40[45] = "/kpp(1-4) - открыть кпп возле армии SF и FBI";
new line41[45] = "/free - выпустить из тюрьмы";
new line42[228] = "_______________________www.zig-zag.forum2x2.ru_______________________";
format(str,sizeof(str),"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n %s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s", line1, line2, line3, line4, line5, line6, line7, line8, line9, line10, line11, line12, line13, line14, line15, line16, line17, line18, line19, line20, line21, line22, line23, line24, line25, line26, line27, line28, line29, line30, line31, line32, line33, line34, line35, line36, line37, line38, line39, line40, line41, line42);
ShowPlayerDialog(playerid,19972, 0, "{FFFF00}*** Фракция Полиция/FBI/Армия/Мэрия ***",str,"Назад","");
showhelp[playerid] = 1;
}[/pwn][/cut]

Добавлено (24.07.2013, 14:17)
---------------------------------------------
Когда строк было меньше "40", все было нормально.

_BigSm0ke_Дата: Среда, 24.07.2013, 14:51 | Сообщение # 1314
Местный
Группа: I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус:
Цитата (Geryy)
Посмотри реализацию подобного тира, возможно пригодится: http://rghost.net/private/47626131/9dc75d1a854cc17efd3b1685f30b5679

Да я видел это, я думал может проще есть способ, потому что этот скрипт слишком сложный для меня )))

Цитата (Geryy)

Пробуй:
ApplyAnimation(playerid,"PED","WOMAN_walkold",4.1,1,1,1,0,0);


В таком случае игрок идет хромой вперед и я не могу им управлять...



LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON
Продаю РП мод: подробнее тут
Решаю задачи по техническим дисциплинам, подробнее тут
WeddewДата: Среда, 24.07.2013, 15:11 | Сообщение # 1315
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (_BigSm0ke_)
В таком случае игрок идет хромой вперед и я не могу им управлять...

Данную анимацию необходимо воспроизводить при нажатии кнопок игроком.
OnPlayerKeyStateChange вам в помощь.
Список клавиш.




www.weddew-shop.ru
GeryyДата: Среда, 24.07.2013, 16:13 | Сообщение # 1316
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (|||WampiR|||)
Когда строк было меньше "40", все было нормально.

Собери строки форматом или strins. 42 перееменные new line это жестко...



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.

Сообщение отредактировал Geryy - Среда, 24.07.2013, 16:17
[[[WampiR]]]Дата: Среда, 24.07.2013, 16:37 | Сообщение # 1317
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Цитата (Geryy)
Собери строки форматом или strins. 42 перееменные new line это жестко...

Спасибо.

_BigSm0ke_Дата: Среда, 24.07.2013, 20:30 | Сообщение # 1318
Местный
Группа: I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус:
Цитата (Weddew)
Данную анимацию необходимо воспроизводить при нажатии кнопок игроком.
OnPlayerKeyStateChange вам в помощь.
Список клавиш.


Не работает вот так:
даже сообщение не выводит, не то чтобы анимацию... скорее всего эти кнопки не работают..

Код
if( newkeys == KEY_UP || newkeys == KEY_DOWN || newkeys == KEY_LEFT || newkeys == KEY_RIGHT )
  {
      if(PlayerAccount[playerid][aBreakLvl] == 1 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
      {
          SendClientMessage(playerid, COLOR_LIGHTRED, "DEBUG");
          ApplyAnimation(playerid,"PED","WOMAN_walkold",4.1,1,0,0,0,1);
      }
  }


а если так ставить: if( newkeys && KEY_UP || newkeys && KEY_DOWN || newkeys && KEY_LEFT || newkeys && KEY_RIGHT )
то пишет "DEBUG" на какую я бы клавишу не нажал, но только не на нужные...ну и анимка соответственно не играется, хз где там 1 а где 0 ставить, не как не разберусь)



LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON
Продаю РП мод: подробнее тут
Решаю задачи по техническим дисциплинам, подробнее тут
WeddewДата: Среда, 24.07.2013, 20:39 | Сообщение # 1319
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
_BigSm0ke_, [pwn]if( newkeys & KEY_UP || newkeys & KEY_DOWN || newkeys & KEY_LEFT || newkeys & KEY_RIGHT )
{
if(PlayerAccount[playerid][aBreakLvl] == 1 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "DEBUG");
ApplyAnimation(playerid,"PED","WOMAN_walkold",4.1,1,0,0,0,1);
}
}[/pwn]




www.weddew-shop.ru
_BigSm0ke_Дата: Среда, 24.07.2013, 21:06 | Сообщение # 1320
Местный
Группа: I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус:
Weddew, и как ты написал, тоже не работает.

на самп вики вообще вот что написано: Directional keys do not trigger OnPlayerKeyStateChange (up/down/left/right).

так что я по-другому сделал.. через таймер ежесекудный: (все равно у меня есть таймер ежесекундный на всех игроков, так что думаю на оптимизацию это сильно не повлияет...)
[pwn]if(PlayerAccount[playerid][aBreakLvl] == 1)
     {
         if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
         {
          new Keys[3];
          GetPlayerKeys(playerid, Keys[0], Keys[1], Keys[2]);
             if(Keys[1]!=0 || Keys[2]!=0)
           {
               ApplyAnimation(playerid, "PED","Walk_fatold", 4.1, 1, 1, 1, 1, 1, 1);
           }
           else
           {
               ApplyAnimation(playerid, "PED","Walk_fatold", 4.0, 0, 0, 0, 0, 1, 1);
           }
      }
     }[/pwn]



LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON
Продаю РП мод: подробнее тут
Решаю задачи по техническим дисциплинам, подробнее тут


Сообщение отредактировал _BigSm0ke_ - Среда, 24.07.2013, 21:06
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Страница 88 из 152«128687888990151152»
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM