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

 



 
        
[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
Страница 37 из 152«123536373839151152»
Модератор форума: 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
Damien_LOLДата: Пятница, 26.04.2013, 15:16 | Сообщение # 541
Освоившийся
Группа: Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус:
Merbul в OnPlayerDeath вставь код:
[pwn]if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_CUFFED)
{
SetPlayerPos(playerid,x,y,z); /* здесь вместо x y z вставь координаты тюрьмы и все. Правда в таком случае из тюрьмы игрок сам ни через какое время не выйдет, но ты вроде об этом и не просил. */
}[/pwn]



Http://vk.com/minusdot.team
MerbulДата: Пятница, 26.04.2013, 15:32 | Сообщение # 542
Новенький
Группа: Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
/gotome сделал теперь надо это с тюрьмой. Код как найти?
WeddewДата: Пятница, 26.04.2013, 16:16 | Сообщение # 543
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Merbul)
Я незнаю какой код

А мы то откуда знаем?
Если мод основанный на GF, то в OnPlayerDeath нужно найти что-то подобное:
[pwn]if(PlayerInfo[killerid][pMember] == 1 || PlayerInfo[killerid][pLeader] == 1)[/pwn]
и в этом блоке вписывать телепорт игрока в камеру.




www.weddew-shop.ru
sehrgetДата: Пятница, 26.04.2013, 16:52 | Сообщение # 544
Постоялец
Группа: Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус:
Цитата (sehrget)

1
ini_setString(string,"NameWhoBanned","NoOne");

Код
error 035: argument type mismatch (argument 1)

Цитата (Weddew)
В первом аргументе должна указываться переменная, в которую будет записываться значение открытого файла.
Пример:
1
2
new File = ini_openFile(...);
ini_setString(File ,"NameWhoBanned","NoOne");

format(string2, sizeof(string2), "Accounts/%s.ini", playername2);




Почистил код, вышел только на две ошибки:
error 033: array must be indexed (variable "-unknown-")
error 033: array must be indexed (variable "name")
[pwn] new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new nameadmin = dini_Get(string, "NameWhoBanned");
if(nameadmin == name)
{
....
}[/pwn]

Добавлено (26.04.2013, 16:52)
---------------------------------------------
Ошибки в строках 3 и 4


Сообщение отредактировал sehrget - Пятница, 26.04.2013, 16:51
WeddewДата: Пятница, 26.04.2013, 17:46 | Сообщение # 545
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
sehrget, вы определитесь, чем будете пользоваться: dini или mxINI.



www.weddew-shop.ru
sehrgetДата: Пятница, 26.04.2013, 17:56 | Сообщение # 546
Постоялец
Группа: Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус:
Цитата (Weddew)
sehrget, вы определитесь, чем будете пользоваться: dini или mxINI.

dini, я использую dini

[[[WampiR]]]Дата: Пятница, 26.04.2013, 18:22 | Сообщение # 547
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Подскажите как сделать скин игроку при входе? Ну чтобы когда игрок меняет скин тот уже не появлялся?
SPACE_MANДата: Пятница, 26.04.2013, 18:58 | Сообщение # 548
Новенький
Группа: Пользователи
Сообщений: 35
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
мой чекпоинт появляется на мгновенние, а потом исчезает, и то появляется во время спавна рядом с ним
Вот по этому уроку http://wiki.sa-mp.com/wiki/SetPlayerCheckpoint_RU



Смерть SPACE_MAN-у
sehrgetДата: Пятница, 26.04.2013, 19:03 | Сообщение # 549
Постоялец
Группа: Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус:
Цитата (|||WampiR|||)
Подскажите как сделать скин игроку при входе? Ну чтобы когда игрок меняет скин тот уже не появлялся?

Поставь в pInfo что-то типо pSkin . Далее в SpawnPlayer
[pwn]SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);[/pwn]
и в покупку скина, во все функции выдачи скинов:
[pwn]PlayerInfo[playerid][pSkin] = id купленого скина;[/pwn]

Добавлено (26.04.2013, 19:03)
---------------------------------------------

Цитата (SPACE_MAN)
мой чекпоинт появляется на мгновенние, а потом исчезает, и то появляется во время спавна рядом с ним
Вот по этому уроку http://wiki.sa-mp.com/wiki/SetPlayerCheckpoint_RU

Дай сюда весь код чекпоинта и его функции. Посмотрим.



Сообщение отредактировал sehrget - Пятница, 26.04.2013, 19:02
WeddewДата: Пятница, 26.04.2013, 21:05 | Сообщение # 550
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
sehrget, ну тогда Вам так:
[pwn]dini_Set(string, "NameWhoBanned","NoOne"); [/pwn]




www.weddew-shop.ru
sehrgetДата: Пятница, 26.04.2013, 21:14 | Сообщение # 551
Постоялец
Группа: Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус:
Цитата (Weddew)
sehrget, ну тогда Вам так:
1
dini_Set(string, "NameWhoBanned","NoOne");

Я уже убрал эту проблему! Сейчас у меня эрорят только две строки:
GetPlayerName(playerid, name, sizeof(name));
new nameadmin = dini_Get(string, "NameWhoBanned");

Добавлено (26.04.2013, 21:14)
---------------------------------------------
error 033: array must be indexed (variable "-unknown-")
error 033: array must be indexed (variable "name")
[pwn] new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new nameadmin = dini_Get(string, "NameWhoBanned");
if(nameadmin == name)
{
....
}[/pwn]

BongSkrewsДата: Пятница, 26.04.2013, 21:29 | Сообщение # 552
Новенький
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 18
Замечания: 0%
Статус:
Здравствуйте, помогите пожалуйста связать диалоги:

Код

   switch(dialogid) {  
   case DIALOG_ACLIST: {  
   if(!response) return true;  
   new id = strval(inputtext);  
   new giveplayer[MAX_PLAYER_NAME];  
   GetPlayerName(id, giveplayer, sizeof(giveplayer));  
   if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_GRAD1,"Игрока с таким id нет на сервере.");  
   ShowPlayerDialog(playerid,DIALOG_ACLIST2,DIALOG_STYLE_LIST,"SERVER: Выбор цвета","Белый\nСиний\nКрасный", "Выбор", "Выход");  
   }  
   }  
    
   switch(dialogid) {  
   case DIALOG_ACLIST2: {  
   if(!response) return true;  
   if(listitem == 0) SetPlayerColor(giveplayer,COLOR_WHITE);  
   else if(listitem == 1) SetPlayerColor(giveplayer,COLOR_BLUE);  
   else if(listitem == 1) SetPlayerColor(giveplayer,COLOR_RED);  
   }  
   }  

CruiserДата: Пятница, 26.04.2013, 21:34 | Сообщение # 553
Новенький
Группа: Пользователи
Сообщений: 25
Награды: 0
Город: Армавир
Репутация: 0
Замечания: 0%
Статус:
Здравствуйте, столкнулся с проблемой, не все строки выгружаются из MySQL БД, вот запрос:

mysql_function_query(connectionHandle, "SELECT * FROM `Bizz`", true, "LoadBizz","");

Вот сам паблик, вызываемый в запросе:

[cut=Паблик][pwn]public LoadBizz()
{
new temp[32],rows,fields;
cache_get_data(rows,fields);
if(rows)
{
for(new idx;idx <= rows; idx++)
{
cache_get_field_content(idx,"bOwned",temp), BizzInfo[idx][bOwned] = strval(temp);
cache_get_field_content(idx,"bOwner",BizzInfo[idx][bOwner]);
cache_get_field_content(idx,"bMessage",BizzInfo[idx][bMessage]);
cache_get_field_content(idx,"bEntranceX",temp), BizzInfo[idx][bEntranceX] = floatstr(temp);
cache_get_field_content(idx,"bEntranceY",temp), BizzInfo[idx][bEntranceY] = floatstr(temp);
cache_get_field_content(idx,"bEntranceZ",temp), BizzInfo[idx][bEntranceZ] = floatstr(temp);
cache_get_field_content(idx,"bExitX",temp), BizzInfo[idx][bExitX] = floatstr(temp);
cache_get_field_content(idx,"bExitY",temp), BizzInfo[idx][bExitY] = floatstr(temp);
cache_get_field_content(idx,"bExitZ",temp), BizzInfo[idx][bExitZ] = floatstr(temp);
cache_get_field_content(idx,"bLevelNeeded",temp), BizzInfo[idx][bLevelNeeded] = strval(temp);
cache_get_field_content(idx,"bBuyPrice",temp), BizzInfo[idx][bBuyPrice] = strval(temp);
cache_get_field_content(idx,"bEntranceCost",temp), BizzInfo[idx][bEntranceCost] = strval(temp);
cache_get_field_content(idx,"bTill",temp), BizzInfo[idx][bTill] = strval(temp);
cache_get_field_content(idx,"bLocked",temp), BizzInfo[idx][bLocked] = strval(temp);
cache_get_field_content(idx,"bInterior",temp), BizzInfo[idx][bInterior] = strval(temp);
cache_get_field_content(idx,"bProducts",temp), BizzInfo[idx][bProducts] = strval(temp);
cache_get_field_content(idx,"bMaxProducts",temp), BizzInfo[idx][bMaxProducts] = strval(temp);
cache_get_field_content(idx,"bPriceProd",temp), BizzInfo[idx][bPriceProd] = strval(temp);
}
}
return 1;
}[/pwn][/cut]

и выгружается только 12, хотя в таблицы 13 строк, пробывал еще добавить строк все равно только 12. В чем может быть проблема? В талицы могут быть проблемы?

BongSkrewsДата: Пятница, 26.04.2013, 21:38 | Сообщение # 554
Новенький
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 18
Замечания: 0%
Статус:
Решено
an21Дата: Пятница, 26.04.2013, 21:51 | Сообщение # 555
Уверенный в себе
Группа: Продвинутые
Сообщений: 150
Награды: 1
Город: localhost
Репутация: 233
Замечания: 0%
Статус:
BongSkrews, во первых, почему у вас 2 конструкции switch-case? Должен быть 1 switch и в нем 2 case'a, читайте документацию, чтобы понимать что вы пишите.
[pwn]switch(dialogid)
{
case DIALOG_ACLIST:
{
if(!response) return true;
new id = strval(inputtext);
new giveplayer[MAX_PLAYER_NAME];
GetPlayerName(id, giveplayer, sizeof(giveplayer));
if(!IsPlayerConnected(id))
return SendClientMessage(playerid, COLOR_GRAD1,"Игрока с таким id нет на сервере.");
ShowPlayerDialog(playerid,DIALOG_ACLIST2,DIALOG_STYLE_LIST,"SERVER: Выбор цвета","Белый\nСиний\nКрасный", "Выбор", "Выход");
}
case DIALOG_ACLIST2:
{
if(!response) return true;
if(listitem == 0) SetPlayerColor(giveplayer,COLOR_WHITE);
else if(listitem == 1) SetPlayerColor(giveplayer,COLOR_BLUE);
else if(listitem == 1) SetPlayerColor(giveplayer,COLOR_RED);
}
} [/pwn]
Во вторых, что именно вы хотите связать, выражайте мысли четче.

Добавлено (26.04.2013, 21:51)
---------------------------------------------
Cruiser, во первых, не for(new idx;idx <= rows; idx++), а for(new idx;idx < rows; idx++), так как вы отчет начинаете с 0, а rows хранит количество строк начиная с 1, следовательно условие должно быть на 1 меньше, либо idx изначально должна быть присвоена единица, это так, на всякий случай.

По сути самой проблемы, как вы узнаете сколько элементов возвращает запрос? Вставьте вывод сообщения в сам цикл, посмотрите результат. А, и какой размер заполняемого массива BizzInfo у вас задан?


silver break project developer
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Страница 37 из 152«123536373839151152»
Поиск:





 


 


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