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

 



 
          





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





Последние Файлы 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] Вопросы ответы по SAMP [от 11.01.2012]
ВеликсДата: Среда, 11.01.2012, 23:37 | Сообщение # 1
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
[move]-= Вопрос | Ответ =-[/move]

В этой теме вы сможете получить ответы, на многие ваши вопросы по PAWN.


Новичкам:


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


Скриптерам:

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



[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]


Сообщение отредактировал Weddew - Понедельник, 09.06.2014, 03:17
WeddewДата: Понедельник, 04.02.2013, 19:43 | Сообщение # 5821
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Sa|N|eK)
Помоги плиз а то я в этом неочень шарю! Заранее спасибо!!

Например, у Вас:
Код

format(string, sizeof(string), "Hello World");

Можно разбить так:
Код

strcat(string, "Hello ");
strcat(string, "world");




www.weddew-shop.ru


Сообщение отредактировал Weddew - Понедельник, 04.02.2013, 19:43
xBraiNxДата: Понедельник, 04.02.2013, 21:33 | Сообщение # 5822
Новенький
Группа: Пользователи
Сообщений: 69
Награды: 0
Город: Волгоград
Репутация: -25
Замечания: 0%
Статус:
Извиняюсь за нубский вопрос, но на каком языке пишутся инклуды? blush2
BorogДата: Понедельник, 04.02.2013, 22:08 | Сообщение # 5823
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус:
xBraiNx, на pawn, как и моды


Silver Break
http://s-break.ru/
http://vk.com/sbreak
Sa[N]eKДата: Понедельник, 04.02.2013, 22:18 | Сообщение # 5824
Новенький
Группа: Пользователи
Сообщений: 28
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Weddew, приведи пожалуста пример по моей строке как начать разбивку а дальше я попробую сам
Код
ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_MSGBOX,"{FFFFFF}Правила сервера {FFA500}Vida Virtual |RPG|:","\n{FFA500}Ники игроков:\n\n{FFFFFF}- Ники должны состоять из Имени_Фамилии с заглавных букв.\n- Ник не должен быть похож на ник кого-либо из других игроков.\n- Ник не должен содержать нецензурных и ругательных слов.\n\n{FFA500}Правило чатов:\n\n{FFFFFF}- Запрещена любая реклама, некасающаяся ресурсов Vida Virtual.\n- Запрещен флуд, мат, оскорбления, засорение публичных чатов.\n- Запрещено писать в чаты полностью верхним регистром(Капс).\n\n{FFA500}Игровой процесс:\n\n{FFFFFF}- Запрещено исользовать любые читы, трейеры, дающие преимущество над другими.\n- Запрещен SpawnKill - убийство игроков на месте их возрождения.\n- Запрещено использовать любые баги и недоработки игрового сервера.\n- Запрещено подстрекать других игроков на нарушение правил сервера.\n- Запрещен DriveBy(ДБ) - Убийство игроков с помощью транспорта.\n- Запрещены любые продажи игровых благ за реальные деньги.\n\n{FFA500}Игровой аккаунт{FF0000}(Важно):\n\n{FFFFFF}- Запрещено передовать или продавать свой аккаунт вторым лицам.\n{FF0000}- Ни при каких условиях не давать свой пароль от аккаунта другим игрокам!\n- Администрация никогда не просит паролей от Ваших аккаунтов!\n{FFFFFF}- Советуем использовать сложные пароли во избежании взлома аккаунта.","В игру");

FabervoxДата: Вторник, 05.02.2013, 00:04 | Сообщение # 5825
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 235
Награды: 1
Город: Краматорск
Репутация: 217
Замечания: 0%
Статус:
Sa[N]eK, strcat(исходная, добавляемая). Просто вручную разбиваете на несколько кусков(у вас там на скрине несколько блоков текста как раз), создаете переменную с первым куском(или пустую), и потом выполняете функцию strcat(string, "содержимое следующего куска"), в итоге переменная содержит весь текст и просто вставляете её в виде аргумента к нужной вам функции.

[off]Честно говоря сам только попробовал конкатеацию в PAWN. В PHP это конечно удобней...[/off]




RP в мире - как мух в сортире, а нужного чуда не видать покуда..©_Z_
Как посмотришь, сколько тысяч строчек кода, в одном файле, сразу понимаешь почему моды делают годами.
Закон сохранения сложности


Сообщение отредактировал Fabervox - Вторник, 05.02.2013, 00:07
Sa[N]eKДата: Вторник, 05.02.2013, 01:28 | Сообщение # 5826
Новенький
Группа: Пользователи
Сообщений: 28
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Fabervox, ну вот как то разбил може неправильно но мод компилировался без ошибок!Только мне надо чтоб все это было в диалоговом окне ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_MSGBOX а то при входе на серв оно не высвечиваеться и зайти на серв неполучаеться!!!!! Как мне это зделать?

Вот код который у меня получился
Код
new string[1234];
  strcat(string, "{FFFFFF}Правила сервера {FFA500}Vida Virtual |RPG|:\n\n");
  strcat(string, "{FFA500}Ники игроков:\n\n");
  strcat(string, "{FFFFFF}- Ники должны состоять из Имени_Фамилии с заглавных букв.\n- Ник не должен быть похож на ник кого-либо из других игроков.\n- Ник не должен содержать нецензурных и ругательных слов. ");
  strcat(string, "{FFA500}Правило чатов:\n\n");
  strcat(string, "{FFFFFF}- Запрещена любая реклама, некасающаяся ресурсов Vida Virtual.\n- Запрещен флуд, мат, оскорбления, засорение публичных чатов.\n- Запрещено писать в чаты полностью верхним регистром(Капс).");
  strcat(string, "{FFA500}Игровой процесс::\n\n");
  strcat(string, "{FFFFFF}- Запрещено исользовать любые читы, трейеры, дающие преимущество над другими.\n- Запрещен SpawnKill - убийство игроков на месте их возрождения.\n- Запрещено использовать любые баги и недоработки игрового сервера.\n- Запрещено подстрекать других игроков на нарушение правил сервера.\n- Запрещен DriveBy(ДБ) - Убийство игроков с помощью транспорта.\n- Запрещены любые продажи игровых благ за реальные деньги.");
  strcat(string, "{FFA500}Игровой аккаунт{FF0000}(Важно):\n\n");
  strcat(string, "{FFFFFF}- Запрещено передовать или продавать свой аккаунт вторым лицам.\n{FF0000}- Ни при каких условиях не давать свой пароль от аккаунта другим игрокам!\n- Администрация никогда не просит паролей от Ваших аккаунтов!/n{FFFFFF}- Советуем использовать сложные пароли во избежании взлома аккаунта.\n\n");
  strcat(string, "В игру");

FabervoxДата: Вторник, 05.02.2013, 13:37 | Сообщение # 5827
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 235
Награды: 1
Город: Краматорск
Репутация: 217
Замечания: 0%
Статус:
Sa[N]eK, ты не правильно разбил. Первый и последний strcat лишние. Первый это у тебя заголовок, а последний это надпись кнопки. Первый можно заменить на переменную, но не обязательно:
Код
new title[];
  title = "{FFFFFF}Правила сервера {FFA500}Vida Virtual |RPG|:\n\n";

А потом просто в виде аргументов вписываешь в свою функцию.
Код
ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_MSGBOX,title,string,"В игру","");


[off]Ну и ИМХО нет смысла делать так много stcat'ов, в твоем случае достаточно 3-4. Хотя можно впихнуть в переменные каждую строчку, и при нарушениях, брать из них содержимое. Но это не решение проблемы, а просто мое мнение.[/off]




RP в мире - как мух в сортире, а нужного чуда не видать покуда..©_Z_
Как посмотришь, сколько тысяч строчек кода, в одном файле, сразу понимаешь почему моды делают годами.
Закон сохранения сложности
WeddewДата: Вторник, 05.02.2013, 14:41 | Сообщение # 5828
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Fabervox)
Sa[N]eK, ты не правильно разбил. Первый и последний strcat лишние.

Не согласен, при объявлении массива на языке Pawn, массив изначально пуст.

Добавлено (05.02.2013, 14:41)
---------------------------------------------
Sa[N]eK,
Код

new string[1215];   
    strcat(string, "{FFA500}Ники игроков:\n\n");   
    strcat(string, "{FFFFFF}- Ники должны состоять из Имени_Фамилии с заглавных букв.\n- Ник не должен быть похож на ник кого-либо из других игроков.\n- Ник не должен содержать нецензурных и ругательных слов. ");   
    strcat(string, "{FFA500}Правило чатов:\n\n");   
    strcat(string, "{FFFFFF}- Запрещена любая реклама, некасающаяся ресурсов Vida Virtual.\n- Запрещен флуд, мат, оскорбления, засорение публичных чатов.\n- Запрещено писать в чаты полностью верхним регистром(Капс).");   
    strcat(string, "{FFA500}Игровой процесс::\n\n");   
    strcat(string, "{FFFFFF}- Запрещено исользовать любые читы, трейеры, дающие преимущество над другими.\n- Запрещен SpawnKill - убийство игроков на месте их возрождения.\n- Запрещено использовать любые баги и недоработки игрового сервера.\n- Запрещено подстрекать других игроков на нарушение правил сервера.\n- Запрещен DriveBy(ДБ) - Убийство игроков с помощью транспорта.\n- Запрещены любые продажи игровых благ за реальные деньги.");   
    strcat(string, "{FFA500}Игровой аккаунт{FF0000}(Важно):\n\n");   
    strcat(string, "{FFFFFF}- Запрещено передовать или продавать свой аккаунт вторым лицам.\n{FF0000}- Ни при каких условиях не давать свой пароль от аккаунта другим игрокам!\n- Администрация никогда не просит паролей от Ваших аккаунтов!/n{FFFFFF}- Советуем использовать сложные пароли во избежании взлома аккаунта.\n\n");   
ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_MSGBOX,"{FFFFFF}Правила сервера {FFA500}Vida Virtual |RPG|:",string,"В игру","");




www.weddew-shop.ru


Сообщение отредактировал Weddew - Вторник, 05.02.2013, 14:42
FabervoxДата: Вторник, 05.02.2013, 14:53 | Сообщение # 5829
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 235
Награды: 1
Город: Краматорск
Репутация: 217
Замечания: 0%
Статус:
Цитата (Weddew)
Не согласен, при объявлении массива он на языке Pawn, массив изначально пуст.

Я имел ввиду что он в одну переменную значения 3х аргументов вставил. А насчет заголовка в переменную, я и написал что не обязательно. [off]Просто я думаю даже тайтл достаточно длинный, поэтому читабельней будет если сделать переменную.[/off]

Weddew, вы случайно не знаете какие функции в PAWN заменяют explode и list или в какой библиотеке они есть?




RP в мире - как мух в сортире, а нужного чуда не видать покуда..©_Z_
Как посмотришь, сколько тысяч строчек кода, в одном файле, сразу понимаешь почему моды делают годами.
Закон сохранения сложности


Сообщение отредактировал Fabervox - Вторник, 05.02.2013, 17:13
WeddewДата: Вторник, 05.02.2013, 17:26 | Сообщение # 5830
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Fabervox)
Weddew, вы случайно не знаете какие функции в PAWN заменяют explode и list или в какой библиотеке они есть?

Напишите подробнее.




www.weddew-shop.ru
FabervoxДата: Вторник, 05.02.2013, 18:20 | Сообщение # 5831
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 235
Награды: 1
Город: Краматорск
Репутация: 217
Замечания: 0%
Статус:
Цитата (Weddew)
Напишите подробнее.

Я имел ввиду подобные PHP.
explode($separator,$string) - разбирает строку по сепаратору, возвращает значения в массив, если массив не пуст, то дописывает.
list() - присваивает переменным из списка значения подобно массиву. И может присвоить значения списку переменных из массива, в php следующий синтаксис:
Код
list($first,$second,$third) = $array;


Вот мне нужны аналоги на PAWN.




RP в мире - как мух в сортире, а нужного чуда не видать покуда..©_Z_
Как посмотришь, сколько тысяч строчек кода, в одном файле, сразу понимаешь почему моды делают годами.
Закон сохранения сложности
WeddewДата: Вторник, 05.02.2013, 18:34 | Сообщение # 5832
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Fabervox, если я не ошибаюсь, то функция split аналог той, которую Вы указали, но только на Pawn.
Код

stock split(const strsrc[], strdest[][], delimiter)
{
     new i, li;
     new aNum;
     new len;
     while(i <= strlen(strsrc))
     {
         if(strsrc[i] == delimiter || i == strlen(strsrc))
         {
             len = strmid(strdest[aNum], strsrc, li, i, 128);
             strdest[aNum][len] = 0;
             li = i+1;
             aNum++;
         }
         i++;
     }
     return 1;
}

Добавлено (05.02.2013, 18:34)
---------------------------------------------
Пример использования:

Код
public OnFilterScriptInit()
{
     new tmp[2][128];
     split("Hello World!", tmp, ' ');
     print(tmp[0]);
}




www.weddew-shop.ru
Sa[N]eKДата: Вторник, 05.02.2013, 18:56 | Сообщение # 5833
Новенький
Группа: Пользователи
Сообщений: 28
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Weddew, и Fabervox, спасибо вам огромное вы мне очень помогли!!!!!
JiggaДата: Среда, 06.02.2013, 08:28 | Сообщение # 5834
Новенький
Группа: Пользователи
Сообщений: 53
Награды: 0
Город: Владивосток
Репутация: 0
Замечания: 0%
Статус:
помогите исправить ошибки
Код
C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(41) : error 021: symbol already defined: "mysql_affected_rows"
C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(42) : error 021: symbol already defined: "mysql_close"
C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(43) : error 021: symbol already defined: "mysql_connect"
C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(43) : error 025: function heading differs from prototype
C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(43) : error 025: function heading differs from prototype
C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(43) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

6 Errors.C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(41) : error 021: symbol already defined: "mysql_affected_rows"
C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(42) : error 021: symbol already defined: "mysql_close"
C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(43) : error 021: symbol already defined: "mysql_connect"
C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(43) : error 025: function heading differs from prototype
C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(43) : error 025: function heading differs from prototype
C:\Users\Михаил\Documents\Misha\test mode\Thedrote\pawno\include\a_mysql.inc(43) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

6 Errors.

строчки 42 43
#define S_SQL_HOST "localhost" // IP адресс БД.
#define S_SQL_USER "asd" // Login БД.
#define S_SQL_DB "pro2" // Название БД.
#define S_SQL_PASS "1111" // Пароль БД.

AnthonyДата: Среда, 06.02.2013, 08:42 | Сообщение # 5835
Уверенный в себе
Группа: Publishers
Сообщений: 211
Награды: 4
Замечания: 0%
Статус:
Здравствуйте!
У меня проблема с рестартом,когда в игре пишу /gmx рестарт не делается, а в server.exe работает когда там ввожу gmx.скажите пожалуйста где что не так.
else if(strcmp(cmd, "/gmx", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 8)
{
if (dostup[playerid] != 1) return SPD(playerid,2934,DIALOG_STYLE_INPUT,"Äîñòóï àäìèíèñòðàòîðà","Ââåäèòå ïàðîëü îò àäìèíèñòðàòèâíîé ïàíåëè","Îê","Îòìåíà");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessage(playerid, COLOR_GREY, " ");
SendClientMessageToAll(COLOR_YELLOW2,"::: {ECF2B6}Âíèìàíèå! Ïðîèñõîäèò ðåñòàðò ñåðâåðà, ýòî çàéì¸ò ìåíåå 30 ñåêóíä :::");
SendClientMessageToAll(COLOR_YELLOW2,"::: {ECF2B6}Àäìèíèñòðàöèÿ {E1F52F}***** RP {ECF2B6}ïðèíîñèò èçâèíåíèÿ, çà ïðåäîñòàâëåííûå íåóäîáñòâà :::");
format(string, sizeof(string), "~r~RESTART");
foreach(new i : Player)
{
new txtid;
GameTextForPlayer(i, string, 5000, txtid);
}
GameModeExitFunc();
format(string, sizeof(string), "~r~RESTART");
}
return true;
}
else if(strcmp(cmd, "/saveall", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
SaveAccounts();
SaveMaterials();
SaveGZ();
OnPropUpdate();
SaveCarTuning(playerid);
SaveBankMafia();
SaveHomeSbizz();
SaveBankFrac();
SendClientMessage(playerid,COLOR_GRAD1,"Ñîõðàíåíî");
}
return true;
}




Поиск:





 


 


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