Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Reaction Contest

Статус
В этой теме нельзя размещать новые ответы.

Merlin

Умник

Две реакции типа (Ввод часть) и (математика часть),
-Математика включает в себя три вида математической операции (сложение "+", вычитание '-', '*' умножение)
И так начнем уроку!
Верху мода:
​
PHP:
#define Loop(%0,%1) for(new %0 = 0; %0 != %1; %0++) 
#define function%0(%1) forward%0(%1); public%0(%1) 
#define CONTEST_PRIZE 40000 
#define CONTEST_TIME 3 
#define CONTEST_MATH 0 
#define CONTEST_TYPE 1 
forward Contest_Function(type); 
#define COLOR_ORANGE 0xFF9600FF 
#define COLOR_RED 0xFF0000FF 
new rName[MAX_PLAYER_NAME], string[128], ReactionTest[2], ReactionTimer, 
ContestType = -1, MathsResult, Characters[][] = 
{ 
       "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", 
       "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", 
       "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", 
       "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", 
       "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" 
}, 
Chars[17] = "";
После этого ищем public OnGameModeInit() и туда вставляем: ​
PHP:
ReactionTimer = SetTimerEx("Contest_Function", (1000*60*CONTEST_TIME), false, "i", 1);
Примерно так должен быть public: ​
PHP:
public OnGameModeInit() 
{ 
       ReactionTimer = SetTimerEx("Contest_Function", (1000*60*CONTEST_TIME), false, "i", 1); 
       return 1; 
}
осле этого ищем public OnGameModeExit() и туда вставляем: ​
PHP:
KillTimer(ReactionTimer);
Примерно так должен быть public: ​
PHP:
public OnGameModeExit() 
{ 
       KillTimer(ReactionTimer); 
       return 1; 
}
После этого ищем public OnPlayerText и туда вставляем: ​
PHP:
      switch(ContestType) { 
           case CONTEST_MATH: 
           { 
               if(strval(text) == MathsResult) { 
                   GetPlayerName(playerid, rName, sizeof(rName)); 
                   ReactionTest[1] = GetTickCount(); 
                   new timeresult = ReactionTest[1] - ReactionTest[0]; 
                   format(string, sizeof(string), "[РЕАКЦИЯ]: %s ответ ''%i'' в %d миллисекунд, и был самым быстрым! Он выиграл $40,000!", rName, MathsResult, timeresult); 
                   SendClientMessageToAll(COLOR_RED, string); 
                   GivePlayerMoney(playerid, CONTEST_PRIZE); 
                   ReactionTimer = SetTimerEx("Contest_Function", (1000*60*CONTEST_TIME), false, "i", 1); 
                   ContestType = false; 
               } 
           } 
           case CONTEST_TYPE: 
           { 
               if(!strcmp(Chars, text, false)) { 
                   GetPlayerName(playerid, rName, sizeof(rName)); 
                   ReactionTest[1] = GetTickCount(); 
                   new timeresult = ReactionTest[1] - ReactionTest[0]; 
                   format(string, sizeof(string), "[РЕАКЦИЯ]: %s набранный ''%s'' в %d миллисекунд, и был самым быстрым! Он выиграл $40,000!", rName, Chars, timeresult); 
                   SendClientMessageToAll(COLOR_RED, string); 
                   GivePlayerMoney(playerid, CONTEST_PRIZE); 
                   ReactionTimer = SetTimerEx("Contest_Function", (1000*60*CONTEST_TIME), false, "i", 1); 
                   ContestType = false; 
               } 
           } 
       }
Примерно так должен быть public:​
PHP:
public OnPlayerText(playerid, text[]) 
{ 
       switch(ContestType) { 
           case CONTEST_MATH: 
           { 
               if(strval(text) == MathsResult) { 
                   GetPlayerName(playerid, rName, sizeof(rName)); 
                   ReactionTest[1] = GetTickCount(); 
                   new timeresult = ReactionTest[1] - ReactionTest[0]; 
                   format(string, sizeof(string), "[РЕАКЦИЯ]: %s ответ ''%i'' в %d миллисекунд, и был самым быстрым! Он выиграл $40,000!", rName, MathsResult, timeresult); 
                   SendClientMessageToAll(COLOR_RED, string); 
                   GivePlayerMoney(playerid, CONTEST_PRIZE); 
                   ReactionTimer = SetTimerEx("Contest_Function", (1000*60*CONTEST_TIME), false, "i", 1); 
                   ContestType = false; 
               } 
           } 
           case CONTEST_TYPE: 
           { 
               if(!strcmp(Chars, text, false)) { 
                   GetPlayerName(playerid, rName, sizeof(rName)); 
                   ReactionTest[1] = GetTickCount(); 
                   new timeresult = ReactionTest[1] - ReactionTest[0]; 
                   format(string, sizeof(string), "[РЕАКЦИЯ]: %s набранный ''%s'' в %d миллисекунд, и был самым быстрым! Он выиграл $40,000!", rName, Chars, timeresult); 
                   SendClientMessageToAll(COLOR_RED, string); 
                   GivePlayerMoney(playerid, CONTEST_PRIZE); 
                   ReactionTimer = SetTimerEx("Contest_Function", (1000*60*CONTEST_TIME), false, "i", 1); 
                   ContestType = false; 
               } 
           } 
       } 
       return 1; 
}
После этого в любое место вставляем сам public: ​
PHP:
public Contest_Function(type) 
{ 
       switch(type) { 
           case 0: 
           { 
               new xLength = (10); 
               format(Chars, sizeof(Chars), ""); 
               Loop(x, xLength) format(Chars, sizeof(Chars), "%s%s", Chars, Characters[random(sizeof(Characters))][0]); 
               format(string, sizeof(string), "[РЕАКЦИЯ]: Win $40,000 by being the first to type: %s", Chars); 
               SendClientMessageToAll(COLOR_RED, string); 
               KillTimer(ReactionTimer); 
               ReactionTest[0] = GetTickCount(); 
               ContestType = true; 
               ContestType = CONTEST_TYPE; 
               ReactionTimer = SetTimerEx("Contest_Function", (1000*60*CONTEST_TIME), false, "i", 1); 
               return 1; 
           } 
           case 1: 
           { 
               new number1 = random(101), number2 = random(101), maths = random(2); 
               if(maths == 0) { 
                   MathsResult = number1 + number2; 
                   format(string, sizeof(string), "[РЕАКЦИЯ]: выигрыш $40,000став первым ответить: %d + %d", number1, number2); 
               } 
               else if (maths == 2) { 
                   MathsResult = number1 - number2; 
                   format(string, sizeof(string), "[РЕАКЦИЯ]: выигрыш $40,000 став первым ответить: %d - %d", number1, number2); 
               } 
               else { 
                   MathsResult = number1 * number2; 
                   format(string, sizeof(string), "[РЕАКЦИЯ]: выигрыш $40,000  став первым ответить: %d x %d", number1, number2); 
               } 
               SendClientMessageToAll(COLOR_RED, string); 
               KillTimer(ReactionTimer); 
               ReactionTest[0] = GetTickCount(); 
               ContestType = true; 
               ContestType = CONTEST_MATH; 
               ReactionTimer = SetTimerEx("Contest_Function", (1000*60*CONTEST_TIME), false, "i", 0); 
               return 1; 
           } 
       } 
       return 1; 
}
Автор:Kostas ​
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу