[Lua] Fast-Time (Update: 13.11.2020)

Статус
В этой теме нельзя размещать новые ответы.

Divi

Пользователь
Сообщения
5
Реакции
2
Баллы
0
Сервер
А что делает этот скрипт?
 

Dennu_Нuston

Пользователь
Сообщения
492
Реакции
411
Баллы
0
Возраст
27
Сервер
Emerald
Сделай пожалуйста совместимость с samp r-3
 

jose nissan

Активация Windows
Пользователь
Сообщения
670
Реакции
703
Баллы
245
Возраст
19
Сервер
Ruby
Не работает скрипт, есть такой же только cleo?
 

судья федеральной мафии

чё с лицом)
Пользователь
Сообщения
84
Реакции
250
Баллы
0
Пожалуйста, обратите внимание, если вы хотите заключить сделку с этим пользователем, что он заблокирован.
Не работает скрипт, есть такой же только cleo?
эта версия работает - https://wdfiles.ru/47e556
Код автора:
C++:
script_name("Fast-Time")

require "lib.moonloader"
local sampev = require 'lib.samp.events'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage('• {0FF294}[Fast-Time]: {FFFFFF}Поддержать автора -> WebMoney: {0FF294}R528763180998', -1)
    check = lua_thread.create_suspended(check)
end

function sampev.onServerMessage(color, text)
    if text:match("Добро пожаловать на Diamond Role Play!") then
        check:run()
    end
end

function check()
    wait(200)
    while true do wait(0)
        if not sampIsDialogActive() then
            sampSendChat('/timeon')
            thisScript():unload()
        end
    end
end
Код мой (фикшенный):
C++:
script_name("Fast-Time")

require "lib.moonloader"
local sampev = require 'lib.samp.events'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage('• {0FF294}[Fast-Time]: {FFFFFF}Поддержать автора -> WebMoney: {0FF294}R528763180998', -1)
    check = lua_thread.create_suspended(check)
end

function sampev.onServerMessage(color, text)
    if text:find("Добро пожаловать на Diamond Role Play!") and color == 1182971050 then
        check:run()
    end
    if text:find("Вы включили отображение часов на экране") and color == -1  then
        check:terminate()
    end
end

function check()
    wait(200)
    while true do wait(0)
        if not sampIsDialogActive() then
            sampSendChat('/timeon')
            wait(1000)
        end
    end
end
 

Compich

Пользователь
Сообщения
823
Реакции
1,530
Баллы
250
Сервер
Emerald
Ну или так

C++:
#include "Windows.h"
#include "main.h"
#include <thread>
#include <fstream>

SAMPFUNCS* SF = new SAMPFUNCS();

bool shown = true;

void sendTimeon()
{
    Sleep(500);
    while (!shown)
    {
        SF->getSAMP()->getPlayers()->pLocalPlayer->Say("/timeon");
        Sleep(500);
    }
}

bool __stdcall incomingRPC(stRakNetHookParams* params)
{
    if (params->packetId == RPC_ScrClientMessage)
    {
        static bool bSentWelcome = false;

        DWORD len, color;
        char msg[144];

        params->bitStream->ResetReadPointer();
        params->bitStream->Read(color);
        params->bitStream->Read(len);
        params->bitStream->Read(msg, len);
        msg[len] = '\0';
        std::string ms = msg;

        if (ms == "Добро пожаловать на Diamond Role Play!" && color == 0x4682B4AA)
        {
            bSentWelcome = true;
            shown = false;
        }
        else if (bSentWelcome)
        {
            bSentWelcome = false;
            std::thread thr(sendTimeon);
            thr.detach();
        }
        else if (ms == "• {00CC00}[Успешно] {ffffff}Вы включили отображение часов на экране, введите /timeon еще раз чтобы убрать" && color == 0xFFFFFFFF && !shown)
        {
            shown = true;
        }
        else if (ms == "Нельзя использовать команды, пока открыт диалог" && color == 0xAFAFAFAA && !shown)
        {
            return false;
        }
    }
    return true;
}

void __stdcall mainloop()
{
    static bool initialized = false;
    if (!initialized)
    {
        if (GAME && GAME->GetSystemState() == eSystemState::GS_PLAYING_GAME && SF->getSAMP()->IsInitialized())
        {
            SF->getRakNet()->registerRakNetCallback(RAKHOOK_TYPE_INCOMING_RPC, incomingRPC);
            initialized = true;
        }
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    if (dwReasonForCall == DLL_PROCESS_ATTACH)
        SF->initPlugin(mainloop, hModule);
    return TRUE;
}
 

jose nissan

Активация Windows
Пользователь
Сообщения
670
Реакции
703
Баллы
245
Возраст
19
Сервер
Ruby
Ну или так

C++:
#include "Windows.h"
#include "main.h"
#include <thread>
#include <fstream>

SAMPFUNCS* SF = new SAMPFUNCS();

bool shown = true;

void sendTimeon()
{
    Sleep(500);
    while (!shown)
    {
        SF->getSAMP()->getPlayers()->pLocalPlayer->Say("/timeon");
        Sleep(500);
    }
}

bool __stdcall incomingRPC(stRakNetHookParams* params)
{
    if (params->packetId == RPC_ScrClientMessage)
    {
        static bool bSentWelcome = false;

        DWORD len, color;
        char msg[144];

        params->bitStream->ResetReadPointer();
        params->bitStream->Read(color);
        params->bitStream->Read(len);
        params->bitStream->Read(msg, len);
        msg[len] = '\0';
        std::string ms = msg;

        if (ms == "Добро пожаловать на Diamond Role Play!" && color == 0x4682B4AA)
        {
            bSentWelcome = true;
            shown = false;
        }
        else if (bSentWelcome)
        {
            bSentWelcome = false;
            std::thread thr(sendTimeon);
            thr.detach();
        }
        else if (ms == "• {00CC00}[Успешно] {ffffff}Вы включили отображение часов на экране, введите /timeon еще раз чтобы убрать" && color == 0xFFFFFFFF && !shown)
        {
            shown = true;
        }
        else if (ms == "Нельзя использовать команды, пока открыт диалог" && color == 0xAFAFAFAA && !shown)
        {
            return false;
        }
    }
    return true;
}

void __stdcall mainloop()
{
    static bool initialized = false;
    if (!initialized)
    {
        if (GAME && GAME->GetSystemState() == eSystemState::GS_PLAYING_GAME && SF->getSAMP()->IsInitialized())
        {
            SF->getRakNet()->registerRakNetCallback(RAKHOOK_TYPE_INCOMING_RPC, incomingRPC);
            initialized = true;
        }
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    if (dwReasonForCall == DLL_PROCESS_ATTACH)
        SF->initPlugin(mainloop, hModule);
    return TRUE;
}
А сам файл сможешь кинуть?
 

радужная серёжа

114, почетный ЧСник даймонда.
Заблокированный
Пользователь
Сообщения
78
Реакции
285
Баллы
0
Возраст
28
Сервер
Ruby
Статус
В этой теме нельзя размещать новые ответы.
Сверху