пропуск\обход OnPlayerRequestClass
#1

Видимо всё-таки придётся создать отдельную тему. Итак вопрос: как исключить из мода коллбек OnPlayerRequestClass то бишь выбор класса?

Вроде-бы этот код
PHP код:
public OnPlayerConnect(playeridclassid)
{    
    
SetSpawnInfoplayerid001958.331343.1215.36269.152636281500);
}
public 
OnPlayerRequestClass(playeridclassid)
{
    
SpawnPlayer(playerid);

найденный в английском разделе, должен это делать. Более того, у меня как-то получилось это вставить в new.pwn, тогда запрос при нажадии F4 не появлялся. Я что-то накосячил и теперь всё так как и было. Так как же, господа скриптеры, выгнать этот настырный OnPlayerRequestClass и его F4?
Reply
#2

Никак.
При первой же смерти отправит выбирать клас.
Reply
#3

PHP код:
public OnPlayerRequestClass(playeridclassid)
{
    
SetSpawnInfo(playerid,0,Skin[playerid],2553.6172,-2170.1064,22.2333,0.0,-1,-1,-1,-1,-1,-1);
    
SpawnPlayer(playerid);
    return 
1;

Reply
#4

Quote:
Originally Posted by Stepashka
Никак.
При первой же смерти отправит выбирать клас.
Но я же видел на некоторых серверах что при нажатии F4 не происходит запрос на смену класса, при этом я сам так КАК-ТО сделал.

Quote:
Originally Posted by White_116
PHP код:
public OnPlayerRequestClass(playeridclassid)
{
    
SetSpawnInfo(playerid,0,Skin[playerid],2553.6172,-2170.1064,22.2333,0.0,-1,-1,-1,-1,-1,-1);
    
SpawnPlayer(playerid);
    return 
1;

не, братюнь, тоже самое.
Reply
#5

попробуй так
Код:
forward SkipRequestClass(playerid);
public SkipRequestClass(playerid)
{//-----------------------------------------------------------------------------
    SpawnPlayer(playerid);
}//-----------------------------------------------------------------------------


public OnPlayerRequestClass(playerid, classid)
{//-----------------------------------------------------------------------------
        SetTimerEx("SkipRequestClass", 1, 0, "i", playerid);
или так

Код:
public OnPlayerRequestClass(playerid, classid)
{//-----------------------------------------------------------------------------
        return SpawnPlayer(playerid);
}//-----------------------------------------------------------------------------
Reply
#6

Quote:
Originally Posted by [Saint]
Посмотреть сообщение
попробуй так
PHP код:
forward SkipRequestClass(playerid);
public 
SkipRequestClass(playerid)
{
//-----------------------------------------------------------------------------
    
SpawnPlayer(playerid);
}
//-----------------------------------------------------------------------------
public OnPlayerRequestClass(playeridclassid)
{
//-----------------------------------------------------------------------------
        
SetTimerEx("SkipRequestClass"10"i"playerid); 
очень годно, спасибо.
а вот это не работает.
PHP код:
public OnPlayerRequestClass(playeridclassid)
{
//-----------------------------------------------------------------------------
        
return SpawnPlayer(playerid);

, но всё же это немножко не то,я не успокоюсь пока не узнаю ответ:
Quote:

я же видел на некоторых серверах что при нажатии F4 не происходит запрос на смену класса

Reply
#7

Quote:
Originally Posted by sanya_gnoy
Посмотреть сообщение
очень годно, спасибо.
а вот это не работает.
PHP код:
public OnPlayerRequestClass(playeridclassid)
{
//-----------------------------------------------------------------------------
        
return SpawnPlayer(playerid);

, но всё же это немножко не то,я не успокоюсь пока не узнаю ответ:
Плагин? Вполне возможен этот случай с плагином.
Reply
#8

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Никак.
При первой же смерти отправит выбирать клас.
Возможно. На другом форуме я это описывал
Quote:

У Вас должна быть переменная, отвечающая за то, что игрок зашел в игру/аккаунт. Если же нет, то создайте ее, и указывайте ей определенное значение, если игрок начал игру/залогинился.
В OnPlayerRequestClass в самом начале должен быть код:
PHP код:
if(gLogged[playerid]) //это переменная, описанная выше. У Вас она может быть другой. В данный момент равна 1, т.к. игрок уже зашел в игру/аккаунт, и мы хотим его выкинуть из выбора class'а
{
   
SetSpawnInfo(playerid,0,skin,0.0,0.0,0.0,0.0,0,0,0,0,0,0); // вместо skin указывайте скин игрока, который должен быть у него. Для RP серверов присутствуют такие переменные.
   
SpawnPlayer(playerid);
   return 
1;

Координаты свои вбивайте...
Мне было сделать легче так, т.к. координаты положения я вбивал в OnPlayerSpawn.
Reply
#9

Quote:
Originally Posted by SDraw
Посмотреть сообщение
Возможно. На другом форуме я это описывал

Координаты свои вбивайте...
Мне было сделать легче так, т.к. координаты положения я вбивал в OnPlayerSpawn.
так приходится нажимать на кнопку Spawn. плагинов, затрагивающих OnPlayerrequestClass не нашёл, значит удалить можно с помощью кода.
Reply
#10

Quote:
Originally Posted by sanya_gnoy
Посмотреть сообщение
так приходится нажимать на кнопку Spawn.
Не знаю, что там у Вас случается, но нажимать мне ничего не приходится....
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)