Как-то так примерно. Это для сервера, нужен Pawn.RakNet:
const RAKNET_RPC_WORLDVEHICLEADD = 164;
public OnOutgoingRPC(playerid, rpcid, BitStream:bs) // Сервер КЛИЕНТУ
{
if(rpcid == RAKNET_RPC_WORLDVEHICLEADD)
{
/* проверка на то, играет ли игрок с лаунчера/имеет ли плагин/etc....... Играет - возвращаем просто true */
new vehicleid;
BS_ReadInt16(bs, vehicleid);
if(!(400 <= GetVehicleModel(vehicleid) <= 611))
{
new offset;
BS_GetWriteOffset(bs, offset);
BS_SetWriteOffset(bs, 16);
BS_WriteInt32(bs, 411); // 411 - infernus
BS_SetWriteOffset(bs, offset);
PR_SendRPC(bs, playerid, RAKNET_RPC_WORLDVEHICLEADD);
return false;
}
}
return true;
}
Но какой смысл от ваших плагинов на снятие лимитов со стороны сервера (если ты его имеешь в виду), когда можно обойтись работой с рпс WorldVehicleAdd?
Проще хранить в массиве список всех моделей машин, их модель со стороны обычного клиента и лаунчера, при создании машины создавать её в виде обычной модели гта са, а затем в OnOutgoingRPC заменять её на кастомную с лаунчера (с обычного клиента при этом ничего даже заменять не надо будет). Тогда код выше можно будет упростить
Ну разве что только с помощью какого-нибудь фастмана снимать лимиты на клиенте
Чем меньше зависимостей - тем лучше и меньше заморочек в будущем