• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
pawno урок AntiDesktopDialog v0.2
adminДата: Среда, 12.10.2011, 18:59:19 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869
Исправлены ошибки с диологом..
Начнем уроку.
верху мода:
Code
forward ADD_OnPlayerUpdate(playerid);
forward ADD_OnPlayerDisconnect(playerid, reason);
forward Desktop_Function(playerid);
forward ADD_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
forward ShowPlayerDialogWithAntiDesktop(playerid, dialogid, style, caption[], info[], button1[], button2[]);

После этого ищем public OnPlayerUpdate(playerid) и туда вставляем:
Code

   if(GetPVarType(playerid, "DesktopTimer") == 0)
   {
       SetPVarInt(playerid, "DesktopTimer", SetTimerEx("Desktop_Function",1000,1,"d",playerid));
   }
   SetPVarInt(playerid, "DesktopCount", GetPVarInt(playerid, "DesktopCount")+1);
   CallLocalFunction("ADD_OnPlayerUpdate", "d", playerid);
   return 1;

Примерно так должен быть public:
Code
public OnPlayerUpdate(playerid)
{
   if(GetPVarType(playerid, "DesktopTimer") == 0)
   {
       SetPVarInt(playerid, "DesktopTimer", SetTimerEx("Desktop_Function",1000,1,"d",playerid));
   }
   SetPVarInt(playerid, "DesktopCount", GetPVarInt(playerid, "DesktopCount")+1);
   CallLocalFunction("ADD_OnPlayerUpdate", "d", playerid);
   return 1;
}

После этого public добавьте:
Code
#if defined _ALS_OnPlayerUpdate
   #undef OnPlayerUpdate
#else
   #define _ALS_OnPlayerUpdate
#endif
#define OnPlayerUpdate ADD_OnPlayerUpdate

если вы делаете в FS.
После этого ищем public OnPlayerDisconnect(playerid, reason) и туда вставляем:
Code
KillTimer(GetPVarInt(playerid, "DesktopTimer"));
   return CallLocalFunction("ADD_OnPlayerDisconnect", "dd", playerid, reason);

Примерно так должен быть public:
Code
public OnPlayerDisconnect(playerid, reason)
{
   KillTimer(GetPVarInt(playerid, "DesktopTimer"));
   return CallLocalFunction("ADD_OnPlayerDisconnect", "dd", playerid, reason);
}

И после этого public добавьте:
Code
#if defined _ALS_OnPlayerDisconnect
   #undef OnPlayerDisconnect
#else
   #define _ALS_OnPlayerDisconnect
#endif
#define OnPlayerDisconnect ADD_OnPlayerDisconnect

Если вы делаете в FS.
После этого добавляем функции в любое место:
Code
public Desktop_Function(playerid)
{
   if(GetPlayerState(playerid) != PLAYER_STATE_WASTED && !IsPlayerNPC(playerid) && IsPlayerConnected(playerid))
   {
    if(GetPVarInt(playerid, "DesktopCount") > 0) { SetPVarInt(playerid, "DesktopStatus", 0); }
    else if(GetPVarInt(playerid, "DesktopCount") <= 0) { SetPVarInt(playerid, "DesktopStatus", GetPVarInt(playerid, "DesktopStatus")+1); }
    SetPVarInt(playerid, "DesktopCount", 0);
   }
   return 1;
}

stock ReturnPVarString(playerid, varname[])
{
   new varstring[256];
   GetPVarString(playerid, varname, varstring, sizeof(varstring));
   return varstring;
}
public ShowPlayerDialogWithAntiDesktop(playerid, dialogid, style, caption[], info[], button1[], button2[])
{
   SetPVarInt(playerid, "PrevDialogID", dialogid);
   SetPVarInt(playerid, "PrevDialogStyle", style);
   SetPVarString(playerid, "PrevDialogCaption", caption);
   SetPVarString(playerid, "PrevDialogInfo", info);
   SetPVarString(playerid, "PrevDialogButton1", button1);
   SetPVarString(playerid, "PrevDialogButton2", button2);
   SendClientMessage(playerid, 0xFFFFFFFF, "ShowPlayerDialog");
   return ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);
}

После этого ищем public OnDialogResponse и туда вставляем:
Code

   if(GetPVarInt(playerid, "DesktopStatus") > 1)
   {
    return ShowPlayerDialog(playerid, GetPVarInt(playerid, "PrevDialogID"), GetPVarInt(playerid, "PrevDialogStyle"), ReturnPVarString(playerid, "PrevDialogCaption"), ReturnPVarString(playerid, "PrevDialogInfo"), ReturnPVarString(playerid, "PrevDialogButton1"), ReturnPVarString(playerid, "PrevDialogButton2"));
   }
   if(inputtext[0] == '\0' || !strlen(inputtext)) { format(inputtext, 128, " "); }
   return CallLocalFunction("ADD_OnDialogResponse", "dddds", playerid, dialogid, response, listitem, inputtext);

Примерно так должен быть public:
Code
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(GetPVarInt(playerid, "DesktopStatus") > 1)
   {
    return ShowPlayerDialog(playerid, GetPVarInt(playerid, "PrevDialogID"), GetPVarInt(playerid, "PrevDialogStyle"), ReturnPVarString(playerid, "PrevDialogCaption"), ReturnPVarString(playerid, "PrevDialogInfo"), ReturnPVarString(playerid, "PrevDialogButton1"), ReturnPVarString(playerid, "PrevDialogButton2"));
   }
   if(inputtext[0] == '\0' || !strlen(inputtext)) { format(inputtext, 128, " "); }
   return CallLocalFunction("ADD_OnDialogResponse", "dddds", playerid, dialogid, response, listitem, inputtext);
}
#define ShowPlayerDialog ShowPlayerDialogWithAntiDesktop

И после этого public вставьте:
Code
#if defined _ALS_OnDialogResponse
   #undef OnDialogResponse
#else
   #define _ALS_OnDialogResponse
#endif
#define OnDialogResponse ADD_OnDialogResponse

Если вы делаете это в FS.
Урок by - 26_RUSSS
Авторы кода:Greetz, Meta.


zm-jail.ru

Разработка сайта samp-pawno.ru


 
СообщениеИсправлены ошибки с диологом..
Начнем уроку.
верху мода:
Code
forward ADD_OnPlayerUpdate(playerid);
forward ADD_OnPlayerDisconnect(playerid, reason);
forward Desktop_Function(playerid);
forward ADD_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
forward ShowPlayerDialogWithAntiDesktop(playerid, dialogid, style, caption[], info[], button1[], button2[]);

После этого ищем public OnPlayerUpdate(playerid) и туда вставляем:
Code

   if(GetPVarType(playerid, "DesktopTimer") == 0)
   {
       SetPVarInt(playerid, "DesktopTimer", SetTimerEx("Desktop_Function",1000,1,"d",playerid));
   }
   SetPVarInt(playerid, "DesktopCount", GetPVarInt(playerid, "DesktopCount")+1);
   CallLocalFunction("ADD_OnPlayerUpdate", "d", playerid);
   return 1;

Примерно так должен быть public:
Code
public OnPlayerUpdate(playerid)
{
   if(GetPVarType(playerid, "DesktopTimer") == 0)
   {
       SetPVarInt(playerid, "DesktopTimer", SetTimerEx("Desktop_Function",1000,1,"d",playerid));
   }
   SetPVarInt(playerid, "DesktopCount", GetPVarInt(playerid, "DesktopCount")+1);
   CallLocalFunction("ADD_OnPlayerUpdate", "d", playerid);
   return 1;
}

После этого public добавьте:
Code
#if defined _ALS_OnPlayerUpdate
   #undef OnPlayerUpdate
#else
   #define _ALS_OnPlayerUpdate
#endif
#define OnPlayerUpdate ADD_OnPlayerUpdate

если вы делаете в FS.
После этого ищем public OnPlayerDisconnect(playerid, reason) и туда вставляем:
Code
KillTimer(GetPVarInt(playerid, "DesktopTimer"));
   return CallLocalFunction("ADD_OnPlayerDisconnect", "dd", playerid, reason);

Примерно так должен быть public:
Code
public OnPlayerDisconnect(playerid, reason)
{
   KillTimer(GetPVarInt(playerid, "DesktopTimer"));
   return CallLocalFunction("ADD_OnPlayerDisconnect", "dd", playerid, reason);
}

И после этого public добавьте:
Code
#if defined _ALS_OnPlayerDisconnect
   #undef OnPlayerDisconnect
#else
   #define _ALS_OnPlayerDisconnect
#endif
#define OnPlayerDisconnect ADD_OnPlayerDisconnect

Если вы делаете в FS.
После этого добавляем функции в любое место:
Code
public Desktop_Function(playerid)
{
   if(GetPlayerState(playerid) != PLAYER_STATE_WASTED && !IsPlayerNPC(playerid) && IsPlayerConnected(playerid))
   {
    if(GetPVarInt(playerid, "DesktopCount") > 0) { SetPVarInt(playerid, "DesktopStatus", 0); }
    else if(GetPVarInt(playerid, "DesktopCount") <= 0) { SetPVarInt(playerid, "DesktopStatus", GetPVarInt(playerid, "DesktopStatus")+1); }
    SetPVarInt(playerid, "DesktopCount", 0);
   }
   return 1;
}

stock ReturnPVarString(playerid, varname[])
{
   new varstring[256];
   GetPVarString(playerid, varname, varstring, sizeof(varstring));
   return varstring;
}
public ShowPlayerDialogWithAntiDesktop(playerid, dialogid, style, caption[], info[], button1[], button2[])
{
   SetPVarInt(playerid, "PrevDialogID", dialogid);
   SetPVarInt(playerid, "PrevDialogStyle", style);
   SetPVarString(playerid, "PrevDialogCaption", caption);
   SetPVarString(playerid, "PrevDialogInfo", info);
   SetPVarString(playerid, "PrevDialogButton1", button1);
   SetPVarString(playerid, "PrevDialogButton2", button2);
   SendClientMessage(playerid, 0xFFFFFFFF, "ShowPlayerDialog");
   return ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);
}

После этого ищем public OnDialogResponse и туда вставляем:
Code

   if(GetPVarInt(playerid, "DesktopStatus") > 1)
   {
    return ShowPlayerDialog(playerid, GetPVarInt(playerid, "PrevDialogID"), GetPVarInt(playerid, "PrevDialogStyle"), ReturnPVarString(playerid, "PrevDialogCaption"), ReturnPVarString(playerid, "PrevDialogInfo"), ReturnPVarString(playerid, "PrevDialogButton1"), ReturnPVarString(playerid, "PrevDialogButton2"));
   }
   if(inputtext[0] == '\0' || !strlen(inputtext)) { format(inputtext, 128, " "); }
   return CallLocalFunction("ADD_OnDialogResponse", "dddds", playerid, dialogid, response, listitem, inputtext);

Примерно так должен быть public:
Code
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(GetPVarInt(playerid, "DesktopStatus") > 1)
   {
    return ShowPlayerDialog(playerid, GetPVarInt(playerid, "PrevDialogID"), GetPVarInt(playerid, "PrevDialogStyle"), ReturnPVarString(playerid, "PrevDialogCaption"), ReturnPVarString(playerid, "PrevDialogInfo"), ReturnPVarString(playerid, "PrevDialogButton1"), ReturnPVarString(playerid, "PrevDialogButton2"));
   }
   if(inputtext[0] == '\0' || !strlen(inputtext)) { format(inputtext, 128, " "); }
   return CallLocalFunction("ADD_OnDialogResponse", "dddds", playerid, dialogid, response, listitem, inputtext);
}
#define ShowPlayerDialog ShowPlayerDialogWithAntiDesktop

И после этого public вставьте:
Code
#if defined _ALS_OnDialogResponse
   #undef OnDialogResponse
#else
   #define _ALS_OnDialogResponse
#endif
#define OnDialogResponse ADD_OnDialogResponse

Если вы делаете это в FS.
Урок by - 26_RUSSS
Авторы кода:Greetz, Meta.

Автор - admin
Дата добавления - 12.10.2011 в 18:59:19
ЯстребДата: Воскресенье, 16.10.2011, 01:04:14 | Сообщение # 2

Группа: Пользователи
Сообщений: 19
а какую проблему он решает???
 
Сообщениеа какую проблему он решает???

Автор - Ястреб
Дата добавления - 16.10.2011 в 01:04:14
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

swoysb

(Пятница 14:55:29)

Вверх
23:40:39
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: