mirror of
https://gitlab.com/hashborgir/plugy.git
synced 2024-11-30 04:26:02 +00:00
Working, but needs tweak
This commit is contained in:
parent
9a858693c5
commit
f3b0abf9ab
@ -344,7 +344,7 @@ DWORD STDCALL manageBtnUp(sWinMessage* msg)
|
|||||||
int frame = 0;
|
int frame = 0;
|
||||||
long nEndTime = 0;
|
long nEndTime = 0;
|
||||||
int nTip = 0;
|
int nTip = 0;
|
||||||
long DURATION = 60000;
|
long DURATION = 5000;
|
||||||
std::vector<std::wstring> diablo2Tips = {
|
std::vector<std::wstring> diablo2Tips = {
|
||||||
L"Consume spirits like potions to increase Spirits Quaffed stat in character stat sheet page.",
|
L"Consume spirits like potions to increase Spirits Quaffed stat in character stat sheet page.",
|
||||||
L"Cube Souls with Energy Sphere to capture Soul Energy and use it to create powerful items. Recipes will come later.",
|
L"Cube Souls with Energy Sphere to capture Soul Energy and use it to create powerful items. Recipes will come later.",
|
||||||
@ -1696,17 +1696,72 @@ void OnLoad() {
|
|||||||
srand(time(NULL));
|
srand(time(NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
void onDraw() {
|
|
||||||
|
#include <iostream>
|
||||||
|
#include <sstream>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
// Function to break the tip into words
|
||||||
|
vector<string> split(const string& s, char delim) {
|
||||||
|
stringstream ss(s);
|
||||||
|
string item;
|
||||||
|
vector<string> tokens;
|
||||||
|
while (getline(ss, item, delim)) {
|
||||||
|
tokens.push_back(item);
|
||||||
|
}
|
||||||
|
return tokens;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Function to create sentences from words
|
||||||
|
string makeSentence(vector<string> words, int start, int end) {
|
||||||
|
stringstream ss;
|
||||||
|
for (int i = start; i <= end; ++i) {
|
||||||
|
ss << words[i] << " ";
|
||||||
|
}
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Function to convert string to wide string
|
||||||
|
wstring stringToWstring(const string& s) {
|
||||||
|
wstring ws;
|
||||||
|
for (char c : s) {
|
||||||
|
ws += (wchar_t)c;
|
||||||
|
}
|
||||||
|
return ws;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Your original code here
|
||||||
|
|
||||||
|
// Modified onDraw function
|
||||||
|
void onDraw() {
|
||||||
if (GetTickCount64() >= nEndTime) {
|
if (GetTickCount64() >= nEndTime) {
|
||||||
nEndTime = GetTickCount64() + DURATION;
|
nEndTime = GetTickCount64() + DURATION;
|
||||||
nTip = rand() % diablo2Tips.size();
|
nTip = rand() % diablo2Tips.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Convert wstring to string for manipulation
|
||||||
|
string strTip = string(diablo2Tips[nTip].begin(), diablo2Tips[nTip].end());
|
||||||
|
vector<string> words = split(strTip, ' ');
|
||||||
|
|
||||||
|
// Calculate positions for multiple lines
|
||||||
|
int yPos = 95;
|
||||||
|
for (int i = 0; i < words.size(); i += 10) {
|
||||||
|
// Create a sentence from words and convert it back to wide string
|
||||||
|
string sentence = makeSentence(words, i, min(i + 9, (int)words.size() - 1));
|
||||||
|
wstring wSentence = stringToWstring(sentence);
|
||||||
|
D2PrintString(const_cast<LPWSTR>(wSentence.c_str()), 152, yPos, WHITE, 0);
|
||||||
|
yPos += 10; // Move to the next line
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Print the randomly selected tip using D2PrintString function
|
|
||||||
D2PrintString(const_cast<LPWSTR>(diablo2Tips[nTip].c_str()), 152, 95, WHITE, 0);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void FASTCALL printPageNumber(LPWSTR maxGoldText, DWORD x, DWORD y, DWORD color, DWORD bfalse)
|
void FASTCALL printPageNumber(LPWSTR maxGoldText, DWORD x, DWORD y, DWORD color, DWORD bfalse)
|
||||||
{
|
{
|
||||||
@ -1781,6 +1836,9 @@ void FASTCALL printPageNumber(LPWSTR maxGoldText, DWORD x, DWORD y, DWORD color,
|
|||||||
|
|
||||||
// Print Random Tips
|
// Print Random Tips
|
||||||
|
|
||||||
|
|
||||||
|
D2SetFont(6);
|
||||||
|
|
||||||
onDraw();
|
onDraw();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user