SA-MP Forums Archive
Spawning at BlueBerry - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Spawning at BlueBerry (/showthread.php?tid=533882)



Spawning at BlueBerry - JordanDoughty - 26.08.2014

I spawn at blueberry on /exit

pawn Код:
CMD:exit(playerid, params[])
{
    for(new i=0; i < MAX_DOORS; i++)
    {
        if(!IsPlayerInRangeOfPoint(playerid, 2.0, DoorInfo[i][dInteriorX], DoorInfo[i][dInteriorY], DoorInfo[i][dInteriorZ]) && DoorInfo[i][dInteriorInt] == GetPlayerInterior(playerid) && DoorInfo[i][dInteriorVir] == GetPlayerVirtualWorld(playerid)) continue;
        SetPlayerInterior(playerid, DoorInfo[i][dExteriorInt]);
        SetPlayerVirtualWorld(playerid, DoorInfo[i][dExteriorVir]);
        SetPlayerPos(playerid, DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ]);
        SetPlayerFacingAngle(playerid, DoorInfo[i][dExteriorAngle]);
        SetCameraBehindPlayer(playerid);
        LoadObjectsForPlayer( playerid );
    }
    return 1;
}



Re: Spawning at BlueBerry - MikeEd - 26.08.2014

Try setting the player's interior to 0 instead of "DoorInfo[i][dExteriorInt]);

A quick tip, there is no need of saving an exterior int id as its always 0, and same with the virtual worlds unless you have stuff going on in different worlds


Re: Spawning at BlueBerry - TakeiT - 26.08.2014

i'm guessing the issue here is thatDoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ] have not actually been set. If you havent set these, then they will be at 0, 0, 0 by default, which puts you in blueberry.


Re: Spawning at BlueBerry - JordanDoughty - 26.08.2014

this is my database:




Re: Spawning at BlueBerry - TakeiT - 26.08.2014

Hmm, can you post your sqlite loading system for the doors?


Re: Spawning at BlueBerry - JordanDoughty - 26.08.2014

pawn Код:
stock LoadDoors()
{
    new DBResult:query = db_query(Database, "SELECT * FROM Doors"), szValue[64], dTitle[128];
    for(new i=0; i < db_num_rows(query); i++)
    {
        db_get_field_assoc(query, "TITLE", szValue, sizeof(szValue));
        format(DoorInfo[i][dName], 64, "%s", szValue);

        db_get_field_assoc(query, "EXTERIOR_POSX", szValue, 64);
        DoorInfo[i][dExteriorX] = floatstr(szValue);
        db_get_field_assoc(query, "EXTERIOR_POSY", szValue, 64);
        DoorInfo[i][dExteriorY] = floatstr(szValue);
        db_get_field_assoc(query, "EXTERIOR_POSZ", szValue, 64);
        DoorInfo[i][dExteriorZ] = floatstr(szValue);
        db_get_field_assoc(query, "EXTERIOR_ANGLE", szValue, 64);
        DoorInfo[i][dExteriorAngle] = floatstr(szValue);
        db_get_field_assoc(query, "EXTERIOR_INT", szValue, 64);
        DoorInfo[i][dExteriorInt] = strval(szValue);
        db_get_field_assoc(query, "EXTERIOR_VW", szValue, 64);
        DoorInfo[i][dExteriorVir] = strval(szValue);

        db_get_field_assoc(query, "INTERIOR_POSX", szValue, 64);
        DoorInfo[i][dInteriorX] = floatstr(szValue);
        db_get_field_assoc(query, "INTERIOR_POSY", szValue, 64);
        DoorInfo[i][dInteriorY] = floatstr(szValue);
        db_get_field_assoc(query, "INTERIOR_POSZ", szValue, 64);
        DoorInfo[i][dInteriorZ] = floatstr(szValue);
        db_get_field_assoc(query, "INTERIOR_ANGLE", szValue, 64);
        DoorInfo[i][dInteriorAngle] = floatstr(szValue);
        db_get_field_assoc(query, "INTERIOR_INT", szValue, 64);
        DoorInfo[i][dInteriorInt] = strval(szValue);
        db_get_field_assoc(query, "INTERIOR_VW", szValue, 64);
        DoorInfo[i][dInteriorVir] = strval(szValue);

        DoorInfo[i][dPickup] = CreateDynamicPickup(1318, 1, DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ]);
        format(dTitle, sizeof(dTitle), "(ID: %i)\n%s", i, DoorInfo[i][dName]);
        DoorInfo[i][dDynamicText] = CreateDynamic3DTextLabel(dTitle, COLOR_WHITE, DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ], 20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1);

        db_next_row(query);
    }
}



Re: Spawning at BlueBerry - MikeEd - 26.08.2014

pawn Код:
stock LoadDoors()
{
    new DBResult:query = db_query(Database, "SELECT * FROM Doors"), szValue[64], dTitle[128];
    for(new i=0; i < db_num_rows(query); i++)
    {
        db_get_field_assoc(query, "TITLE", szValue, sizeof(szValue));
        format(DoorInfo[i][dName], 64, "%s", szValue);

        db_get_field_assoc(query, "EXTERIOR_POSX", szValue, 64);
        DoorInfo[i][dExteriorX] = floatstr(szValue);
        db_get_field_assoc(query, "EXTERIOR_POSY", szValue, 64);
        DoorInfo[i][dExteriorY] = floatstr(szValue);
        db_get_field_assoc(query, "EXTERIOR_POSZ", szValue, 64);
        DoorInfo[i][dExteriorZ] = floatstr(szValue);
        db_get_field_assoc(query, "EXTERIOR_ANGLE", szValue, 64);
        DoorInfo[i][dExteriorAngle] = floatstr(szValue);
        db_get_field_assoc(query, "EXTERIOR_INT", szValue, 64);
        DoorInfo[i][dExteriorInt] = strval(szValue);
        db_get_field_assoc(query, "EXTERIOR_VW", szValue, 64);
        DoorInfo[i][dExteriorVir] = strval(szValue);

        db_get_field_assoc(query, "INTERIOR_POSX", szValue, 64);
        DoorInfo[i][dInteriorX] = floatstr(szValue);
        db_get_field_assoc(query, "INTERIOR_POSY", szValue, 64);
        DoorInfo[i][dInteriorY] = floatstr(szValue);
        db_get_field_assoc(query, "INTERIOR_POSZ", szValue, 64);
        DoorInfo[i][dInteriorZ] = floatstr(szValue);
        db_get_field_assoc(query, "INTERIOR_ANGLE", szValue, 64);
        DoorInfo[i][dInteriorAngle] = floatstr(szValue);
        db_get_field_assoc(query, "INTERIOR_INT", szValue, 64);
        DoorInfo[i][dInteriorInt] = strval(szValue);
        db_get_field_assoc(query, "INTERIOR_VW", szValue, 64);
        DoorInfo[i][dInteriorVir] = strval(szValue);

        DoorInfo[i][dPickup] = CreateDynamicPickup(1318, 1, DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ]);
        format(dTitle, sizeof(dTitle), "(ID: %i)\n%s", i, DoorInfo[i][dName]);
        DoorInfo[i][dDynamicText] = CreateDynamic3DTextLabel(dTitle, COLOR_WHITE, DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ], 20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1);

        db_next_row(query);
        print(query);
        printf("%f %f %f",DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ]);
    }
Added some print messages, try the code and show us what the log says


Re: Spawning at BlueBerry - JordanDoughty - 26.08.2014

I added some print messages and got spammed with this;

Код:
[22:48:47] Setting Angle
[22:48:47] Setting Interior
[22:48:47] Setting Virtual World
[22:48:47] Setting Pos
[22:48:47] Setting Angle
[22:48:47] Setting Interior
[22:48:47] Setting Virtual World
[22:48:47] Setting Pos
[22:48:47] Setting Angle
[22:48:47] Setting Interior
[22:48:47] Setting Virtual World
[22:48:47] Setting Pos
[22:48:47] Setting Angle
[22:48:47] Setting Interior
[22:48:47] Setting Virtual World
[22:48:47] Setting Pos
[22:48:47] Setting Angle
[22:48:47] Setting Interior
[22:48:47] Setting Virtual World
[22:48:47] Setting Pos
[22:48:47] Setting Angle
[22:48:47] Setting Interior
[22:48:47] Setting Virtual World
[22:48:47] Setting Pos
[22:48:47] Setting Angle
[22:48:47] Setting Interior
[22:48:47] Setting Virtual World
[22:48:47] Setting Pos
[22:48:47] Setting Angle
[22:48:47] Setting Interior
[22:48:47] Setting Virtual World
[22:48:47] Setting Pos
[22:48:47] Setting Angle
[22:48:47] Setting Interior
[22:48:47] Setting Virtual World
[22:48:47] Setting Pos
[22:48:47] Setting Angle
[22:48:47] Setting Interior
[22:48:47] Setting Virtual World
[22:48:47] Setting Pos
[22:48:47] Setting Angle
[22:48:47] Setting Interior
[22:48:47] Setting Virtual World
[22:48:47] Setting Pos
[22:48:47] Setting Angle
[22:48:47] Setting Interior
pawn Код:
for(new i=0; i < MAX_DOORS; i++)
    {
        if(!IsPlayerInRangeOfPoint(playerid, 2.0, DoorInfo[i][dInteriorX], DoorInfo[i][dInteriorY], DoorInfo[i][dInteriorZ]) && DoorInfo[i][dInteriorInt] == GetPlayerInterior(playerid) && DoorInfo[i][dInteriorVir] == GetPlayerVirtualWorld(playerid)) continue;
        SetPlayerInterior(playerid, DoorInfo[i][dExteriorInt]); print("Setting Interior");
        SetPlayerVirtualWorld(playerid, DoorInfo[i][dExteriorVir]); print("Setting Virtual World");
        SetPlayerPos(playerid, DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ]); print("Setting Pos");
        SetPlayerFacingAngle(playerid, DoorInfo[i][dExteriorAngle]); print("Setting Angle");
        SetCameraBehindPlayer(playerid);
//      LoadInterior(playerid);
    }



Re: Spawning at BlueBerry - MikeEd - 26.08.2014

Instead of Printing that, print out the coordinates and see what the results are.


Re: Spawning at BlueBerry - JordanDoughty - 26.08.2014

Quote:
Originally Posted by MikeEd
Посмотреть сообщение
Instead of Printing that, print out the coordinates and see what the results are.
Код:
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
[22:59:35] Setting Interior
[22:59:35] Setting Virtual World
[22:59:35] PosX: 0.000000 - PosY 0.000000 - Poz: 0.000000
[22:59:35] Setting Angle
it spammed that.