Recent posts

#41
Support / Re: onPlayerMove but in client...
Last post by Xmair - Oct 22, 2025, 08:53 PM
You could use Script::ScriptProcess
#42
Client Scripting / Re: Client script for my serve...
Last post by (vG)DesTroYeR^ - Oct 22, 2025, 08:06 PM
man for fuck's sake - stop using chatgpt
you are a newbie and i know u well, that script isnt even logical and seems to be faulty (chatgpt written)

go learn scripting instead of braging about gpt shithole codes
#43
Support / onPlayerMove but in client sid...
Last post by (vG)DesTroYeR^ - Oct 22, 2025, 07:09 PM
My friend @gamingpro told me that there's a function in client side written like this:
function Player::PlayerMove(oldpos, newpos){
}

But I am not sure of this, can someone tell me if there's a function like this in client side? Sending high rate timers to client side frequently is laggy -> not only is it lagging for the sprite angle degrees im sending but is also cpu-bound of the panel.

I am now using local player = World.findlocalplayer(); // player.Position vector ---  but it needs more precision to get rid of lag, thats why im searching for a function like playermove in server side.

I basically want it works same as Player's default tag name that incessantly follows him precisely
#44
Support / Re: Client side urgent help ne...
Last post by (vG)DesTroYeR^ - Oct 22, 2025, 11:50 AM
Quote from: vitovc on Oct 21, 2025, 03:44 PMthere is no clientside player.Angle but you can 1) get it from server (with lag) with Stream function 2) or you can guess player's camera angle (it almost same as player.Angle when player is not looking back)

get_angle <- function(x, y, x2, y2){
  return ::atan2(y2 - y, x2 - x);
}
get_player_angle <- function(){
  local screen_size = ::GUI.GetScreenSize();
  local cam_from = ::GUI.ScreenPosToWorld(::Vector(screen_size.X * 0.5, screen_size.Y * 0.5, -1));
  local cam_to = ::GUI.ScreenPosToWorld(::Vector(screen_size.X * 0.5, screen_size.Y * 0.5, 1));
  return ::get_angle(cam_from.X, cam_from.Y, cam_to.X, cam_to.Y);
}
untested, I took code from Get player Camera zoom
local angle = ::get_player_angle();also maybe you will need to add some offset to result of angle to make it similar as serverside angle, to do it correctly use
normalize_angle <- function (a){
  return ::atan2(::sin(a), ::cos(a));
}

::normalize_angle(angle + 1.57079);

i was trying to develop an MVP Trophy tag above player's name tag, it keeps following him as long as he moves, i firstly had some issues regarding angle
but i took GetAngleFromDeg() function from forums and from the server side(Angles there in radians, -3.14 to 3.14) I sent to client side and did some offset according to degree angle, it is now good. But i wish if there were a ready to use angle index.
- ty for help thats useful
#45
Servers / Re: [PTB] - Plant the Bomb
Last post by (vG)DesTroYeR^ - Oct 21, 2025, 08:27 PM
# PTB v2.0

- Added:
MVP sprite for the TOP player of the current round as a tag which incessantly follow him as long as they move.
- Added:
Miscellaneous commands and fixed old ones.
- Updated:
Lobby Welcome sprite into a better appearance.
- Added:
Score message when round ends (Doesnt show when attackers win by planting).
- Changed:
IP address to **49.12.82.39:19156**.
- Fixed:
Voting timer redundancy, it now works systematically.
- Added:
New weapon UI as a packlist for weapons.
- Adjusted:
Pack system: you can now click on keys to claim the desired pack.
- Added:
New rules UI as a list of rules.
#46
Support / Re: Client side urgent help ne...
Last post by vitovc - Oct 21, 2025, 03:44 PM
there is no clientside player.Angle but you can 1) get it from server (with lag) with Stream function 2) or you can guess player's camera angle (it almost same as player.Angle when player is not looking back)

get_angle <- function(x, y, x2, y2){
  return ::atan2(y2 - y, x2 - x);
}
get_player_angle <- function(){
  local screen_size = ::GUI.GetScreenSize();
  local cam_from = ::GUI.ScreenPosToWorld(::Vector(screen_size.X * 0.5, screen_size.Y * 0.5, -1));
  local cam_to = ::GUI.ScreenPosToWorld(::Vector(screen_size.X * 0.5, screen_size.Y * 0.5, 1));
  return ::get_angle(cam_from.X, cam_from.Y, cam_to.X, cam_to.Y);
}
untested, I took code from Get player Camera zoom
local angle = ::get_player_angle();also maybe you will need to add some offset to result of angle to make it similar as serverside angle, to do it correctly use
normalize_angle <- function (a){
  return ::atan2(::sin(a), ::cos(a));
}

::normalize_angle(angle + 1.57079);
#47
Client Scripting / Re: Client for my script 🥈 (se...
Last post by PSL - Oct 21, 2025, 02:34 PM
The code uses `org.json.JSONObject` to handle JSON data, but the JSON dependency is not included in the Maven `pom.xml` (you named it `Depidence.xml`, the standard name should be `pom.xml`). Direct compilation will result in a `ClassNotFoundException`
#48
Script Showroom / Squirrel built-in math functi...
Last post by (vG)DesTroYeR^ - Oct 21, 2025, 02:24 PM
function ToLower(num) { // (Floor)
local fltdot = ".";
local numstr = num+"";
local checkflt = split(numstr, fltdot);
if(checkflt.len() > 2) return print("Wrong float value detected.");
if(checkflt.len() == 2){
local w = checkflt[0].tointeger(); \\ before the dot. like 34(.)5 - it will return 34
return w;
}
return print("Invalid input (ToLower)");
}

function ToGreater(num) { // (Ceil)
local fltdot = ".";
local numstr = num+"";
local checkflt = split(numstr, fltdot);
if(checkflt.len() > 2)return print("Invalid input - ToGreater()"); // must be 1 dot.
if(checkflt.len() <= 1)return print("Invalid input - ToGreater()"); // no integers. or (34.) so the dot in 34 is not a valid input
local floats = "0."+checkflt[1];
local integers = checkflt[0];
if (checkflt[1].tointeger() == 0) return integers.tointeger(); // if 34.0 return 34
local subTracT =  floats.tofloat() - 1;
local subT = abs(subTracT); // (+)

local result = num + subT; // 34.3 + 0.7 = 35
return result;
}

idk whats the purpose of these codes, but i like to know how built-in math funcs work - so are these funcs used above work correctly?
#49
Servers / Skull DM GTA V Minigames
Last post by Adrenaline - Oct 21, 2025, 05:01 AM

SKULL DM – Deathmatch & Events redefined


Mode: Skull DM GTA V Minigames v1.2 
Discord: Click here! 
IP Address: 51.38.237.230:8193



About us 
SKULL DM is a Vice City Multiplayer Deathmatch server designed to attract new players while keeping the traditional VC:MP mechanics that veteran fighters love. 
It combines the fast-paced combat of classic DM with creative minigames and new features that keep the experience fresh and competitive. 

Money is earned through duels and events — and can be used to buy vehicles or, soon, custom GTA Online-inspired skins (coming soon). 
Every event was built to deliver constant action, fun, and variety, whether you're a newcomer discovering VC:MP or a veteran returning to dominate the streets again.



Events list
 
1. SumoCars Event – Push your rivals off the platform in a chaotic vehicle sumo battle. 
2. GunGame Event – Win duels to progress through a weapon chain until only one stands. 
3. Hide & Seek Event – Hunters and hiders face off in a unique Vice City hideout challenge. 
4. Tanks vs Tanks – Face other players in heavy tank battles — explosive and unstoppable. 
5. Chainsaw Party – A deadly chase where runners must escape the hunters before it's too late. 
6. HeliBlades Event – Survive spinning helicopter blades in a brutal airborne challenge. 
7. Drive-by Event – Vehicle combat where only the best aim and control will keep you alive. 
8. Race Event – Competitive racing across Vice City; no arena, just pure speed and skill on the streets.



Main Areas
 
BattleZone – The heart of SKULL DM. Classic open duels where players fight freely using default VC:MP weapons — fast, simple, and pure skill. 
AimZone – A training area designed to improve your aim, reflexes, and weapon control before heading into real fights or events. 
StuntZone (Coming Soon) – A new space for stunts, tricks, and freestyle driving, arriving in a future update.



Join now and experience the return of true deathmatch — fast-paced, competitive, and made for those who never stop fighting.


🔥 Event Showcase 🔥
Take a look at some of the exclusive minigames that make SKULL DM unique.
Watch all the events in action on our YouTube Channel.


Credits
Adrenaline (Mapping & Original Idea) | Speed (Scripting)
#50
Servers / THE LEAGUE RETURNS! 100$$$$
Last post by NASCAR 2025 - Oct 20, 2025, 04:26 AM
[size=18]🚨 VC:MP ULTIMATE RACING LEAGUE – SIGNUPS OPEN 🚨[/size]

THE LEAGUE RETURNS! 
After a long hiatus and seeing the community slow down with no real competitive events happening, our team is officially returning with a PAID VC:MP racing tournament — and this time we're doing it bigger and better than before.

EVENT DETAILS & SIGNUP 
• There are only 7 main spots available in Season One. 
If all 7 spots fill, don't worry — still sign up. If someone drops out, is kicked or banned, the next player on the list slides in. 
SIGN UP LINK 👉 https://tally.so/r/3yWr4g 
• We're running this like a career-mode NASCAR league inside VC:MP — long-term, serious, structured.

RULES & RACING MODE 
• This server is strictly for racingno weapons, no trolls, no role-play chaos. 
• Once the league finishes, the server stays open forever for practice, open laps and future seasons. 
• Every participant gets their own NASCAR-style car to keep, upgrade and customise inside our server. 
  – Note: If you are kicked or banned from the server at any time, you forfeit your car ownership and all upgrades
• This event will be broadcast on YouTube, Twitch & TikTok, and all races may be clipped and publicly featured. 
  – If you do not want to appear on stream/recorded, do not join
• You must have PayPal (preferred) to receive payout; Steam payment may be considered in rare cases, but final approval is at our discretion. 
• Failure to show up, follow training procedures, obey race rules or respect sportsmanship will result in disqualification and forfeiture of prize money.

WHY WE'RE BACK 
• The VC:MP racing scene has been quiet — we're reviving it with a premium, competitive experience
• We're leaving the past behind. No grudges. No drama. We're giving the community a fresh start. 
• This isn't just a one-off: we want this to be the first season of many, with a server you can use beyond the league and a community you can stay in long term.

HOW TO JOIN 
1. Click the signup link above. 
2. Fill in your name + email + whatever we ask. 
3. Join our Discord for updates and scheduling: https://discord.gg/DYF56y89dM 
4. Get ready for training sessions, rules briefing, grid setup and prep for the first race. 
5. DO NOT sign up if you're looking for a casual drive with no effort or no commitment — this is serious.

LET'S MAKE VC:MP BUMP AGAIN 
This is your chance to be part of something epic — the revival of the VC:MP racing community, with real money on the line, real competition, and a server built just for you. 
Don't wait. Sign up now. 
Let's bring the heat, lock in those 7 spots and get ready to race!

[size=12]Posted on behalf of the [Your Team/Organisation Name] • Be there or be left behind![/size]