Информация Невидимка на стороне сервера

NoobPlayer

Новичок
7
0
PHP:
#include    <Pawn.RakNet>

new bool: inv[MAX_PLAYERS];

public OnGameModeInit() {
    PR_RegHandler(207, "OnPlayerOnfootSync", PR_EventType: PR_INCOMING_PACKET);
    return 1;
}

forward OnPlayerOnfootSync(playerid, BitStream: bs);
public OnPlayerOnfootSync(playerid, BitStream: bs) {
    if(inv[playerid]) Invisible_HidePlayer(playerid, bs);
}

Invisible_HidePlayer(playerid, BitStream: bs) {
    static Float: X,
        Float: Y,
        Float: Z;

    BS_SetReadOffset(bs, 56);
    BS_ReadFloat(bs, X);
    BS_ReadFloat(bs, Y);
    BS_ReadFloat(bs, Z);


    BS_SetWriteOffset(bs, 0);

    BS_WriteUint8(bs, 212);
    BS_WriteUint16(bs, 0);
    BS_WriteUint16(bs, 0);
    BS_WriteUint16(bs, 0);
    BS_WriteFloat(bs, X);
    BS_WriteFloat(bs, Y);
    BS_WriteFloat(bs, Z);
    return 1;
}

CMD:setinv(playerid) {
    inv[playerid] = !inv[playerid];
    SendClientMessage(playerid, -1, (inv[playerid]) ? (!"Инвиз Включен") : (!"Инвиз выключен"));
    return 1;
}
 
Последнее редактирование:

oukibt

Участник
Автор темы
29
31
PHP:
#include    <Pawn.RakNet>

new bool: inv[MAX_PLAYERS];

public OnGameModeInit() {
    PR_RegHandler(207, "OnPlayerOnfootSync", PR_EventType: PR_INCOMING_PACKET);
    return 1;
}

forward OnPlayerOnfootSync(playerid, BitStream: bs);
public OnPlayerOnfootSync(playerid, BitStream: bs) {
    if(inv[playerid]) Invisible_HidePlayer(playerid, bs);
}

Invisible_HidePlayer(playerid, BitStream: bs) {
    static Float: X,
        Float: Y,
        Float: Z;

    BS_SetReadOffset(bs, 56);
    BS_ReadFloat(bs, X);
    BS_ReadFloat(bs, Y);
    BS_ReadFloat(bs, Z);


    BS_SetWriteOffset(bs, 0);

    BS_WriteUint8(bs, 212);
    BS_WriteUint16(bs, 0);
    BS_WriteUint16(bs, 0);
    BS_WriteUint16(bs, 0);
    BS_WriteFloat(bs, X);
    BS_WriteFloat(bs, Y);
    BS_WriteFloat(bs, Z);
    return 1;
}

CMD:setinv(playerid) {
    inv[playerid] = !inv[playerid];
    SendClientMessage(playerid, -1, (inv[playerid]) ? (!"Инвиз Включен") : (!"Инвиз выключен"));
    return 1;
}

PHP:
forward OnPlayerOnfootSync(playerid, BitStream: bs);
public OnPlayerOnfootSync(playerid, BitStream: bs) {
    if(inv[playerid]) Invisible_HidePlayer(playerid, bs);
    return 1;
}
 
  • Нравится
Реакции: NoobPlayer

NoobPlayer

Новичок
7
0
PHP:
forward OnPlayerOnfootSync(playerid, BitStream: bs);
public OnPlayerOnfootSync(playerid, BitStream: bs) {
    if(inv[playerid]) Invisible_HidePlayer(playerid, bs);
    return 1;
}
Да, действительно. Все настолько было легко, а я даже этого не заметил. Спасибо. 😆
А, что насчет машины? Можно ли и ее в инвиз? Просто вопрос, не более 🤔
 

oukibt

Участник
Автор темы
29
31
Да, действительно. Все настолько было легко, а я даже этого не заметил. Спасибо. 😆
А, что насчет машины? Можно ли и ее в инвиз? Просто вопрос, не более 🤔
Такое, конечно, возможно сделать, но не без говнокода
 
  • Нравится
Реакции: NoobPlayer

NoobPlayer

Новичок
7
0
О каком именно пакете идёт речь?
public OnPlayerOnfootSync(playerid, BitStream: bs) {
Invisible_HidePlayer(playerid, bs);
}

Можно ли узнать, кто получит это или он просто по стриму идет, и всё? Я хотел сделать, чтобы игрок, который захотел видеть игроков, то их видел. Если сможешь, то подскажи, как такое реализовать.
 
Последнее редактирование: