Well I have this cmd and it works but the VirtualWorld and the Interior ain't saving its always send me to VW 0 and int 0
Also when I relog I spawn where I left and not the spawn I set.
Also when I relog I spawn where I left and not the spawn I set.
PHP Code:
CMD:factionspawn(playerid, params[])
{
new faction = PlayerData[playerid][pFactionID];
if (PlayerData[playerid][pFaction] == -1)
return SendErrorMessage(playerid, "You must be a faction leader.");
if (PlayerData[playerid][pFactionRank] < FactionData[PlayerData[playerid][pFaction]][factionRanks] - 1)
return SendErrorMessage(playerid, "You must be at least rank %d.", FactionData[PlayerData[playerid][pFaction]][factionRanks] - 5);
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
FactionData[faction][SpawnX] = X;
FactionData[faction][SpawnY] = Y;
FactionData[faction][SpawnZ] = Z;
FactionData[faction][SpawnInterior] = GetPlayerInterior(playerid);
FactionData[faction][SpawnVW] = GetPlayerVirtualWorld(playerid);
Faction_Save(faction);
SendClientMessage(playerid, COLOR_ORANGE, "You have changed your faction's spawn point. Faction members are now going to spawn here.");
return 1;
}
PHP Code:
CMD:spawnpoint(playerid, params[])
{
new point;
if(sscanf(params, "i", point)) return SendErrorMessage(playerid, "/spawnpoint [0-2] (0 = Unity Station, 1 = Faction, 2 = Last Location)");
if(point == 0)
{
SendClientMessage(playerid, COLOR_WHITE, "You've changed your spawn point to unity station.");
PlayerData[playerid][pSpawnPoint] = 0;
return 1;
}
if(point == 1)
{
if(PlayerData[playerid][pFactionID] == -1)
{
SendErrorMessage(playerid, "You're not apart of a faction.");
return 1;
}
SendClientMessage(playerid, COLOR_WHITE, "You've changed your spawn to faction.");
PlayerData[playerid][pSpawnPoint] = 1;
return 1;
}
if(point == 2)
{
SendClientMessage(playerid, COLOR_WHITE, "You've changed your spawn to your last logged off.");
PlayerData[playerid][pSpawnPoint] = 2;
return 1;
}
return 1;
}
PHP Code:
Faction_Save(factionid)
{
static
query[2048];
format(query, sizeof(query), "UPDATE `factions` SET `factionName` = '%s', `factionColor` = '%d', `factionType` = '%d', `factionRanks` = '%d', `factionLockerX` = '%.4f', `factionLockerY` = '%.4f', `factionLockerZ` = '%.4f', `factionLockerInt` = '%d', `factionLockerWorld` = '%d', `SpawnX` = '%f', `SpawnY` = '%f', `SpawnZ` = '%f', `SpawnInterior` = '%d', `SpawnVW` = '%d'",
SQL_ReturnEscaped(FactionData[factionid][factionName]),
FactionData[factionid][factionColor],
FactionData[factionid][factionType],
FactionData[factionid][factionRanks],
FactionData[factionid][factionLockerPos][0],
FactionData[factionid][factionLockerPos][1],
FactionData[factionid][factionLockerPos][2],
FactionData[factionid][factionLockerInt],
FactionData[factionid][factionLockerWorld],
FactionData[factionid][SpawnX],
FactionData[factionid][SpawnY],
FactionData[factionid][SpawnZ],
FactionData[factionid][SpawnInterior],
FactionData[factionid][SpawnVW]
);
for (new i = 0; i < 10; i ++)
{
if (i < 8)
format(query, sizeof(query), "%s, `factionSkin%d` = '%d', `factionWeapon%d` = '%d', `factionAmmo%d` = '%d'", query, i + 1, FactionData[factionid][factionSkins][i], i + 1, FactionData[factionid][factionWeapons][i], i + 1, FactionData[factionid][factionAmmo][i]);
else
format(query, sizeof(query), "%s, `factionWeapon%d` = '%d', `factionAmmo%d` = '%d'", query, i + 1, FactionData[factionid][factionWeapons][i], i + 1, FactionData[factionid][factionAmmo][i]);
}
format(query, sizeof(query), "%s WHERE `factionID` = '%d'",
query,
FactionData[factionid][factionID]
);
return mysql_tquery(g_iHandle, query);
}