Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Возращение функции на шаг назад.
«SeReGa»☆ Дата: Четверг, 22.05.2014, 17:05:22 | Сообщение # 1
Сообщений: 395
Репутация: 37 [ +/- ]
ЗДравствуйте всем у меня есть код для разных вариации с рандомностью есть 3 функции 1-ну из них нужно отключить и зделать всё заново, знаю что дело должно быть в return ноя в нём не понимаю.

Код
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

new Handle:Test;

public OnPluginStart()
{
   Test=CreateConVar("G_Test","0","Test");
     
   RegConsoleCmd("say",TCommand);
   RegConsoleCmd("say_team",TCommand);
   RegConsoleCmd("test",Tes);
}

public Action:Tes(client,args)
{
   if(client>0)
   {
    GoTest(client);
   }
   return Action:3;
}

public Action:TCommand(client,argc)
{
   if(IsClientInGame(client))
   {
    decl String:text[192];
    GetCmdArgString(text,sizeof(text));
    BreakString(text,text,sizeof(text));
    if(    StrEqual(text,"1",false)   
    ||  StrEqual(text,"test",false))
    {
     GoTest(client);
    }
   }
}

GoTest(client)
{
   new x = GetRandomInt(1,3);
     
   if (x == 1)
   {
    PrintToChat(client, "\x07084537x = \x070000001");
   }
     
   else if (x == 2)
   {
    if(GetConVarInt(Test)==1)
    {
     PrintToChat(client, "\x07000000x \x01= \x070000002");
    }
    //если x == 2 а Test== 0 то всё заново начиная с x = GetRandomInt
   }
     
   else if (x == 3)
   {
    PrintToChat(client, "\x07084111x = \x070000003");
   }
}


Добавлено (22.05.2014, 17:05:22)
---------------------------------------------
см на функцию x==2


Сообщение отредактировал «SeReGa»☆ - Четверг, 22.05.2014, 17:06:37
 
BarD Дата: Четверг, 22.05.2014, 17:51:38 | Сообщение # 2
Сообщений: 943
Репутация: 137 [ +/- ]
Думаю, что можно сделать так

else if (x == 2)
   {
    if(GetConVarInt(Test)==1)
    {
     PrintToChat(client, "\x07000000x \x01= \x070000002");
    }
else //Если не равно 1, то снова вызываем функцию
{
GoTest(client);
}
    //если x == 2 а Test== 0 то всё заново начиная с x = GetRandomInt
   }
 
«SeReGa»☆ Дата: Четверг, 22.05.2014, 18:12:25 | Сообщение # 3
Сообщений: 395
Репутация: 37 [ +/- ]
Спасибо а я думал без return не обойтись))
 
  • Страница 1 из 1
  • 1
Поиск: