Vice City: Multiplayer

Server Development => Scripting and Server Management => Topic started by: Gulk2 on Oct 09, 2019, 10:02 PM

Title: Spawnscreen texture issue
Post by: Gulk2 on Oct 09, 2019, 10:02 PM
Ok check out this video, i captioned the parts with the issue.
Yeah maybe it's not a VCMP issue, and GTAVC's - but i can't solve this.
Maybe someone has a better understanding of what is going on here.

The textures at the police station and at the beach glitch out at certain times, and scrolling left/right sometimes temporarily fixes them.

Video:
https://youtu.be/tebj73m1a9U

Script:
function onPlayerRequestClass( player, classID, team, skin )
{
switch( skin )
    {
    case 1:
    {
SetCinematicBorder( player, true );
SetGreenScanLines( player, true );
SetSpawnPlayerPos( -971.0, 280.0, -100.0 );
player.SetCameraPos(Vector(-971.0, 280.0, 40.0),Vector(-1067.0, 320.0, 10.0));
player.PlaySound(361);
player.PlaySound(363);
Announce( "ROBBER", player, 0 );
    }
    break;
    case 2:
    {
SetCinematicBorder( player, true );
SetGreenScanLines( player, true );
SetSpawnPlayerPos( -1421.0, -760.0, -100.0 );
player.SetCameraPos(Vector(-1421.0, -760.0, 40.0),Vector(-1435.0, -833.0, 14.0));
player.PlaySound(361);
player.PlaySound(363);
 Announce( "MEXICAN", player, 0 );
    }
    break;
    case 3:
    {
SetCinematicBorder( player, true );
SetGreenScanLines( player, true );
SetSpawnPlayerPos( -690.0, -1360.0, -100.0 );
player.SetCameraPos(Vector(-690.0, -1360.0, 11.0),Vector(-680.0, -1250.0, 35.0));
player.PlaySound(361);
player.PlaySound(363);
Announce( "SAILOR", player, 0 );
    }
    break;
    case 4:
    {
SetCinematicBorder( player, true );
SetGreenScanLines( player, true );
SetSpawnPlayerPos( 409.0, 656.0, -100.0 );
player.SetCameraPos(Vector(409.0, 656.0, 40.0),Vector(428.0, 608.0, 17.0));
player.PlaySound(361);
player.PlaySound(363);
Announce( "VC CRUSADER", player, 0 );
    }
    break;
    case 5:
    {
SetCinematicBorder( player, true );
SetGreenScanLines( player, true );
SetSpawnPlayerPos( 34.5, -1178.5, -100.0 );
player.SetCameraPos(Vector(34.5, -1178.5, 20.0),Vector(7.0, -1211.0, 9.4));
player.PlaySound(361);
player.PlaySound(363);
Announce( "SECRET SERVICE", player, 0 );
    }
break;
    case 6:
    {
SetCinematicBorder( player, true );
SetGreenScanLines( player, true );
SetSpawnPlayerPos( 474.4, -1717.5, 56.2 );
player.SetCameraPos(Vector(474.4, -1717.5, 70.0),Vector(173.0, -1454.0, 26.0));
player.PlaySound(361);
player.PlaySound(363);
Announce( "SPECTATOR", player, 0 );
    }
break;
    case 7:
    {
SetCinematicBorder( player, true );
SetGreenScanLines( player, true );
SetSpawnPlayerPos( -836.0, -638.0, -100.0 );
player.SetCameraPos(Vector(-836.0, -638.0, 15.0),Vector(-866.0, -679.0, 1.0));
player.PlaySound(361);
player.PlaySound(363);
Announce( "COP", player, 0 );
    }
 }
}

Instead of "player.setCameraPos" , I was using both "SetSpawnCameraPos" and "SetSpawnCameraLook" and these in combination were spawning me as the incorrect skin for spawnscreen. So ditching those helped. But introduced this issue.
Title: Re: Spawnscreen texture issue
Post by: D4rkR420R on Oct 10, 2019, 02:24 AM
If you set your camera position really far from the player, the game won't load the textures fully.
Title: Re: Spawnscreen texture issue
Post by: Sebastian on Oct 10, 2019, 09:00 AM
Quote from: DarkRaZoR^ on Oct 10, 2019, 02:24 AMIf you set your camera position really far from the player, the game won't load the textures fully.

True.
Models won't load if you too far away.
Models load according to player, not to camera, so you must teleport player too

So when using player.SetCamera, you should also update the player.Pos too.

You can even hide player while camera is looking somewhere else, by using player.SetAlpha(0,0), then reset it by using player.SetAlpha(255,0), so it won't interfere with the view.
Title: Re: Spawnscreen texture issue
Post by: Gulk2 on Oct 10, 2019, 12:29 PM
Whats the difference between SetSpawnPlayerPos and player.Pos?

My players are positioned close by. Exact X Y
Title: Re: Spawnscreen texture issue
Post by: Xmair on Oct 10, 2019, 02:14 PM
SpawnPlayerPos is the position where the player will be placed upon class selection. .Pos is a getter/setter for the player's position.
Title: Re: Spawnscreen texture issue
Post by: Gulk2 on Oct 10, 2019, 08:02 PM
Simply removed all the reoccuring SetSpawnPlayerPos and replaced with player.pos. It F***ing works! :D Fixed