SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian

Reply
 
Thread Tools Display Modes
Old 12/01/2017, 09:15 AM   #14871
joker2020pro
Big Clucker
 
Join Date: Jan 2015
Posts: 110
Reputation: 17
Default Re: Скриптинг курилка

Quote:
Originally Posted by ZiGGi View Post
Возможно, что есть выход за пределы массива или типа того. Поставь crashdetect.
Предыдущий пост, думаю очевидно.
joker2020pro is offline   Reply With Quote
Old 20/01/2017, 12:29 AM   #14872
Diman777
Huge Clucker
 
Diman777's Avatar
 
Join Date: Aug 2011
Location: Ростов-на-Дону
Posts: 439
Reputation: 22
Default Re: Скриптинг курилка

Уже в моде у себя 2-ой баг исправил, когда в case забыл поставить символ точки.
PHP Code:
switch (var)
{
    case 
0..1554.59100..161: ...;

В перечислении видно, что синтаксис нарушен на 54.59, а надо разумеется 54..59.
Так что если у вас в моде есть какой-то казалось бы банальный баг, то может из-за такой фигни в операторе case. И вообще лучше весь мод на этот оператор проверить (я так сделал).
Diman777 is offline   Reply With Quote
Old 25/01/2017, 11:14 AM   #14873
DANGER1979
Gangsta
 
DANGER1979's Avatar
 
Join Date: Sep 2009
Location: Belarus
Posts: 793
Reputation: 21
Default Re: Скриптинг курилка

В двух инклюдах(vw_skinchange.inc и vw_gunchange.inc) подключенных к одному FS(admins.pwn) используется public OnPlayerClickTextDraw(playerid, Text:clickedid)

Code:
#include "../include/vw_skinchange"
#include "../include/vw_gunchange"
Проблема:
не вызывается OnPlayerClickTextDraw из vw_gunchange.inc

Вот окончания пабликов

vw_skinchange.inc
Code:
public OnPlayerClickTextDraw(playerid, clickedid)
{
....
	#if defined skin_OnPlayerClickTextDraw
		return skin_OnPlayerClickTextDraw(playerid, clickedid);
	#else
		return 0; // Allow other scripts to keep processing OnPlayerConnect
	#endif
}
#if defined _ALS_OnPlayerClickTextDraw
	#undef OnPlayerClickTextDraw
#else
	#define _ALS_OnPlayerClickTextDraw
#endif
#define OnPlayerClickTextDraw skin_OnPlayerClickTextDraw
#if defined skin_OnPlayerClickTextDraw
	forward skin_OnPlayerClickTextDraw(playerid, Text:clickedid);
#endif
vw_gunchange.inc
Code:
public OnPlayerClickTextDraw(playerid, clickedid)
{
....
	#if defined gun_OnPlayerClickTextDraw
		return gun_OnPlayerClickTextDraw(playerid, clickedid);
	#else
		return 0; // Allow other scripts to keep processing OnPlayerConnect
	#endif
}
#if defined _ALS_OnPlayerClickTextDraw
	#undef OnPlayerClickTextDraw
#else
	#define _ALS_OnPlayerClickTextDraw
#endif
#define OnPlayerClickTextDraw gun_OnPlayerClickTextDraw
#if defined gun_OnPlayerClickTextDraw
	forward gun_OnPlayerClickTextDraw(playerid, Text:clickedid);
#endif
Что не так?

Наверно лучше сделать так и не париться
Code:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
	skin_OnPlayerClickTextDraw(playerid, Text:clickedid);
	gun_OnPlayerClickTextDraw(playerid, Text:clickedid);
	return 0;
}
__________________
Virtual World Developer

Last edited by DANGER1979; 26/01/2017 at 11:09 AM.
DANGER1979 is offline   Reply With Quote
Old 25/01/2017, 11:44 AM   #14874
Gettopro
Big Clucker
 
Join Date: Oct 2011
Posts: 184
Reputation: 4
Default Re: Скриптинг курилка

Созрел вопрос, позволяет ли самп создавать бота - охранника.
Суть в том, чтобы он ехал за игроком строго по его маршруту на расстоянии 1-2 метров...
Gettopro is offline   Reply With Quote
Old 25/01/2017, 11:50 AM   #14875
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,761
Reputation: 142
Default Re: Скриптинг курилка

Quote:
Originally Posted by Gettopro View Post
Созрел вопрос, позволяет ли самп создавать бота - охранника.
Суть в том, чтобы он ехал за игроком строго по его маршруту на расстоянии 1-2 метров...
FCNPC - Fully Controllable NPC (Russian Thread)
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is online now   Reply With Quote
Old 27/01/2017, 05:59 AM   #14876
DANGER1979
Gangsta
 
DANGER1979's Avatar
 
Join Date: Sep 2009
Location: Belarus
Posts: 793
Reputation: 21
Default Re: Скриптинг курилка

Как убрать срабатывание public OnPlayerClickPlayerTextDraw при двойном щелчке по пункту меню в диалоге со стилем DIALOG_STYLE_LIST?

При нажатии кнопки ОК в диалоге, то public OnPlayerClickPlayerTextDraw не вызывается, т.е. всё нормально.

поставить задержку?

Как отследить в диалоге со стилем DIALOG_STYLE_LIST, что было двойное нажатие по пункту меню, а не просто выбор пункта и нажатие кнопки ОК?
__________________
Virtual World Developer

Last edited by DANGER1979; 27/01/2017 at 07:47 AM.
DANGER1979 is offline   Reply With Quote
Old 27/01/2017, 07:24 AM   #14877
White_116
High-roller
 
Join Date: Sep 2010
Location: Russia/116
Posts: 1,495
Reputation: 69
Default Re: Скриптинг курилка

Если ид ТД 65535 вызовите команду отмены выбора ТД
DIALOG_STYLE_LIST возвращает текст выбраной строки, двойной клик не отследить. При вызове диалога отключи выбор ТД. При завершении верни состояние.
__________________
White_116 is offline   Reply With Quote
Old 27/01/2017, 08:28 AM   #14878
DANGER1979
Gangsta
 
DANGER1979's Avatar
 
Join Date: Sep 2009
Location: Belarus
Posts: 793
Reputation: 21
Default Re: Скриптинг курилка

я знаю что CancelSelectTextDraw и SelectTextDraw вызывают паблик OnPlayerClickPlayerTextDraw.
Но проблема именно при двойном нажатии, т.е. если что то менять, то при нажатии кнопки ОК не будет работать.

Проверка
Code:
	// Handle: They cancelled (with ESC)
	if(clickedid == Text:INVALID_TEXT_DRAW) {
		skinchange_DestroySkinMenu(playerid);
        return 1;.
	}
стоит. Но она не помогает т.к. из таблицы в 21 ячейку, всегда срабатывает ИД 8, т.е. тот который стоит в том месте где находится выбираемая строка диалога. Т.е. получается страница с таблицей текстдровов появляется раньше чем я успеваю нажать второй клик, который закрывает диалог.

Поэтому я сделал задержку выполнения кода. Т.е. появление Меню на 0,1 секунды позже после нажатия кнопки диалога или двойного щелчка.

ПРОВЕРЕНО. РАБОТАЕТ.
__________________
Virtual World Developer

Last edited by DANGER1979; 27/01/2017 at 09:09 AM.
DANGER1979 is offline   Reply With Quote
Old 29/01/2017, 08:11 PM   #14879
stabker
High-roller
 
Join Date: Mar 2012
Posts: 1,311
Reputation: 86
Default Re: Скриптинг курилка

Quote:
Originally Posted by stabker View Post
Для тех, кто пользуется Notepad++. Случалось ли вам встречаться с подобным багом? Открываешь скобку (предположительно) и ниже, в одно из таких открытий, все летит к чертям http://imgur.com/a/1iJX4
Если кому-то интересно, чтобы избежать этот баг, нужно отключить "снимок сессии и периодическое резервное копирование", а также "резервное копирование" (опции - настройки - резерв. копирование).
stabker is offline   Reply With Quote
Old 30/01/2017, 12:34 AM   #14880
Diman777
Huge Clucker
 
Diman777's Avatar
 
Join Date: Aug 2011
Location: Ростов-на-Дону
Posts: 439
Reputation: 22
Default Re: Скриптинг курилка

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

Вот код, написанный самим Калкором для FS ferriswheel, он удалил:
PHP Code:
public OnFilterScriptExit()
{
    new 
x=0;
    
    
DestroyObject(gFerrisWheel);
    
DestroyObject(gFerrisBase);
    
    
x=0;
    while(
!= NUM_FERRIS_CAGES) {
        
DestroyObject(gFerrisCages[x]);
        
x++;
    }

    return 
1;

Diman777 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
IRC-канал по скриптингу: #sa-mp.scripting.RU Zeex Русский/Russian 9 22/05/2015 03:24 AM
как понять кто убил и того кого убили? fooxid Русский/Russian 5 11/07/2010 06:21 PM
как разбить длинную строку? KPECTak Русский/Russian 14 08/06/2010 04:23 AM
Рускоязычные порталы по PAWN скриптингу isan Русский/Russian 15 21/03/2010 08:10 PM


All times are GMT. The time now is 03:40 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.