Вопросы по PAWN скриптингу

MrCreepTon

Неизвестный
Всефорумный модератор
2,216
5,030
Да в спек то я кидаю, но если в спеке человек использует через сампфункс смерть то у него появляется вот это меню со спавном
Сделать на requestclass и requestspawn спавн персонажа. В зависимости от рассматриваемой предметной области само собой предусмотреть защиту от абуза.
 

Дхейкер

Новичок
7
0
Я создаю античит с помощью RCE. Как мне проверить, есть ли у человека исправление, и если да, закрыть соединение?
 

moreveal

Известный
Проверенный
927
620
Я создаю античит с помощью RCE. Как мне проверить, есть ли у человека исправление, и если да, закрыть соединение?
в длл, которую инжектишь через rce, сделать отправку пакета кастомного какого-нибудь, если не пришел за отведенное время - длл не инжектнулась
 

writeline

Новичок
21
8
Всем добрый!
Как реализовать что бы NPC Actor видел коллизию под собой, и при передвижении допустим за игроком, учитывал что коллизия может изменятся по изначальной высоте своего спавна.
На данный момент НПС следует за игроком, но как только ландшафт идёт вниз, НПС продолжает следовать по своей высоте.

Жду предложений решения моего вопроса 😀


PAWN:
stock MoveNpcTowardsPlayer(Float:npcX, Float:npcY, Float:npcZ, Float:playerX, Float:playerY, Float:playerZ)

{
    new Float:stepSize = 0.3;
    new Float:dirX, Float:dirY, Float:dirZ;

    dirX = playerX - npcX;
    dirY = playerY - npcY;
    dirZ = playerZ - npcZ;
    new Float:length = floatsqroot(floatpower(dirX, 2) + floatpower(dirY, 2) + floatpower(dirZ, 2));
    if (length == 0.0) return;

    dirX /= length;
    dirY /= length;
    dirZ /= length;

    npcX += dirX * stepSize;
    npcY += dirY * stepSize;
    npcZ += dirZ * stepSize;
    SetActorPos(NpcID, npcX, npcY, npcZ);
}
 
Последнее редактирование:

Ну погоди!

Активный
156
52
Всем добрый!
Как реализовать что бы NPC Actor видел коллизию под собой, и при передвижении допустим за игроком, учитывал что коллизия может изменятся по изначальной высоте своего спавна.
На данный момент НПС следует за игроком, но как только ландшафт идёт вниз, НПС продолжает следовать по своей высоте.

Жду предложений решения моего вопроса 😀


PAWN:
stock MoveNpcTowardsPlayer(Float:npcX, Float:npcY, Float:npcZ, Float:playerX, Float:playerY, Float:playerZ)

{
    new Float:stepSize = 0.3;
    new Float:dirX, Float:dirY, Float:dirZ;

    dirX = playerX - npcX;
    dirY = playerY - npcY;
    dirZ = playerZ - npcZ;
    new Float:length = floatsqroot(floatpower(dirX, 2) + floatpower(dirY, 2) + floatpower(dirZ, 2));
    if (length == 0.0) return;

    dirX /= length;
    dirY /= length;
    dirZ /= length;

    npcX += dirX * stepSize;
    npcY += dirY * stepSize;
    npcZ += dirZ * stepSize;
    SetActorPos(NpcID, npcX, npcY, npcZ);
}
ColAndreas + CoopAndreas
 
  • Нравится
Реакции: writeline

writeline

Новичок
21
8
Как я понял CRMP карту он не распознаёт?

NPC был заспавнен на одной высоте, и продолжает так же по ней следовать)
Мои предположения, что при сборке ColAndreas.cadb учитывается SAMP карта
1729608442477.png
 

writeline

Новичок
21
8
Этим сейчас и занимаюсь, нашёл топик на одном из CR форумов, 2017 года, где уже человек собрал, но увы ссылки устарели.

Кстати, причём тут CoopAndreas?
 

writeline

Новичок
21
8
Как реализовать подобный редактор объектов, не аттачить, а именно как с ним взаимодействовать, вызывать и т.п?

LOP2zke.png
 

moreveal

Известный
Проверенный
927
620
Как реализовать подобный редактор объектов, не аттачить, а именно как с ним взаимодействовать, вызывать и т.п?

LOP2zke.png
для стримера EditDynamicObject, взаимодействовать через колбек:
PHP:
public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz);

остальной инфы в инете куча (изменение размера доступно только для приаттаченных объектов, аксессуаров условно)
 
  • Нравится
Реакции: writeline

7 СМЕРТНЫХ ГРЕХОВ

Известный
524
164
Можно ли как-то реализовать эмодзи в PAWN без лаунчера ?

А так же если есть лаунчер допустим:
Как реализовать эмодзи в чат?
Скины и аксы
 
Последнее редактирование:

writeline

Новичок
21
8
Так же как и обычно, добавлять скины в клиент, и как обычно пользоватся.
С аксами аналогично, добавляешь обьект акса в клиент, и точно так же пользуешься как и обычным обьектом.


PAWN:
if(!strcmp(text,"xD",true))
{
    GetPlayerName(playerid,sendername,sizeof(sendername));
    format(string, sizeof(string), "%s смеётся", sendername);
    ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    return 0;
}
 

7 СМЕРТНЫХ ГРЕХОВ

Известный
524
164
Так же как и обычно, добавлять скины в клиент, и как обычно пользоватся.
С аксами аналогично, добавляешь обьект акса в клиент, и точно так же пользуешься как и обычным обьектом.


PAWN:
if(!strcmp(text,"xD",true))
{
    GetPlayerName(playerid,sendername,sizeof(sendername));
    format(string, sizeof(string), "%s смеётся", sendername);
    ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    return 0;
}
На счет скинов это я понял и акссесуаров.

А на счет чата немного нет. Мне нужно что бы вместо допустим символов (0_0) = отображалась типо вот такой эмодзи 🎃 - тыква