• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
[FS] Duel System By DraKoN
adminДата: Суббота, 25.12.2010, 02:17:15 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869
Введение:

Есть Дуэль системы ..
Из-за некоторых людей хотят одного Дуэль системе, я пост здесь мой проект, который был сотрудничал моим другом JONA

Код:
Из-за кода мало, просто изменить здесь вниз

Code
//-> Go To  X1 <-//
     //SetPlayerPos -> Go To You Arena
     //SetPlayerArmor -> Give Armour
     //SetPlayerHealth -> Give Health
     // Or Others

Замечания: PID = Игрок 2 | PlayerID = Игрок 1
Вот код:
Code
#include <a_samp>
#define DIALOG_DUEL 24245
new bool:InvitedDuel[MAX_PLAYERS];
new IdDuel[MAX_PLAYERS];
new bool:UsingArena;
new Counting = 5;
new CountDueling[5][5] ={"~r~1","~b~2","~p~3","~y~4","~g~5"};
forward ExecuteCount(playerid,pid);
public ExecuteCount(playerid,pid)
{
     if (Counting > 0)
     {
         GameTextForPlayer(playerid,CountDueling[Counting-1], 2500, 3);
         GameTextForPlayer(pid,CountDueling[Counting-1], 1000, 3);
         Counting--;
         SetTimerEx("GoDuel",1000,false,"ii",playerid,pid);
     }
     else
     {
         GameTextForPlayer(playerid,"~>~~g~Go~w~Go~r~Go~b~Go~<~", 2500, 3);
         GameTextForPlayer(pid,"~>~~g~Go~w~Go~r~Go~b~Go~<~", 2500, 3);
         Counting = 5;
         TogglePlayerControllable(playerid,true);
         TogglePlayerControllable(pid,true);
     }
     return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
     new cmd[128];
     new idx;
     new id;
     cmd = otherplayerids(cmdtext, idx);
     if(!strcmp("/duel", cmd, true))
     {
         new tmp[128];
         new string[128];
         tmp = otherplayerids(cmdtext, idx);
         id = strval(tmp);
         if(InvitedDuel[playerid] == true) return SendClientMessage(playerid,0xF41917AA,"»»[DUEL]«« : Have you invited someone, wait Expire Invitation");
         if(UsingArena == true) return SendClientMessage(playerid,0xF41917AA,"»»[DUEL]«« : At the time the Arena is Being Used");
         if(!strlen(tmp)) return SendClientMessage(playerid,0xF41917AA,"»»[DUEL]«« : You must enter the ID of the player following the Way (/duel [playerid])");
         if(id == playerid) return SendClientMessage(playerid,0xF41917AA,"»»[DUEL]«« : You can not invite the Self");
         if(InvitedDuel[id] == true) return SendClientMessage(playerid,0xF41917AA,"»»[DUEL]«« : Currently the player is in a Duel, wait..");
         new name[MAX_PLAYER_NAME];
         GetPlayerName(playerid, name, sizeof(name));
         format(string, sizeof(string), "»»[DUEL]«« : %s This inviting you to a \n Duel Runing (Press Accept to Accept Duel)",name);
         ShowPlayerDialog(id,DIALOG_DUEL,DIALOG_STYLE_MSGBOX,"»»[DUEL]«« :",string,"Accept", "No");
         GameTextForPlayer(id,"~r~DUE~w~LO !", 2500, 3);
         InvitedDuel[id] = true;
         IdDuel[id] = playerid;
         SetTimerEx("ExpireDuel",15000,false,"ii",id,playerid);
         return 1;
     }
     return 0;
}

forward GoDuel(playerid,pid);
public GoDuel(playerid,pid)
{
     //-> Go To  X1 <-//
     //SetPlayerPos
     //SetPlayerArmor
     //SetPlayerHealth

     //-> Functions for Count x1<-//
     TogglePlayerControllable(playerid,false);
     TogglePlayerControllable(pid,false);
     ExecuteCount(playerid,pid);
     return 1;
}

forward ExpireDuel(playerid,pid);
public ExpireDuel(playerid,pid)
{
     if(UsingArena == false)
     {
         SendClientMessage(pid,0x1DF6F6AA,"»»[DUEL]«« : Expired challenge, He Refused");
         SendClientMessage(playerid,0x1DF6F6AA,"»»[DUEL]«« : Expired challenge, you automatically refuse");
         InvitedDuel[pid] = false;
         InvitedDuel[playerid] = false;
         IdDuel[playerid] = playerid;
         IdDuel[pid] = pid;
     }
     return 1;
}

otherplayerids(const string[], &index)
{
     new length = strlen(string);
     while ((index < length) && (string[index] <= ' '))
     {
         index++;
     }
     new offset = index;
     new result[20];
     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
     {
         result[index - offset] = string[index];
         index++;
     }
     result[index - offset] = EOS;
     return result;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
     if(dialogid == DIALOG_DUEL)
     {
         if(!response) return ExpireDuel(playerid,IdDuel[playerid]);
         if(response)
         {
             UsingArena = true;
             new name[MAX_PLAYER_NAME], string[44];
             GetPlayerName(playerid, name, sizeof(name));
             format(string, sizeof(string), "»»[DUEL]«« : %s accepted the challenge, wait 8 seconds to go to Duel.",name);
             SendClientMessage(IdDuel[playerid],0xF6F600AA,string);
             SendClientMessage(playerid,0xF6F600AA,"»»[DUEL]«« : You accepted the Duel Wait 8 seconds to process your Data");
             SetTimerEx("GoDuel",8000,false,"ii",playerid,IdDuel[playerid]);
         }
         return 1;
     }
     return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
     if(InvitedDuel[killerid] == true)
     {
         new Float:healthkiller;
         new namekiller[24],namedeather[24],string[44];
         GetPlayerName(killerid, namekiller, 24);
         GetPlayerName(playerid, namedeather, 24);
         GetPlayerHealth(killerid,healthkiller);
         format(string, sizeof(string), "»»[DUELO]«« : %s Wins Duel of %s how %0.0f off Armour and Health",namekiller,namedeather,healthkiller);
         SendClientMessageToAll(0xF600F6AA, string);
         InvitedDuel[killerid] = false;
         InvitedDuel[playerid] = false;
         IdDuel[playerid] = playerid;
         IdDuel[killerid] = killerid;
         UsingArena = false;
         healthkiller = 0;
         SpawnPlayer(killerid);
     }
     return 1;
}

Замечания: Я советую вам добавить к этому GameMode, потому что конфликты

ВПО вам нравятся мои простые Дуэли система удовольствием поделиться здесь ...

КРЕДИТЫ ДЛЯ Иона, ДРАКОН
Источник:sa-mp.com



zm-jail.ru

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


 
СообщениеВведение:

Есть Дуэль системы ..
Из-за некоторых людей хотят одного Дуэль системе, я пост здесь мой проект, который был сотрудничал моим другом JONA

Код:
Из-за кода мало, просто изменить здесь вниз

Code
//-> Go To  X1 <-//
     //SetPlayerPos -> Go To You Arena
     //SetPlayerArmor -> Give Armour
     //SetPlayerHealth -> Give Health
     // Or Others

Замечания: PID = Игрок 2 | PlayerID = Игрок 1
Вот код:
Code
#include <a_samp>
#define DIALOG_DUEL 24245
new bool:InvitedDuel[MAX_PLAYERS];
new IdDuel[MAX_PLAYERS];
new bool:UsingArena;
new Counting = 5;
new CountDueling[5][5] ={"~r~1","~b~2","~p~3","~y~4","~g~5"};
forward ExecuteCount(playerid,pid);
public ExecuteCount(playerid,pid)
{
     if (Counting > 0)
     {
         GameTextForPlayer(playerid,CountDueling[Counting-1], 2500, 3);
         GameTextForPlayer(pid,CountDueling[Counting-1], 1000, 3);
         Counting--;
         SetTimerEx("GoDuel",1000,false,"ii",playerid,pid);
     }
     else
     {
         GameTextForPlayer(playerid,"~>~~g~Go~w~Go~r~Go~b~Go~<~", 2500, 3);
         GameTextForPlayer(pid,"~>~~g~Go~w~Go~r~Go~b~Go~<~", 2500, 3);
         Counting = 5;
         TogglePlayerControllable(playerid,true);
         TogglePlayerControllable(pid,true);
     }
     return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
     new cmd[128];
     new idx;
     new id;
     cmd = otherplayerids(cmdtext, idx);
     if(!strcmp("/duel", cmd, true))
     {
         new tmp[128];
         new string[128];
         tmp = otherplayerids(cmdtext, idx);
         id = strval(tmp);
         if(InvitedDuel[playerid] == true) return SendClientMessage(playerid,0xF41917AA,"»»[DUEL]«« : Have you invited someone, wait Expire Invitation");
         if(UsingArena == true) return SendClientMessage(playerid,0xF41917AA,"»»[DUEL]«« : At the time the Arena is Being Used");
         if(!strlen(tmp)) return SendClientMessage(playerid,0xF41917AA,"»»[DUEL]«« : You must enter the ID of the player following the Way (/duel [playerid])");
         if(id == playerid) return SendClientMessage(playerid,0xF41917AA,"»»[DUEL]«« : You can not invite the Self");
         if(InvitedDuel[id] == true) return SendClientMessage(playerid,0xF41917AA,"»»[DUEL]«« : Currently the player is in a Duel, wait..");
         new name[MAX_PLAYER_NAME];
         GetPlayerName(playerid, name, sizeof(name));
         format(string, sizeof(string), "»»[DUEL]«« : %s This inviting you to a \n Duel Runing (Press Accept to Accept Duel)",name);
         ShowPlayerDialog(id,DIALOG_DUEL,DIALOG_STYLE_MSGBOX,"»»[DUEL]«« :",string,"Accept", "No");
         GameTextForPlayer(id,"~r~DUE~w~LO !", 2500, 3);
         InvitedDuel[id] = true;
         IdDuel[id] = playerid;
         SetTimerEx("ExpireDuel",15000,false,"ii",id,playerid);
         return 1;
     }
     return 0;
}

forward GoDuel(playerid,pid);
public GoDuel(playerid,pid)
{
     //-> Go To  X1 <-//
     //SetPlayerPos
     //SetPlayerArmor
     //SetPlayerHealth

     //-> Functions for Count x1<-//
     TogglePlayerControllable(playerid,false);
     TogglePlayerControllable(pid,false);
     ExecuteCount(playerid,pid);
     return 1;
}

forward ExpireDuel(playerid,pid);
public ExpireDuel(playerid,pid)
{
     if(UsingArena == false)
     {
         SendClientMessage(pid,0x1DF6F6AA,"»»[DUEL]«« : Expired challenge, He Refused");
         SendClientMessage(playerid,0x1DF6F6AA,"»»[DUEL]«« : Expired challenge, you automatically refuse");
         InvitedDuel[pid] = false;
         InvitedDuel[playerid] = false;
         IdDuel[playerid] = playerid;
         IdDuel[pid] = pid;
     }
     return 1;
}

otherplayerids(const string[], &index)
{
     new length = strlen(string);
     while ((index < length) && (string[index] <= ' '))
     {
         index++;
     }
     new offset = index;
     new result[20];
     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
     {
         result[index - offset] = string[index];
         index++;
     }
     result[index - offset] = EOS;
     return result;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
     if(dialogid == DIALOG_DUEL)
     {
         if(!response) return ExpireDuel(playerid,IdDuel[playerid]);
         if(response)
         {
             UsingArena = true;
             new name[MAX_PLAYER_NAME], string[44];
             GetPlayerName(playerid, name, sizeof(name));
             format(string, sizeof(string), "»»[DUEL]«« : %s accepted the challenge, wait 8 seconds to go to Duel.",name);
             SendClientMessage(IdDuel[playerid],0xF6F600AA,string);
             SendClientMessage(playerid,0xF6F600AA,"»»[DUEL]«« : You accepted the Duel Wait 8 seconds to process your Data");
             SetTimerEx("GoDuel",8000,false,"ii",playerid,IdDuel[playerid]);
         }
         return 1;
     }
     return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
     if(InvitedDuel[killerid] == true)
     {
         new Float:healthkiller;
         new namekiller[24],namedeather[24],string[44];
         GetPlayerName(killerid, namekiller, 24);
         GetPlayerName(playerid, namedeather, 24);
         GetPlayerHealth(killerid,healthkiller);
         format(string, sizeof(string), "»»[DUELO]«« : %s Wins Duel of %s how %0.0f off Armour and Health",namekiller,namedeather,healthkiller);
         SendClientMessageToAll(0xF600F6AA, string);
         InvitedDuel[killerid] = false;
         InvitedDuel[playerid] = false;
         IdDuel[playerid] = playerid;
         IdDuel[killerid] = killerid;
         UsingArena = false;
         healthkiller = 0;
         SpawnPlayer(killerid);
     }
     return 1;
}

Замечания: Я советую вам добавить к этому GameMode, потому что конфликты

ВПО вам нравятся мои простые Дуэли система удовольствием поделиться здесь ...

КРЕДИТЫ ДЛЯ Иона, ДРАКОН
Источник:sa-mp.com


Автор - admin
Дата добавления - 25.12.2010 в 02:17:15
  • Страница 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:34:07
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: