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

 



 
        
[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
Страница 109 из 152«12107108109110111151152»
Модератор форума: 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
GeryyДата: Четверг, 17.10.2013, 03:35 | Сообщение # 1621
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата vadja575 ()
Как сделать телепорт по нажатию кнопки, когда стоишь на пикапе?!

[pwn]
new pickup1 = CreatePickup(371, 2, X, Y, Z);

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys == KEY_WALK && IsPlayerInRangeOfPoint(playerid, 2.0, X, Y, Z))
{
SetPlayerPos(playerid, -2327.8637, 1531.1292, 17.3281); //Телепорт
SetPlayerFacingAngle(playerid, 1.6134);
}
return 1;
}[/pwn]



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
vadja575Дата: Четверг, 17.10.2013, 13:59 | Сообщение # 1622
Новенький
Группа: Пользователи
Сообщений: 23
Награды: 0
Репутация: -10
Замечания: 0%
Статус:
а как ещё один сделать?
WeddewДата: Четверг, 17.10.2013, 16:20 | Сообщение # 1623
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата vadja575 ()
а как ещё один сделать?

Аналогично:
[pwn]new pickup1 = CreatePickup(371, 2, X, Y, Z);
new pickup2 = CreatePickup(371, 2, X2, Y2, Z2);

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys == KEY_WALK && IsPlayerInRangeOfPoint(playerid, 2.0, X, Y, Z))
{
SetPlayerPos(playerid, -2327.8637, 1531.1292, 17.3281); //Телепорт
SetPlayerFacingAngle(playerid, 1.6134);
}
if (newkeys == KEY_WALK && IsPlayerInRangeOfPoint(playerid, 2.0, X2, Y2, Z2))
{
SetPlayerPos(playerid, -2327.8637, 1531.1292, 17.3281); //Телепорт
SetPlayerFacingAngle(playerid, 1.6134);
}
return 1;
}[/pwn]

Полезные ссылки:
SetPlayerPos
IsPlayerInRangeOfPoint
OnPlayerKeyStateChange
CreatePickup




www.weddew-shop.ru


Сообщение отредактировал Weddew - Четверг, 17.10.2013, 16:21
RishatДата: Пятница, 18.10.2013, 19:43 | Сообщение # 1624
Уверенный в себе
Группа: Продвинутые
Сообщений: 232
Награды: 3
Город: Nab. Chelny
Репутация: 52
Замечания: 0%
Статус:
Вообщем, такая проблема.

Сделал набросок текстдрава, но есть одна проблема с установкой Бокса.



Почему чёрная полоска бокса продолжается? :) Как то не ахти выглядит.

Вот частичка кода:
Код
    TextDrawAlignment(Textdraw0,0);
     TextDrawBackgroundColor(Textdraw0,0x000000ff);
     TextDrawColor(Textdraw0,0xffffffff);
     TextDrawSetOutline(Textdraw0,0);
     TextDrawSetProportional(Textdraw0,1);
     TextDrawSetShadow(Textdraw0,1);
     TextDrawUseBox(Textdraw0, 1);
     TextDrawBoxColor(Textdraw0, COLOR_BOX);



[Open Source] GTO v.0.5.8 - 0.7.2 [all series]

[GM] GTA-EU Role Play (akka Awesome RPg)
[GM] MultiGTA - Rishat edition 2011

[MAP] Автошкола. (Los Santos)
[MAP] Hospital - Больница (Los Santos)
WeddewДата: Пятница, 18.10.2013, 20:51 | Сообщение # 1625
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Rishat, экспериментируйте с функциями TextDrawTextSize и TextDrawLetterSize.
Меняя значения параметров, можете добиться нужного результата.




www.weddew-shop.ru


Сообщение отредактировал Weddew - Пятница, 18.10.2013, 20:53
RishatДата: Пятница, 18.10.2013, 22:57 | Сообщение # 1626
Уверенный в себе
Группа: Продвинутые
Сообщений: 232
Награды: 3
Город: Nab. Chelny
Репутация: 52
Замечания: 0%
Статус:
Weddew, да, дело было TextDrawTextSize. Спасибо за помощь :)


[Open Source] GTO v.0.5.8 - 0.7.2 [all series]

[GM] GTA-EU Role Play (akka Awesome RPg)
[GM] MultiGTA - Rishat edition 2011

[MAP] Автошкола. (Los Santos)
[MAP] Hospital - Больница (Los Santos)


Сообщение отредактировал Rishat - Пятница, 18.10.2013, 23:14
[[[WampiR]]]Дата: Суббота, 19.10.2013, 19:29 | Сообщение # 1627
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Подскажите, запускаю мод через localhost все дома и машины показываются нормально, залил мод на хостинг, текст пропал с домов, бизов, ну и машин. Имя владельца не пишет вообще, нигде. Машины все как-будто не на продаже, а обычные игровые, которые вписаны в мод.
JEKAДата: Суббота, 19.10.2013, 23:34 | Сообщение # 1628
Новенький
Группа: Продвинутые
Сообщений: 42
Награды: 2
Город: Симферополь
Репутация: 52
Замечания: 0%
Статус:
Здравствуйте! Такой вопрос: возможно ли в Pawn создать функции с переменным количеством аргументов как в С
Код

int sum(int count, ...) {
     va_list args;
     va_start(args, count);
     ......
     va_end(args);

}


Спасибо!

GeryyДата: Воскресенье, 20.10.2013, 01:26 | Сообщение # 1629
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата JEKA ()
Здравствуйте! Такой вопрос: возможно ли в Pawn создать функции с переменным количеством аргументов как в С

Так?
[pwn]
stock KillTimers(...)
{
for (new i; i < numargs(); i ++)
{
KillTimer(getarg(i));
}
return 1;
}[/pwn]



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

Сообщение отредактировал Geryy - Воскресенье, 20.10.2013, 01:26
JEKAДата: Воскресенье, 20.10.2013, 02:22 | Сообщение # 1630
Новенький
Группа: Продвинутые
Сообщений: 42
Награды: 2
Город: Симферополь
Репутация: 52
Замечания: 0%
Статус:
Да, спасибо большое )
MaksimLeaderДата: Воскресенье, 20.10.2013, 14:54 | Сообщение # 1631
Новенький
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 5
Замечания: 0%
Статус:
Всем привет.У меня небольшая проблема.Мне надо,что бы определённую команду можно было ввести только в определённое время,тоесть.
[cut noguest=Вот код команды] if(strcmp(cmd,"/boepripasi",true)==0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pJob] != 9)
{
SendClientMessage(playerid,COLOR_GREY,"Вы не лидер банды/мафии.");
return 1;
}
new x_nr[256];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr)) {
SendClientMessage(playerid, COLOR_WHITE, "* Используйте: /boepripasi [name]");
SendClientMessage(playerid, COLOR_WHITE, "Доступно: Get, Deliver.");
return 1;
}
if(strcmp(x_nr,"get",true) == 0)
{
new level = PlayerInfo[playerid][pGunSkill];
if(PlayerToPoint(3.0,playerid,597.8140,-1247.0750,18.2631))
{
if(MatsHolding[playerid] >= 20)
{
SendClientMessage(playerid, COLOR_GREY, "Вы уже взяли слишком много материалов.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "* Используйте: /boepripasi get [ammount]");
return 1;
}
moneys = strval(tmp);
new price = moneys * 100;
if(level >= 0 && level <= 50)
{
if(moneys < 1 || moneys > 10) { SendClientMessage(playerid, COLOR_GREY, "Невозможное значение (от 1 - до 10)."); return 1; }
}
else if(level >= 51 && level <= 250)
{
if(moneys < 1 || moneys > 15) { SendClientMessage(playerid, COLOR_GREY, "Невозможное значение (от 1 - до 15)."); return 1; }
}
else if(level >= 251 && level <= 500)
{
if(moneys < 1 || moneys > 20) { SendClientMessage(playerid, COLOR_GREY, "Невозможное значение (от 1 - до 20)."); return 1; }
}
else if(level >= 501 && level <= 999)
{
if(moneys < 1 || moneys > 25) { SendClientMessage(playerid, COLOR_GREY, "Невозможное значение (от 1 - до 25)."); return 1; }
}
else if(level >= 1000)
{
if(moneys < 1 || moneys > 30) { SendClientMessage(playerid, COLOR_GREY, "Невозможное значение (от 1 - до 30)."); return 1; }
}
if(PlayerInfo[playerid][pMoney] > price)
{
format(string, sizeof(string), "Вы купили %d материалов, за $%d.", moneys, price);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[playerid][pMoney] -= price;//(playerid, - price);
MatsHolding[playerid] = moneys;
}
else
{
format(string, sizeof(string), "У Вас нет такой суммы.", price);
SendClientMessage(playerid, COLOR_GREY, string);
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Вы не в бункере.");
return 1;
}
}[/cut]

И ещё исправить в коде вот это "if (PlayerInfo[playerid][pJob] != 9) " на то,что бы эту команду могли использовать только лидеры банд/мафий(10ранг)
Очень сильно прошу помощи,вообще не представляю как с такими таймерами или что там работать,но очень сильно надо,без этого никак. :(
Заранее спасибо

GeryyДата: Воскресенье, 20.10.2013, 15:03 | Сообщение # 1632
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата MaksimLeader ()
И ещё исправить в коде вот это "if (PlayerInfo[playerid][pJob] != 9) " на то,что бы эту команду могли использовать только лидеры банд/мафий(10ранг)


Замени условие на if (PlayerInfo[playerid][pLeader] < 10)

Цитата MaksimLeader ()
Мне надо,что бы определённую команду можно было ввести только в определённое время

Подробнее, что значит "в определённое время" ? В 12:00 ?



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
MaksimLeaderДата: Воскресенье, 20.10.2013, 15:22 | Сообщение # 1633
Новенький
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 5
Замечания: 0%
Статус:
Не дописал :)
Что бы можно было команду ввести с 15-00 до 19-00 часов по МСК

GeryyДата: Понедельник, 21.10.2013, 12:26 | Сообщение # 1634
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата MaksimLeader ()
Что бы можно было команду ввести с 15-00 до 19-00 часов по МСК

ну както так
new Hour, Minute, Second;
gettime(Hour, Minute, Second);
if (Hour >= 15 && Hour <= 18) // выполняем



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

Сообщение отредактировал Geryy - Понедельник, 21.10.2013, 12:30
vadja575Дата: Понедельник, 21.10.2013, 12:30 | Сообщение # 1635
Новенький
Группа: Пользователи
Сообщений: 23
Награды: 0
Репутация: -10
Замечания: 0%
Статус:
HELP ищу систему бензина для сервера [bgcolor=blue]sa:mp 0.3x[/bgcolor]
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Страница 109 из 152«12107108109110111151152»
Поиск:





 


 


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