Add sprint everywhere(HzanRsxa2959), translation support for Ped Page

This commit is contained in:
Grinch_ 2022-03-01 03:23:29 +06:00
parent afaaccef23
commit ab66ce67a7
3 changed files with 99 additions and 45 deletions

View File

@ -160,6 +160,44 @@
"VehStopKey": "Vehicle instant start", "VehStopKey": "Vehicle instant start",
"Version": "Version" "Version": "Version"
}, },
"Ped": {
"Accuracy": "Accuracy",
"BigHead": "Big head effect",
"ConfigTab": "Config",
"DownloadExGangWars": "Download ExGangWars",
"ElvisEverywhere": "Elvis everywhere",
"EndWar": "End gang war",
"EveryoneArmed": "Everyone is armed",
"EveryoneAtk": "Everyone attacks players",
"ExGangWarsTip": "You'll need ExGangWars plugin to display some turf colors",
"GangsControl": "Gangs control streets",
"GangsEverywhere": "Gangs everywhere",
"GangWars": "Gang wars",
"Health": "Health",
"MaxLimit": "Max limit reached",
"NastyLimbs": "Nasty limbs",
"NoMove": "Don't move",
"NoProstitutes": "No prostitutes",
"PedBleed": "Ped bleed",
"PedDensityMul": "Ped density multiplier",
"PedsAtkRocket": "Peds attack with rockets",
"PedsMayhem": "Peds mayhem",
"PedsRiot": "Peds riot",
"PedType": "Ped type",
"Radius": "Radius",
"RecruitAnyone": "Recruit anyone",
"RemoveFrozen": "Remove frozen peds",
"RemovePeds": "Remove peds",
"RemovePedsRadius": "Remove peds in radius",
"SelectedWeapon": "Selected weapon: %s",
"SelectWeapon": "Select weapon",
"SlutMagnet": "Slut magnet",
"SpawnerTab": "Spawner",
"StartWar": "Start gang war",
"ThinBody": "Thin body effect",
"WeaponAll": "Weapons for all",
"ZoneDensity": "Gang zone density:"
},
"Player": { "Player": {
"AimSkinChanger": "Aim skin changer", "AimSkinChanger": "Aim skin changer",
"AimSkinChangerTip": "Changes to the ped, player is targeting with a weapon.\nTo use aim a ped with a weapon and press ", "AimSkinChangerTip": "Changes to the ped, player is targeting with a weapon.\nTo use aim a ped with a weapon and press ",
@ -222,6 +260,8 @@
"Skinny": "Skinny", "Skinny": "Skinny",
"SkinsTab": "Skins", "SkinsTab": "Skins",
"SpecialNotImplement": "Spawning special peds isn't implemented yet", "SpecialNotImplement": "Spawning special peds isn't implemented yet",
"SprintEverywhere": "Sprint everywhere",
"SprintEverywhereTip": "Enables sprinting on every\nground surface (interior etc.)",
"Stamina": "Stamina", "Stamina": "Stamina",
"Suicide": "Suicide", "Suicide": "Suicide",
"TopDownCamera": "Top down camera", "TopDownCamera": "Top down camera",

View File

@ -60,7 +60,7 @@ void Ped::SpawnPed(std::string& cat, std::string& name, std::string& model)
{ {
if (m_SpawnPed::m_List.size() == SPAWN_PED_LIMIT) if (m_SpawnPed::m_List.size() == SPAWN_PED_LIMIT)
{ {
SetHelpMessage("Max limit reached", false, false, false); SetHelpMessage(TEXT("Ped.MaxLimit"));
return; return;
} }
@ -100,7 +100,7 @@ void Ped::SpawnPed(std::string& cat, std::string& name, std::string& model)
if (cat == "Special") // Special model if (cat == "Special") // Special model
{ {
#ifdef GTA3 #ifdef GTA3
SetHelpMessage("Spawning special peds isn't implemented yet.", false, false, false); SetHelpMessage(TEXT("Player.SpecialNotImplement"));
return; return;
#else #else
Command<Commands::LOAD_SPECIAL_CHARACTER>(currentSlot, model.c_str()); Command<Commands::LOAD_SPECIAL_CHARACTER>(currentSlot, model.c_str());
@ -161,61 +161,61 @@ void Ped::ShowPage()
{ {
if (ImGui::BeginTabBar("Ped", ImGuiTabBarFlags_NoTooltip + ImGuiTabBarFlags_FittingPolicyScroll)) if (ImGui::BeginTabBar("Ped", ImGuiTabBarFlags_NoTooltip + ImGuiTabBarFlags_FittingPolicyScroll))
{ {
if (ImGui::BeginTabItem("Checkboxes")) if (ImGui::BeginTabItem(TEXT("Window.CheckboxTab")))
{ {
ImGui::Spacing(); ImGui::Spacing();
ImGui::BeginChild("CheckboxesChild"); ImGui::BeginChild("CheckboxesChild");
ImGui::Columns(2, 0, false); ImGui::Columns(2, 0, false);
#ifdef GTASA #ifdef GTASA
Ui::CheckboxWithHint("Big head effect", &m_bBigHead); Ui::CheckboxWithHint(TEXT("Ped.BigHead"), &m_bBigHead);
Ui::CheckboxAddress("Elvis everywhere", 0x969157); Ui::CheckboxAddress(TEXT("Ped.ElvisEverywhere"), 0x969157);
Ui::CheckboxAddress("Everyone is armed", 0x969140); Ui::CheckboxAddress(TEXT("Ped.EveryoneArmed"), 0x969140);
Ui::CheckboxAddress("Gangs control streets", 0x96915B); Ui::CheckboxAddress(TEXT("Ped.GangsControl"), 0x96915B);
Ui::CheckboxAddress("Gangs everywhere", 0x96915A); Ui::CheckboxAddress(TEXT("Ped.GangsEverywhere"), 0x96915A);
Ui::CheckboxWithHint("Gang wars", &CGangWars::bGangWarsActive); Ui::CheckboxWithHint(TEXT("Ped.GangWars"), &CGangWars::bGangWarsActive);
ImGui::NextColumn(); ImGui::NextColumn();
Ui::CheckboxAddress("Peds mayhem", 0x96913E); Ui::CheckboxAddress(TEXT("Ped.PedsMayhem"), 0x96913E);
Ui::CheckboxAddress("Peds attack with rockets", 0x969158); Ui::CheckboxAddress(TEXT("Ped.PedsAtkRocket"), 0x969158);
Ui::CheckboxAddress("Peds riot", 0x969175); Ui::CheckboxAddress(TEXT("Ped.PedsRiot"), 0x969175);
Ui::CheckboxAddress("Slut magnet", 0x96915D); Ui::CheckboxAddress(TEXT("Ped.SlutMagnet"), 0x96915D);
Ui::CheckboxWithHint("Thin body effect", &m_bThinBody); Ui::CheckboxWithHint(TEXT("Ped.ThinBody"), &m_bThinBody);
#elif GTAVC #elif GTAVC
Ui::CheckboxAddress("No prostitutes", 0xA10B99); Ui::CheckboxAddress(TEXT("Ped.NoProstitutes"), 0xA10B99);
Ui::CheckboxAddress("Slut magnet", 0xA10B5F); Ui::CheckboxAddress(TEXT("Ped.SlutMagnet"), 0xA10B5F);
ImGui::NextColumn(); ImGui::NextColumn();
Ui::CheckboxAddress("Weapons for all", 0xA10AB3); Ui::CheckboxAddress(TEXT("Ped.WeaponAll"), 0xA10AB3);
#else #else
// Bad idea lol // Bad idea lol
static bool pedsMayhem; static bool pedsMayhem;
if (Ui::CheckboxWithHint("Peds mayhem", &pedsMayhem)) if (Ui::CheckboxWithHint(TEXT("Ped.PedsMayhem"), &pedsMayhem))
{ {
Call<0x4911C0>(); Call<0x4911C0>();
} }
static bool everyoneAttacksPlayer; static bool everyoneAttacksPlayer;
if (Ui::CheckboxWithHint("Everyone attacks players", &everyoneAttacksPlayer)) if (Ui::CheckboxWithHint(TEXT("Ped.EveryoneAtk"), &everyoneAttacksPlayer))
{ {
Call<0x491270>(); Call<0x491270>();
} }
ImGui::NextColumn(); ImGui::NextColumn();
Ui::CheckboxAddress("Nasty limbs", 0x95CD44); Ui::CheckboxAddress(TEXT("Ped.NastyLimbs"), 0x95CD44);
Ui::CheckboxAddress("Weapons for all", 0x95CCF6); Ui::CheckboxAddress(TEXT("Ped.WeaponAll"), 0x95CCF6);
#endif #endif
ImGui::Columns(1); ImGui::Columns(1);
ImGui::EndChild(); ImGui::EndChild();
ImGui::EndTabItem(); ImGui::EndTabItem();
} }
if (ImGui::BeginTabItem("Menus")) if (ImGui::BeginTabItem(TEXT("Window.MenusTab")))
{ {
ImGui::Spacing(); ImGui::Spacing();
ImGui::BeginChild("MenusChild"); ImGui::BeginChild("MenusChild");
#ifdef GTASA #ifdef GTASA
if (ImGui::CollapsingHeader("Gang wars")) if (ImGui::CollapsingHeader(TEXT("Ped.GangWars")))
{ {
if (ImGui::Button("Start gang war", ImVec2(Ui::GetSize(2)))) if (ImGui::Button(TEXT("Ped.StartWar"), ImVec2(Ui::GetSize(2))))
{ {
if (Util::GetLargestGangInZone() == 1) if (Util::GetLargestGangInZone() == 1)
{ {
@ -228,13 +228,13 @@ void Ped::ShowPage()
CGangWars::bGangWarsActive = true; CGangWars::bGangWarsActive = true;
} }
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("End gang war", ImVec2(Ui::GetSize(2)))) if (ImGui::Button(TEXT("Ped.EndWar"), ImVec2(Ui::GetSize(2))))
{ {
CGangWars::EndGangWar(true); CGangWars::EndGangWar(true);
} }
ImGui::Dummy(ImVec2(0, 20)); ImGui::Dummy(ImVec2(0, 20));
ImGui::TextWrapped("Gang zone density:"); ImGui::TextWrapped(TEXT("Ped.ZoneDensity"));
ImGui::Spacing(); ImGui::Spacing();
ImGui::PushItemWidth(ImGui::GetWindowContentRegionWidth() / 2); ImGui::PushItemWidth(ImGui::GetWindowContentRegionWidth() / 2);
@ -259,9 +259,9 @@ void Ped::ShowPage()
if (!m_bExGangWarsInstalled) if (!m_bExGangWarsInstalled)
{ {
ImGui::TextWrapped("You'll need ExGangWars plugin to display some turf colors"); ImGui::TextWrapped(TEXT("Ped.ExGangWarsTip"));
ImGui::Spacing(); ImGui::Spacing();
if (ImGui::Button("Download ExGangWars", Ui::GetSize(1))) if (ImGui::Button(TEXT("Ped.DownloadExGangWars"), Ui::GetSize(1)))
{ {
ShellExecute(NULL, "open", "https://gtaforums.com/topic/682194-extended-gang-wars/", NULL, NULL, ShellExecute(NULL, "open", "https://gtaforums.com/topic/682194-extended-gang-wars/", NULL, NULL,
SW_SHOWNORMAL); SW_SHOWNORMAL);
@ -272,26 +272,26 @@ void Ped::ShowPage()
ImGui::Separator(); ImGui::Separator();
} }
#endif #endif
Ui::EditReference<float>("Pedestrian density multiplier", CPopulation::PedDensityMultiplier, 0, 1, 10); Ui::EditReference<float>(TEXT("Ped.PedDensityMul"), CPopulation::PedDensityMultiplier, 0, 1, 10);
#ifdef GTASA #ifdef GTASA
if (ImGui::CollapsingHeader("Recruit anyone")) if (ImGui::CollapsingHeader(TEXT("Ped.RecruitAnyone")))
{ {
static std::vector<Ui::NamedMemory> selectWeapon static std::vector<Ui::NamedMemory> selectWeapon
{ {
{"9mm", 0x96917C}, {"AK47", 0x96917D}, {"Rockets", 0x96917E} {"9mm", 0x96917C}, {"AK47", 0x96917D}, {"Rockets", 0x96917E}
}; };
Ui::RadioButtonAddress("Select weapon", selectWeapon); Ui::RadioButtonAddress(TEXT("Ped.SelectWeapon"), selectWeapon);
ImGui::Spacing(); ImGui::Spacing();
ImGui::Separator(); ImGui::Separator();
} }
#endif #endif
if (ImGui::CollapsingHeader("Remove peds in radius")) if (ImGui::CollapsingHeader(TEXT("Ped.RemovePedsRadius")))
{ {
static int removeRadius = 5; static int removeRadius = 5;
ImGui::InputInt("Radius", &removeRadius); ImGui::InputInt(TEXT("Ped.Radius"), &removeRadius);
ImGui::Spacing(); ImGui::Spacing();
if (ImGui::Button("Remove peds", Ui::GetSize(1))) if (ImGui::Button(TEXT("Ped.RemovePeds"), Ui::GetSize(1)))
{ {
CPlayerPed* player = FindPlayerPed(); CPlayerPed* player = FindPlayerPed();
for (CPed* ped : CPools::ms_pPedPool) for (CPed* ped : CPools::ms_pPedPool)
@ -309,10 +309,10 @@ void Ped::ShowPage()
ImGui::EndChild(); ImGui::EndChild();
ImGui::EndTabItem(); ImGui::EndTabItem();
} }
if (ImGui::BeginTabItem("Spawn")) if (ImGui::BeginTabItem(TEXT("Window.SpawnTab")))
{ {
ImGui::Spacing(); ImGui::Spacing();
if (ImGui::Button("Remove frozen peds", Ui::GetSize(1))) if (ImGui::Button(TEXT("Ped.RemoveFrozen"), Ui::GetSize(1)))
{ {
for (CPed* ped : m_SpawnPed::m_List) for (CPed* ped : m_SpawnPed::m_List)
{ {
@ -326,7 +326,7 @@ void Ped::ShowPage()
{ {
ImGui::Spacing(); ImGui::Spacing();
if (ImGui::BeginTabItem("Spawner")) if (ImGui::BeginTabItem(TEXT("Ped.SpawnerTab")))
{ {
ImGui::Spacing(); ImGui::Spacing();
#ifdef GTASA #ifdef GTASA
@ -340,19 +340,19 @@ void Ped::ShowPage()
#endif #endif
ImGui::EndTabItem(); ImGui::EndTabItem();
} }
if (ImGui::BeginTabItem("Config")) if (ImGui::BeginTabItem(TEXT("Ped.ConfigTab")))
{ {
ImGui::Spacing(); ImGui::Spacing();
ImGui::BeginChild("PedCOnfig"); ImGui::BeginChild("PedCOnfig");
ImGui::Columns(2, 0, false); ImGui::Columns(2, 0, false);
Ui::CheckboxWithHint("Don't move", &m_SpawnPed::m_bPedMove); Ui::CheckboxWithHint(TEXT("Ped.NoMove"), &m_SpawnPed::m_bPedMove);
ImGui::NextColumn(); ImGui::NextColumn();
Ui::CheckboxWithHint("Ped bleed", &m_SpawnPed::m_bPedBleed); Ui::CheckboxWithHint(TEXT("Ped.PedBleed"), &m_SpawnPed::m_bPedBleed);
ImGui::Columns(1); ImGui::Columns(1);
ImGui::Spacing(); ImGui::Spacing();
ImGui::SliderInt("Accuracy", &m_SpawnPed::m_nAccuracy, 0.0, 100.0); ImGui::SliderInt(TEXT("Ped.Accuracy"), &m_SpawnPed::m_nAccuracy, 0.0, 100.0);
if (ImGui::InputInt("Health", &m_SpawnPed::m_nPedHealth)) if (ImGui::InputInt(TEXT("Ped.Health"), &m_SpawnPed::m_nPedHealth))
{ {
if (m_SpawnPed::m_nPedHealth > 1000) if (m_SpawnPed::m_nPedHealth > 1000)
{ {
@ -364,10 +364,10 @@ void Ped::ShowPage()
m_SpawnPed::m_nPedHealth = 0; m_SpawnPed::m_nPedHealth = 0;
} }
} }
Ui::ListBox("Ped type", m_SpawnPed::m_PedTypeList, m_SpawnPed::m_nSelectedPedType); Ui::ListBox(TEXT("Ped.PedType"), m_SpawnPed::m_PedTypeList, m_SpawnPed::m_nSelectedPedType);
ImGui::Spacing(); ImGui::Spacing();
ImGui::Text("Selected weapon: %s", m_SpawnPed::m_nWeaponName.c_str()); ImGui::Text(TEXT("Ped.SelectedWeapon"), m_SpawnPed::m_nWeaponName.c_str());
ImGui::Spacing(); ImGui::Spacing();
#ifdef GTASA #ifdef GTASA
Ui::DrawImages(Weapon::m_WeaponData, Ui::DrawImages(Weapon::m_WeaponData,

View File

@ -506,7 +506,21 @@ void Player::ShowPage()
#endif #endif
Ui::CheckboxAddress(TEXT("Player.NoFee"), (int)&pInfo->m_bGetOutOfJailFree); Ui::CheckboxAddress(TEXT("Player.NoFee"), (int)&pInfo->m_bGetOutOfJailFree);
Ui::CheckboxWithHint(TEXT("Player.RespawnDieLoc"), &m_KeepPosition::m_bEnabled, TEXT("Player.RespawnDieLocTip")); Ui::CheckboxWithHint(TEXT("Player.RespawnDieLoc"), &m_KeepPosition::m_bEnabled, TEXT("Player.RespawnDieLocTip"));
#ifdef GTASA
static bool sprintInt = false;
if (Ui::CheckboxWithHint(TEXT("Player.SprintEverywhere"), &sprintInt, TEXT("Player.SprintEverywhereTip")))
{
if (sprintInt)
{
patch::SetRaw(0x688610, (char*)"\x90\x90", 2);
}
else
{
patch::SetRaw(0x688610, (char*)"\x75\x40", 2);
}
}
#endif
ImGui::Columns(1); ImGui::Columns(1);
ImGui::NewLine(); ImGui::NewLine();