Author Topic: PutToCar all players in derby problem.  (Read 2272 times)

rwwpl

  • Full Member
  • ***
  • Posts: 126
  • Karma: +18/-6
  • LU-DM Team
    • View Profile
    • LU-DM Team
PutToCar all players in derby problem.
« on: July 22, 2015, 11:23:14 am »
Function:

Code: [Select]
function PutToCar()
{
foreach(ii,p in Players)
{
if (p && InDerby[p.ID])
{
local v = GetClosestVehicle(p);
if (v) p.Vehicle = v;
}
}
}

Error line:
Code: [Select]
if (v) p.Vehicle = v;

Error:

Code: [Select]
<22/07/2015 - 11:02:29>
AN ERROR HAS OCCURED [invalid instance type]

<22/07/2015 - 11:02:29>
CALLSTACK

<22/07/2015 - 11:02:29> *FUNCTION [PutToCar()] Scripts/Glowny/Funkcje.nut line [1239]

<22/07/2015 - 11:02:29>
LOCALS

<22/07/2015 - 11:02:29> [vehicle] INSTANCE

<22/07/2015 - 11:02:29> [p] INSTANCE

<22/07/2015 - 11:02:29> [ii] 1

<22/07/2015 - 11:02:29> [this] TABLE

Ankris

  • Full Member
  • ***
  • Posts: 110
  • Karma: +29/-44
    • View Profile
Re: PutToCar all players in derby problem.
« Reply #1 on: July 22, 2015, 12:46:22 pm »
Could u post the code when "PutToCar()" it's called pls?

rwwpl

  • Full Member
  • ***
  • Posts: 126
  • Karma: +18/-6
  • LU-DM Team
    • View Profile
    • LU-DM Team
Re: PutToCar all players in derby problem.
« Reply #2 on: July 22, 2015, 01:43:19 pm »
Code: [Select]
function CheckDerby()
{
DerbyZapisy = false;
if (DerbyGracze > 1)
{
DerbyCash = DerbyGracze * 300;
Derby = true;
PutToCar();
NewTimer("DerbyOdlicz",0,1,"3");
NewTimer("DerbyOdlicz",1000,1,"2");
NewTimer("DerbyOdlicz",2000,1,"1");
NewTimer("DerbyOdlicz",3000,1,"0");
NewTimer("MessageLang",3000,1,"* Derby wystartowaly! Graczy [#ffaa00][ "+DerbyGracze+" ][#beff0a] / Wygrana [#ffaa00][ $"+DerbyCash+" ]!","* Derby has started! Players [#ffaa00][ "+DerbyGracze+" ][#beff0a] / Prize [#ffaa00][ $"+DerbyCash+" ]!",190,255,10);
}
else CloseDerby();
}

Ankris

  • Full Member
  • ***
  • Posts: 110
  • Karma: +29/-44
    • View Profile
Re: PutToCar all players in derby problem.
« Reply #3 on: July 22, 2015, 03:04:12 pm »
dat code doesn't help ...

Code: [Select]
function PutToCar()
{
foreach(ii,p in Players)
{
if (p && InDerby[p.ID])
{
local v = GetClosestVehicle(p);
if (v) {
print(v);
print(p);
p.Vehicle = v;
}
}
}
}

Tell me what prints.

rwwpl

  • Full Member
  • ***
  • Posts: 126
  • Karma: +18/-6
  • LU-DM Team
    • View Profile
    • LU-DM Team
Re: PutToCar all players in derby problem.
« Reply #4 on: July 22, 2015, 03:31:01 pm »


Code: [Select]
<22/07/2015 - 15:29:49> Banshee
<22/07/2015 - 15:29:49> rwwpl
<22/07/2015 - 15:29:49> rwwpl2 <- bugged...
<22/07/2015 - 15:29:49> rwwpl2
« Last Edit: July 22, 2015, 03:59:45 pm by rwwpl »

Ankris

  • Full Member
  • ***
  • Posts: 110
  • Karma: +29/-44
    • View Profile
Re: PutToCar all players in derby problem.
« Reply #5 on: July 22, 2015, 03:36:32 pm »
i meant
Code: [Select]
print(v);
print(p);

not the error.

rwwpl

  • Full Member
  • ***
  • Posts: 126
  • Karma: +18/-6
  • LU-DM Team
    • View Profile
    • LU-DM Team
Re: PutToCar all players in derby problem.
« Reply #6 on: July 22, 2015, 03:59:51 pm »
Code: [Select]
<22/07/2015 - 15:29:49> Banshee
<22/07/2015 - 15:29:49> rwwpl
<22/07/2015 - 15:29:49> rwwpl2 <- bugged...
<22/07/2015 - 15:29:49> rwwpl2

Ankris

  • Full Member
  • ***
  • Posts: 110
  • Karma: +29/-44
    • View Profile
Re: PutToCar all players in derby problem.
« Reply #7 on: July 22, 2015, 04:13:51 pm »
noice bug.
Code: [Select]
function PutToCar()
{
foreach(ii,p in Players)
{
if (InDerby[ii])
{
local v = GetClosestVehicle(p);
p = FindPlayer(ii);
if (v)
{
p.Pos = v.Pos;
p.Vehicle = v;
}
}
}
}

btw, as you are using the Vortrex loop method (not Shadow. loop method, it's different), go to "onPlayerPart" event and replace the line
Code: [Select]
Players[p.ID] <- null;
to
Code: [Select]
Players.rawdelete(p.ID);
Rawdelete will remove the player ID slot from table, and you never will need check if exists or not the slot.

rwwpl

  • Full Member
  • ***
  • Posts: 126
  • Karma: +18/-6
  • LU-DM Team
    • View Profile
    • LU-DM Team
Re: PutToCar all players in derby problem.
« Reply #8 on: July 22, 2015, 04:25:01 pm »
Error is line

Code: [Select]
p.Vehicle = v;


Ankris

  • Full Member
  • ***
  • Posts: 110
  • Karma: +29/-44
    • View Profile
Re: PutToCar all players in derby problem.
« Reply #9 on: July 22, 2015, 04:33:47 pm »
omg, the var 'p' never can be changed

Code: [Select]
function PutToCar()
{
foreach(ii,p in Players)
{
if (InDerby[ii])
{
local v = GetClosestVehicle(p), p = FindPlayer(ii);
if (v && p)
{
p.Pos = v.Pos;
p.Vehicle = v;
}
}
}
}

rwwpl

  • Full Member
  • ***
  • Posts: 126
  • Karma: +18/-6
  • LU-DM Team
    • View Profile
    • LU-DM Team
Re: PutToCar all players in derby problem.
« Reply #10 on: July 22, 2015, 04:57:09 pm »

Ankris

  • Full Member
  • ***
  • Posts: 110
  • Karma: +29/-44
    • View Profile
Re: PutToCar all players in derby problem.
« Reply #11 on: July 22, 2015, 05:27:12 pm »
* starts to hate 'for each' loop *

Code: [Select]
function PutToCar()
{
foreach(ii,iv in Players)
{
if (InDerby[ii])
{
local player = FindPlayer(ii), vehicle = GetClosestVehicle(player);
if (vehicle && player)
{
player.Pos = vehicle.Pos;
player.Vehicle = vehicle;
}
}
}
}

rwwpl

  • Full Member
  • ***
  • Posts: 126
  • Karma: +18/-6
  • LU-DM Team
    • View Profile
    • LU-DM Team
Re: PutToCar all players in derby problem.
« Reply #12 on: July 22, 2015, 05:37:46 pm »
Error here:
Code: [Select]
vehicle = GetClosestVehicle(player);

when I replace to iv in GetClosestVehicle, it worked, but error in player.Pos = vehicle.Pos;

Code: [Select]
<22/07/2015 - 17:30:40>
AN ERROR HAS OCCURED [parameter 1 has an invalid type 'integer' ; expected: 'instance']

<22/07/2015 - 17:30:40>
CALLSTACK

<22/07/2015 - 17:30:40> *FUNCTION [PutToCar()] Scripts/Glowny/Funkcje.nut line [1238]

<22/07/2015 - 17:30:40> *FUNCTION [CheckDerby()] Scripts/Glowny/Funkcje.nut line [1222]

<22/07/2015 - 17:30:40>
LOCALS

<22/07/2015 - 17:30:40> [player] 1

<22/07/2015 - 17:30:40> [iv] INSTANCE

<22/07/2015 - 17:30:40> [ii] 1

<22/07/2015 - 17:30:40> [this] TABLE

<22/07/2015 - 17:30:40> [this] TABLE

Ankris

  • Full Member
  • ***
  • Posts: 110
  • Karma: +29/-44
    • View Profile
Re: PutToCar all players in derby problem.
« Reply #13 on: July 22, 2015, 07:48:58 pm »
Code: [Select]
function PutToCar()
{
foreach(ii,iv in Players)
{
if (InDerby[ii])
{
local player = FindPlayer(ii), vehicle = GetClosestVehicle(player);
if (vehicle && type(player) == "instance")
{
player.Pos = vehicle.Pos;
player.Vehicle = vehicle;
}
}
}
}
fu...

rwwpl

  • Full Member
  • ***
  • Posts: 126
  • Karma: +18/-6
  • LU-DM Team
    • View Profile
    • LU-DM Team
Re: PutToCar all players in derby problem.
« Reply #14 on: July 22, 2015, 08:04:20 pm »
No Errors but




Only player with id 0 has put to car.
« Last Edit: July 22, 2015, 08:06:14 pm by rwwpl »

 

© Liberty Unleashed Team.