okay so ive been scripting lately and have noticed this odd thing...so i just copied a filterscript from pastebin into a new .pwn file...i compile it and its fine...now 2 hours later i open it to just view some things from inside it and then i compile it...and suddenly errors..so i just close it and just leave it alone for a moment and then i open again as i need it..so i compile it and bam no errors, now keep in mind that i didnt mess with any of the includes or the gm im using...i just edited this one .pwn file and only compiled, i dident change anything within the script on purpose or by mistake
we are no wizards, give us the script and people that have knowledge with scripting can help you
pawn Код:
/ This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <ZCMD>
#include <sscanf2>
#include "../include/streamer.inc"
#define COLOR_YELLOW 0xFFFF00AA
#define SHS_PASS "irp"
#define LoopPlayers(%1,%2) for(new %1 = 0; %1 < %2; %1++)
#define MAX_DMP 400
#define MAX_LABELS 800
#define cmdp:(%1) CMD:%1(playerid, params[])
#define DIALOG_SHSLOGIN 16001
#define MAX_DOORS 1000
forward LoadAll();
new SHSLoggedIn[MAX_PLAYERS];
new CreatedVehs[100];
new Float:GFFP[MAX_PLAYERS][5];
new GIFP[MAX_PLAYERS][5];
enum dInfo
{
Float:dPosX,
Float:dPosY,
Float:dPosZ,
dModel,
dColor,
dVw,
dInt,
dCreated,
dCreate,
};
new DMPInfo[MAX_DMP][dInfo];
enum lInfo
{
Float:lPosX,
Float:lPosY,
Float:lPosZ,
Float:lDistance,
lColor,
lVw,
lInt,
lText[42],
Text3D:lCreate,
}
new LabelInfo[MAX_LABELS][lInfo];
enum ddInfo
{
Float:ddExteriorX,
Float:ddExteriorY,
Float:ddExteriorZ,
Float:ddExteriorA,
Float:ddInteriorX,
Float:ddInteriorY,
Float:ddInteriorZ,
Float:ddInteriorA,
ddInt,
ddIntVW,
ddExtVw,
ddExtInt,
ddName[32],
ddLevel,
ddAdmin,
ddVehicleAble,
ddPickupType,
ddColor,
ddLock,
Text3D:ddLabel,
ddCreate,
}
new DoorInfo[MAX_DOORS][ddInfo];
public OnFilterScriptInit()
{
SetTimer("LoadAll",3000,false);
for(new v = 0; v < sizeof(CreatedVehs); v++)
{
CreatedVehs[v] = INVALID_VEHICLE_ID;
}
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(SHSLoggedIn[playerid] == 1) { SHSLoggedIn[playerid] = 0; SCM(playerid,"Disconnected from SHS,Stuff saved at scriptfiles/logs/shs.txt");}
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
//---------------------------------------------------[ZCMD Commands]------------------------------------------------------------
cmdp:(shslogin)
{
if(SHSLoggedIn[playerid] == 1) return SCM(playerid,"You are already logged into SHS !");
ShowPlayerDialog(playerid,DIALOG_SHSLOGIN,DIALOG_STYLE_INPUT,"Login SHS","Please enter the server's SHS Default password","Okey","");
return 1;
}
cmdp:(mpos)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new input[24],saveinput[256];
if(sscanf(params,"s[24]",input)) return SCM(playerid,"USAGE: /mpos [savename]");
GetPlayerPosData(playerid);
format(saveinput,sizeof(saveinput),"X [%f] Y[%f] Z[%f] I[%i] VW[%i] %s",GFFP[playerid][0],GFFP[playerid][1],GFFP[playerid][2],GIFP[playerid][0],GIFP[playerid][1],input);
SCM(playerid,saveinput);
Log("/logs/mpos.txt",saveinput);
return 1;
}
cmdp:(svw)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new id,vwid;
if(sscanf(params,"ri",id,vwid)) return SCM(playerid,"USAGE: /svw [playerid/partofname] [virtualworld]");
if(!IsPlayerConnected(id)) return SCM(playerid,"Wrong player ID");
SetPlayerVirtualWorld(id,vwid);
new string[256];
format(string,sizeof(string),"[%d-%d-%d] %s has set %s's virtual world to %i.",GetDay(),GetMonth(),GetYear(),GetPName(playerid),GetPName(id),vwid);
Log("/logs/shscmds.txt",string);
if(id == playerid)
{
format(string,sizeof(string),"You have set your own virtual world to %i",vwid);
SCM(playerid,string);
return 1;
}else{
format(string,sizeof(string),"You have set %s's virtual world to %i",GetPName(id),vwid);
SCM(playerid,string);
format(string,sizeof(string),"%s Has set your virtual world to %i",GetPName(playerid),vwid);
SCM(id,string);
}
return 1;
}
cmdp:(sint)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new id,interior;
if(sscanf(params,"ri",id,interior)) return SCM(playerid,"USAGE: /svw [playerid/partofname] [interior]");
if(!IsPlayerConnected(id)) return SCM(playerid,"Wrong player ID");
SetPlayerInterior(id,interior);
new string[256];
format(string,sizeof(string),"[%d-%d-%d] %s has set %s's interior to %i.",GetDay(),GetMonth(),GetYear(),GetPName(playerid),GetPName(id),interior);
Log("/logs/shscmds.txt",string);
if(id == playerid)
{
SetPlayerInterior(id,interior);
format(string,sizeof(string),"You have set your own interior to %i",interior);
SCM(playerid,string);
return 1;
}else{
SetPlayerInterior(id,interior);
format(string,sizeof(string),"You have set %s's interior to %i",GetPName(id),interior);
SCM(playerid,string);
format(string,sizeof(string),"%s Has set your interior to %i",GetPName(playerid),interior);
SCM(id,string);
}
return 1;
}
//-----------------------------------------------------[ZCMD Commands / Dynamic Map Icons]--------------------------------------------------------
cmdp:(dmp)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new input[32],id,value;
if(sscanf(params,"s[32]dD",input,id,value))
{
SCM(playerid,"USAGE: /dmp [name] [dmpid] [(optional)value]");
return SCM(playerid,"Available names : [NON _ CASE SENSITIVE] Position, Model, Color, VirtualWorld, Interior, Delete");
}
if(id < 0 || id > MAX_DMP) return SCM(playerid,"ID Must be from 0 till 400");
if(strcmp(input,"position",true) == 0)
{
GetPlayerPosData(playerid);
DMPInfo[id][dPosX] = GFFP[playerid][0];
DMPInfo[id][dPosY] = GFFP[playerid][1];
DMPInfo[id][dPosZ] = GFFP[playerid][2];
DMPInfo[id][dInt] = GIFP[playerid][0];
DMPInfo[id][dVw] = GIFP[playerid][1];
SaveDMPS();
LoadDMPS();
SCM(playerid,"You have set the position.");
}
if(strcmp(input,"model",true) == 0)
{
DMPInfo[id][dModel] = value;
SaveDMPS();
LoadDMPS();
SCM(playerid,"You have set the model.");
}
if(strcmp(input,"color",true) == 0)
{
DMPInfo[id][dColor] = value;
SaveDMPS();
LoadDMPS();
SCM(playerid,"You have set the color.");
}
if(strcmp(input,"virtualworld",true) == 0)
{
DMPInfo[id][dVw] = value;
SaveDMPS();
LoadDMPS();
SCM(playerid,"You have set the virtual world.");
}
if(strcmp(input,"interior",true) == 0)
{
DMPInfo[id][dInt] = value;
SaveDMPS();
LoadDMPS();
SCM(playerid,"You have set the interior.");
}
if(strcmp(input,"delete",true) == 0)
{
DMPInfo[id][dPosX] = 0;
DMPInfo[id][dPosY] = 0;
DMPInfo[id][dPosZ] = 0;
DMPInfo[id][dInt] = 0;
DMPInfo[id][dVw] = 0;
DMPInfo[id][dModel] = 0;
DMPInfo[id][dColor] = 0;
DMPInfo[id][dVw] = 0;
DMPInfo[id][dCreated] = 0;
SCM(playerid,"You have deleted the dmp!");
SaveDMPS();
LoadDMPS();
}
return 1;
}
cmdp:(dmpnext)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new input[24];
SCM(playerid,"Next available dynamic map icon : ");
for(new d = 0; d <= MAX_DMP; d++)
{
if(DMPInfo[d][dPosX] == 0 && DMPInfo[d][dPosY] == 0 && DMPInfo[d][dPosZ] == 0)
{
format(input,sizeof(input),"Next : %d",d);
SCM(playerid,input);
break;
}
}
return 1;
}
cmdp:(dmpclose)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
GetPlayerPosData(playerid);
new input[64];
SCM(playerid,"Listin closest DMPS....");
for(new d = 0; d <= MAX_DMP; d++)
{
if(IsPlayerInRangeOfPoint(playerid,15.0,DMPInfo[d][dPosX],DMPInfo[d][dPosY],DMPInfo[d][dPosZ]))
{
format(input,sizeof(input),"DMP %d ( model %d ) is near to you.",d,DMPInfo[d][dModel]);
SCM(playerid,input);
}
}
return 1;
}
//-----------------------------------------------------------------[ZCMD/Dynamic 3D Text Labels]------------------------------------------------
cmdp:(3dlabel)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new input[32],id,value;
if(sscanf(params,"s[32]dD",input,id,value))
{
SCM(playerid,"USAGE: /3dlabel [name] [labelID] [(optional)value]");
SCM(playerid,"/3dtext to edit the text");
return SCM(playerid,"Available names : [NON _ CASE SENSITIVE] Position, Color, VirtualWorld, Interior, Distance, Delete");
}
if(id < 0 || id > MAX_LABELS) return SCM(playerid,"ID Must be from 0 till 800");
if(strcmp(input,"position",true) == 0)
{
GetPlayerPosData(playerid);
LabelInfo[id][lPosX] = GFFP[playerid][0];
LabelInfo[id][lPosY] = GFFP[playerid][1];
LabelInfo[id][lPosZ] = GFFP[playerid][2];
LabelInfo[id][lInt] = GIFP[playerid][0];
LabelInfo[id][lVw] = GIFP[playerid][1];
SaveLabels();
LoadLabels();
SCM(playerid,"You have set the position !");
}
if(strcmp(input,"color",true) == 0)
{
if(value > 6 || value < 0) return SCM(playerid,"Color must be from 0 till 6");
LabelInfo[id][lColor] = value;
SaveLabels();
LoadLabels();
SCM(playerid,"You have set the color !");
}
if(strcmp(input,"VirtualWorld",true) == 0)
{
LabelInfo[id][lVw] = value;
SaveLabels();
LoadLabels();
SCM(playerid,"You have set the virtual world !");
}
if(strcmp(input,"interior",true) == 0)
{
LabelInfo[id][lInt] = value;
SaveLabels();
LoadLabels();
SCM(playerid,"You have set the interior !");
}
if(strcmp(input,"distance",true) == 0)
{
LabelInfo[id][lDistance] = value;
SaveLabels();
LoadLabels();
SCM(playerid,"You have set the distance !");
}
if(strcmp(input,"delete",true) == 0)
{
LabelInfo[id][lPosX] = 0;
LabelInfo[id][lPosY] = 0;
LabelInfo[id][lPosZ] = 0;
LabelInfo[id][lInt] = 0;
LabelInfo[id][lVw] = 0;
LabelInfo[id][lColor] = 0;
SaveLabels();
LoadLabels();
SCM(playerid,"You have deleted the label !");
}
return 1;
}
cmdp:(3dnext)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new input[24];
SCM(playerid,"Next available dynamic 3d text labels : ");
for(new l = 0; l <= MAX_LABELS; l++)
{
if(LabelInfo[l][lPosX] == 0 && LabelInfo[l][lPosY] == 0 &&LabelInfo[l][lPosZ] == 0)
{
format(input,sizeof(input),"Next : %d",l);
SCM(playerid,input);
break;
}
}
return 1;
}
cmdp:(3dtext)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new input[42],id;
if(sscanf(params,"is[42]",id,input))
{
SCM(playerid,"USAGE: /3dtext [labelID] [text]");
return 1;
}
if(id < 0 || id > MAX_LABELS) return SCM(playerid,"ID Must be from 0 till 800");
strmid(LabelInfo[id][lText],input,0,strlen(input),255);
SCM(playerid,"You have set the text !");
SaveLabels();
LoadLabels();
return 1;
}
cmdp:(3dclose)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new input[42];
SCM(playerid,"Listin closest 3d text labels ....");
for(new l = 0; l <= MAX_LABELS; l++)
{
if(IsPlayerInRangeOfPoint(playerid,7.0,LabelInfo[l][lPosX],LabelInfo[l][lPosY],LabelInfo[l][lPosZ]))
{
format(input,sizeof(input),"Label %d is near to you.",l);
SCM(playerid,input);
}
}
return 1;
}
//--------------------------------------------------------[ZCMD / Dynamic Doors]--------------------------------------------------------------------
cmdp:(door)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new input[32],id,value;
if(sscanf(params,"s[32]dD",input,id,value))
{
SCM(playerid,"USAGE: /door [name] [doorID] [(optional)value]");
SCM(playerid,"/doorname to edit the text");
return SCM(playerid,"Available names : [NON _ CASE SENSITIVE] Exterior, Color, Interior, Delete, Lock, PickupType, Level, VehicleAble, Admin");
}
if(id < 0 || id > MAX_DOORS) return SCM(playerid,"ID Must be from 0 till 1000");
if(strcmp(input,"exterior",true) == 0)
{
GetPlayerPosData(playerid);
DoorInfo[id][ddExteriorX] = GFFP[playerid][0];
DoorInfo[id][ddExteriorY] = GFFP[playerid][1];
DoorInfo[id][ddExteriorZ] = GFFP[playerid][2];
DoorInfo[id][ddExteriorA] = GFFP[playerid][3];
DoorInfo[id][ddExtVw] = GIFP[playerid][1];
DoorInfo[id][ddExtInt] = GIFP[playerid][0];
SaveDoors();
LoadDoors();
SCM(playerid,"You have set the exterior !");
}
if(strcmp(input,"interior",true) == 0)
{
GetPlayerPosData(playerid);
DoorInfo[id][ddInteriorX] = GFFP[playerid][0];
DoorInfo[id][ddInteriorY] = GFFP[playerid][1];
DoorInfo[id][ddInteriorZ] = GFFP[playerid][2];
DoorInfo[id][ddInteriorA] = GFFP[playerid][3];
DoorInfo[id][ddIntVW] = id+1000;
DoorInfo[id][ddInt] = GIFP[playerid][0];
SetPlayerVirtualWorld(playerid,id+1000);
SaveDoors();
LoadDoors();
SCM(playerid,"You have set the interior !");
}
if(strcmp(input,"color",true) == 0)
{
//0-9
if(value < 0 || value > 9) return SCM(playerid,"Color must be from 0 till 9");
DoorInfo[id][ddColor] = value;
SaveDoors();
LoadDoors();
SCM(playerid,"You have set the color !");
}
if(strcmp(input,"Lock",true) == 0)
{
if(DoorInfo[id][ddLock] == 0)
{
DoorInfo[id][ddLock] = 1;
GameTextForPlayer(playerid,"~n~ ~n~ Door ~r~ Locked",3000,3);
return 1;
}
if(DoorInfo[id][ddLock] == 1)
{
DoorInfo[id][ddLock] = 0;
GameTextForPlayer(playerid,"~n~ ~n~ Door ~g~ Unlocked",3000,3);
return 1;
}
}
if(strcmp(input,"PickupType",true) == 0)
{
if(value < 0 || value > 14) return SCM(playerid,"Pickup ID must be from 0 till 14");
DoorInfo[id][ddPickupType] = value;
SaveDoors();
LoadDoors();
SCM(playerid,"You have set the pickup model !");
}
if(strcmp(input,"Level",true) == 0)
{
DoorInfo[id][ddLevel] = value;
SaveDoors();
SCM(playerid,"You have set the Level !");
}
if(strcmp(input,"Admin",true) == 0)
{
if(DoorInfo[id][ddAdmin] == 0)
{
DoorInfo[id][ddAdmin] = 1;
SCM(playerid,"The door will now work for (RCON)admins only !");
SaveDoors();
return 1;
}
if(DoorInfo[id][ddAdmin] == 1)
{
DoorInfo[id][ddAdmin] = 0;
SCM(playerid,"The door will now work for all players !");
SaveDoors();
return 1;
}
}
if(strcmp(input,"VehicleAble",true) == 0)
{
DoorInfo[id][ddVehicleAble] = value;
SCM(playerid,"You have set vehicle able !");
SaveDoors();
return 1;
}
if(strcmp(input,"Delete",true) == 0)
{
DoorInfo[id][ddInteriorX] = 0;
DoorInfo[id][ddInteriorY] = 0;
DoorInfo[id][ddInteriorZ] = 0;
DoorInfo[id][ddInteriorA] = 0;
DoorInfo[id][ddIntVW] = 0;
DoorInfo[id][ddInt] = 0;
DoorInfo[id][ddExteriorX] = 0;
DoorInfo[id][ddExteriorY] = 0;
DoorInfo[id][ddExteriorZ] = 0;
DoorInfo[id][ddExteriorA] = 0;
DoorInfo[id][ddIntVW] = 0;
DoorInfo[id][ddInt] = 0;
DoorInfo[id][ddColor] = 0;
DoorInfo[id][ddAdmin] = 0;
DoorInfo[id][ddLevel] = 0;
DoorInfo[id][ddPickupType] = 0;
SaveDoors();
LoadDoors();
SCM(playerid,"You have set the interior !");
}
return 1;
}
cmdp:(dnext)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
SCM(playerid,"Next available door ID :");
new input[32];
for(new index = 0; index < MAX_DOORS; index++)
{
if(DoorInfo[index][ddExteriorX] == 0 && DoorInfo[index][ddExteriorY] != 0 && DoorInfo[index][ddExteriorZ] == 0 && DoorInfo[index][ddExteriorA] == 0)
{
format(input,sizeof(input),"%d",index);
SCM(playerid,input);
break;
}
}
return 1;
}
cmdp:(dname)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new input[32],id;
if(sscanf(params,"is[32]",id,input)) return SCM(playerid,"USAGE: /dname [doorID] [text(DOOR_NAME)]");
if(id < 0 || id > MAX_DOORS) return SCM(playerid,"Door id must be from 0 till 1000");
strmid(DoorInfo[id][ddName],input,0,strlen(input),255);
SCM(playerid,"You have set the door's name !");
SaveDoors();
LoadDoors();
return 1;
}
cmdp:(dgoto)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new id;
if(sscanf(params,"i",id)) return SCM(playerid,"USAGE: /dgoto [doorID]");
if(id < 0 || id > MAX_DOORS) return SCM(playerid,"Door id must be from 0 till 1000");
if(DoorInfo[id][ddExteriorX] == 0) return SCM(playerid,"Door doesnt exist !");
SetPlayerPos(playerid,DoorInfo[id][ddExteriorX],DoorInfo[id][ddExteriorY],DoorInfo[id][ddExteriorZ]);
SetPlayerFacingAngle(playerid,DoorInfo[id][ddExteriorA]);
SetPlayerVirtualWorld(playerid,DoorInfo[id][ddExtVw]);
SetPlayerInterior(playerid,DoorInfo[id][ddExtInt]);
SCM(playerid,"You have been teleported !");
return 1;
}
cmdp:(enter)
{
for(new index = 0; index < sizeof(DoorInfo); index++)
{
if(IsPlayerInRangeOfPoint(playerid,3.0,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]) && GetPlayerVirtualWorld(playerid) == DoorInfo[index][ddExtVw] && GetPlayerInterior(playerid) == DoorInfo[index][ddExtInt])
{
if(DoorInfo[index][ddAdmin] > 0 && !IsPlayerAdmin(playerid)) return SCM(playerid,"This door is enabled for admins only !");
if(GetPlayerScore(playerid) < DoorInfo[index][ddLevel]) return SCM(playerid,"Your level isnt high enough to enter this door !");
if(DoorInfo[index][ddLock] > 0) return SCM(playerid,"This door is locked !");
SetPlayerInterior(playerid,DoorInfo[index][ddInt]);
SetPlayerVirtualWorld(playerid,DoorInfo[index][ddIntVW]);
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && DoorInfo[index][ddVehicleAble] > 0)
{
new vid = GetPlayerVehicleID(playerid);
SetVehiclePos(vid,DoorInfo[index][ddInteriorX],DoorInfo[index][ddInteriorY],DoorInfo[index][ddInteriorZ]);
SetVehicleZAngle(vid,DoorInfo[index][ddInteriorA]);
SetVehicleVirtualWorld(vid,DoorInfo[index][ddIntVW]);
LinkVehicleToInterior(vid,DoorInfo[index][ddInt]);
return 1;
}else{
SetPlayerPos(playerid,DoorInfo[index][ddInteriorX],DoorInfo[index][ddInteriorY],DoorInfo[index][ddInteriorZ]);
SetPlayerFacingAngle(playerid,DoorInfo[index][ddInteriorA]);
}
}
}
return 1;
}
cmdp:(exit)
{
for(new index = 0; index < sizeof(DoorInfo); index++)
{
if(IsPlayerInRangeOfPoint(playerid,3.0,DoorInfo[index][ddInteriorX],DoorInfo[index][ddInteriorY],DoorInfo[index][ddInteriorZ]) && GetPlayerVirtualWorld(playerid) == DoorInfo[index][ddIntVW] && GetPlayerInterior(playerid) == DoorInfo[index][ddInt])
{
SetPlayerInterior(playerid,DoorInfo[index][ddExtInt]);
SetPlayerVirtualWorld(playerid,DoorInfo[index][ddExtVw]);
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && DoorInfo[index][ddVehicleAble] > 0)
{
new vid = GetPlayerVehicleID(playerid);
SetVehiclePos(vid,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]);
SetVehicleZAngle(vid,DoorInfo[index][ddExteriorA]);
SetVehicleVirtualWorld(vid,DoorInfo[index][ddExtVw]);
LinkVehicleToInterior(vid,DoorInfo[index][ddExtInt]);
return 1;
}else{
SetPlayerPos(playerid,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]);
SetPlayerFacingAngle(playerid,DoorInfo[index][ddExteriorA]);
}
}
}
return 1;
}
cmdp:(cv)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new model,c1,c2;
if(sscanf(params,"iii",model,c1,c2)) return SCM(playerid,"USAGE: /cv [modelID] [color1] [color2]");
for (new iii; iii < sizeof(CreatedVehs); iii++)
{
if(CreatedVehs[iii] == INVALID_VEHICLE_ID)
{
GetPlayerPosData(playerid);
CreatedVehs[iii] = CreateVehicle(model,GFFP[playerid][0],GFFP[playerid][1]+2,GFFP[playerid][2],GFFP[playerid][3],c1,c2,1200);
LinkVehicleToInterior(iii,GIFP[playerid][0]);
SetVehicleVirtualWorld(iii,GIFP[playerid][1]);
SCM(playerid,"Vehicle created !");
break;
}
}
return 1;
}
cmdp:(dvs)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
for(new i = 0; i < sizeof(CreatedVehs); i++)
{
if(CreatedVehs[i] != INVALID_VEHICLE_ID)
{
DestroyVehicle(CreatedVehs[i]);
CreatedVehs[i] = INVALID_VEHICLE_ID;
}
}
SCM(playerid,"Destroyed all created ( /cv ) vehicles");
return 1;
}
cmdp:(dv)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,"You are not in any vehicle !");
new bool:bl = false, ind = INVALID_VEHICLE_ID;
if(IsPlayerInAnyVehicle(playerid))
{
for(new i = 0; i < sizeof(CreatedVehs); i++)
{
if(!bl)
{
if(CreatedVehs[i] == GetPlayerVehicleID(playerid))
{
bl = true;
ind = i;
}
}
}
if(ind != INVALID_VEHICLE_ID)
{
new carid = GetPlayerVehicleID(playerid);
DestroyVehicle(carid);
CreatedVehs[ind] = INVALID_VEHICLE_ID;
return SCM(playerid,"Vehicle destroyed !");
}
}
return 1;
}
cmdp:(getv)
{
if(SHSLoggedIn[playerid] == 0) return SCM(playerid,"You must log in SHS before using it commands ( /shslogin ) ");
new id;
if(sscanf(params,"i",id)) return SCM(playerid,"USAGE: /getv [vehicleid]");
GetPlayerPosData(playerid);
SetVehiclePos(id,GFFP[playerid][0],GFFP[playerid][1],GFFP[playerid][2]);
SetVehicleZAngle(id,GFFP[playerid][3]);
LinkVehicleToInterior(id,GIFP[playerid][0]);
SetVehicleVirtualWorld(id,GIFP[playerid][1]);
return 1;
}
cmdp:(shshelp)
{
SCM(playerid,"Basic : /cv [ create vehicle ] | /dvs [ destroy all /cv vehicles ] | /dv [ destroy specefic vehicle ]");
SCM(playerid,"Basic2: /mpos [ get and save your pos to a log ] | /shslogin login to shs");
SCM(playerid,"DMP : /dmp [ edit dmp ] | /dmpclose [ nearest dmps ] | /dmpnext [ next DMP ID Available ]");
SCM(playerid,"3DTextLabels : /3dlabel [ edit dynamic 3dtext label ] | /3dnext [ find next 3d ID Available ] | /3dclose [ nearest labels ]");
SCM(playerid,"Doors : /door [ edit a door ] | /dnext [ next door ID available ] | /dname [ edit doors name ] | /dgoto [ goto specefic door ]");
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(SHSLoggedIn[playerid] == 1) { SCM(playerid,"/dl to see vehicle info");}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_SHSLOGIN)
{
if(response)
{
if(strcmp(inputtext,SHS_PASS,true) == 0)
{
SHSLoggedIn[playerid] = 1;
SCM(playerid,"You are logged into SHS !");
}else return SCM(playerid,"Wrong password !");
}
}
return 1;
}
forward SCM(playerid,string[]);
public SCM(playerid,string[])
{
SendClientMessage(playerid,COLOR_YELLOW,string);
return 1;
}
forward Log(logtype[],string[]);
public Log(logtype[],string[])
{
new File: LogFile = fopen(logtype,io_append);
new stringformat[256];
format(stringformat,sizeof(stringformat),"%s\r\n",string);
fwrite(LogFile,stringformat);
fclose(LogFile);
return 1;
}
public LoadAll()
{
LoadDMPS();
LoadLabels();
LoadDoors();
printf("All DMPS , 3DTextLabels, And Doors loaded !");
return 1;
}
SaveDMPS()
{
new szFileInput[1024],File:fHandle = fopen("/cfgs/dmp.ini",io_write);
for(new d = 0; d < MAX_DMP; d++)
{
format(szFileInput,sizeof(szFileInput),"%f|%f|%f|%i|%i|%i|%i|%i\r\n",
DMPInfo[d][dPosX],
DMPInfo[d][dPosY],
DMPInfo[d][dPosZ],
DMPInfo[d][dModel],
DMPInfo[d][dColor],
DMPInfo[d][dVw],
DMPInfo[d][dInt],
DMPInfo[d][dCreated]
);
fwrite(fHandle,szFileInput);
}
return fclose(fHandle);
}
LoadDMPS()
{
if(!fexist("/cfgs/dmp.ini")) return 1;
new szFileInput[1024],File:fHandle = fopen("/cfgs/dmp.ini",io_read),index = 0;
while(index < sizeof(DMPInfo) && fread(fHandle,szFileInput))
{
sscanf(szFileInput,"p<|>fffiiiii",
DMPInfo[index][dPosX],
DMPInfo[index][dPosY],
DMPInfo[index][dPosZ],
DMPInfo[index][dModel],
DMPInfo[index][dColor],
DMPInfo[index][dVw],
DMPInfo[index][dInt],
DMPInfo[index][dCreated]
);
DestroyDynamicMapIcon(DMPInfo[index][dCreate]);
if(DMPInfo[index][dPosX] != 0 && DMPInfo[index][dPosY] != 0 && DMPInfo[index][dPosZ] != 0)
{
DMPInfo[index][dCreate] = CreateDynamicMapIcon(DMPInfo[index][dPosX],DMPInfo[index][dPosY],DMPInfo[index][dPosZ],DMPInfo[index][dModel],DMPInfo[index][dColor],DMPInfo[index][dVw],DMPInfo[index][dInt],-1,100.0);
}
++index;
}
return fclose(fHandle);
}
SaveLabels()
{
new szFileInput[1024],File:fHandle = fopen("/cfgs/3dlabels.ini",io_write);
for(new l = 0; l < MAX_LABELS; l++)//Note:this is AEL not AY
{
format(szFileInput,sizeof(szFileInput),"%f|%f|%f|%f|%i|%i|%i|%s\r\n",
LabelInfo[l][lPosX],
LabelInfo[l][lPosY],
LabelInfo[l][lPosZ],
LabelInfo[l][lDistance],
LabelInfo[l][lColor],
LabelInfo[l][lVw],
LabelInfo[l][lInt],
LabelInfo[l][lText]
);
fwrite(fHandle,szFileInput);
}
return fclose(fHandle);
}
LoadLabels()
{
if(!fexist("/cfgs/3dlabels.ini")) return 1;
new szFileInput[2520],File:fHandle = fopen("/cfgs/3dlabels.ini",io_read),index = 0;
while(index < sizeof(LabelInfo) && fread(fHandle,szFileInput))
{
sscanf(szFileInput,"p<|>ffffiiis[42]",
LabelInfo[index][lPosX],
LabelInfo[index][lPosY],
LabelInfo[index][lPosZ],
LabelInfo[index][lDistance],
LabelInfo[index][lColor],
LabelInfo[index][lVw],
LabelInfo[index][lInt],
LabelInfo[index][lText]
);
DestroyDynamic3DTextLabel(LabelInfo[index][lCreate]);
if(LabelInfo[index][lPosX] != 0 && LabelInfo[index][lPosY] != 0 && LabelInfo[index][lPosZ] != 0)
{
if(LabelInfo[index][lColor] == 0)
{
LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],-1,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
}
if(LabelInfo[index][lColor] == 1)
{
LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],COLOR_YELLOW,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
}
if(LabelInfo[index][lColor] == 2)
{
LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],0x00FF00FF,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
}
if(LabelInfo[index][lColor] == 3)
{
LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],0xFF0000FF,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
}
if(LabelInfo[index][lColor] == 4)
{
LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],0xFF8000FF,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
}
if(LabelInfo[index][lColor] == 5)
{
LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],0x000000FF,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
}
if(LabelInfo[index][lColor] == 6)
{
LabelInfo[index][lCreate] = CreateDynamic3DTextLabel(LabelInfo[index][lText],0x8000FFFF,LabelInfo[index][lPosX],LabelInfo[index][lPosY],LabelInfo[index][lPosZ],LabelInfo[index][lDistance],INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,LabelInfo[index][lVw],LabelInfo[index][lInt],-1,LabelInfo[index][lDistance]);
}
}
++index;
}
return fclose(fHandle);
}
SaveDoors()
{
new szFileInput[1024],File:fHandle = fopen("/cfgs/doors.ini",io_write);
for(new d = 0; d < MAX_DOORS; d++)
{
format(szFileInput,sizeof(szFileInput),"%f|%f|%f|%f|%f|%f|%f|%f|%i|%i|%i|%i|%s|%i|%i|%i|%i|%i|%i\r\n",
DoorInfo[d][ddExteriorX],
DoorInfo[d][ddExteriorY],
DoorInfo[d][ddExteriorZ],
DoorInfo[d][ddExteriorA],
DoorInfo[d][ddInteriorX],
DoorInfo[d][ddInteriorY],
DoorInfo[d][ddInteriorZ],
DoorInfo[d][ddInteriorA],
DoorInfo[d][ddInt],
DoorInfo[d][ddIntVW],
DoorInfo[d][ddExtVw],
DoorInfo[d][ddExtInt],
DoorInfo[d][ddName],
DoorInfo[d][ddLevel],
DoorInfo[d][ddAdmin],
DoorInfo[d][ddVehicleAble],
DoorInfo[d][ddPickupType],
DoorInfo[d][ddColor],
DoorInfo[d][ddLock]
);
fwrite(fHandle,szFileInput);
}
return fclose(fHandle);
}
LoadDoors()
{
if(!fexist("/cfgs/doors.ini")) return 1;
new szFileInput[1024],File:fHandle = fopen("/cfgs/doors.ini",io_read),index = 0,string[82];
while(index < sizeof(DoorInfo) && fread(fHandle,szFileInput))
{
sscanf(szFileInput,"p<|>ffffffffiiiis[32]iiiiii",
DoorInfo[index][ddExteriorX],
DoorInfo[index][ddExteriorY],
DoorInfo[index][ddExteriorZ],
DoorInfo[index][ddExteriorA],
DoorInfo[index][ddInteriorX],
DoorInfo[index][ddInteriorY],
DoorInfo[index][ddInteriorZ],
DoorInfo[index][ddInteriorA],
DoorInfo[index][ddInt],
DoorInfo[index][ddIntVW],
DoorInfo[index][ddExtVw],
DoorInfo[index][ddExtInt],
DoorInfo[index][ddName],
DoorInfo[index][ddLevel],
DoorInfo[index][ddAdmin],
DoorInfo[index][ddVehicleAble],
DoorInfo[index][ddPickupType],
DoorInfo[index][ddColor],
DoorInfo[index][ddLock]
);
DestroyDynamicPickup(DoorInfo[index][ddCreate]);
DestroyDynamic3DTextLabel(DoorInfo[index][ddLabel]);
if(DoorInfo[index][ddExteriorX] != 0 && DoorInfo[index][ddExteriorY] != 0 && DoorInfo[index][ddExteriorZ] != 0 && DoorInfo[index][ddExteriorA] != 0)
{
switch(DoorInfo[index][ddPickupType])
{
case 0: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1239,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 1: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1241,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 2: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1242,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 3: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1272,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 4: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1273,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 5: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1313,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 6: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1258,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 7: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1318,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 8: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1559,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 9: { DoorInfo[index][ddCreate] = CreateDynamicPickup(2894,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 10: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1279,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 11: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1274,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 12: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1275,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 13: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1316,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 14: { DoorInfo[index][ddCreate] = CreateDynamicPickup(1314,23,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ],DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
}
format(string,sizeof(string)," %s \n ID : %d",DoorInfo[index][ddName],index);
switch(DoorInfo[index][ddColor])
{
case 0: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,-1,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 1: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x8000FFFF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 2: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0xFFFF80FF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 3: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x80FF00FF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 4: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x00FFFFFF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 5: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x0080C0FF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 6: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0xFF0000FF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 7: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x0000A0FF1,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 8: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0xFFFFFFFF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
case 9: { DoorInfo[index][ddLabel] = CreateDynamic3DTextLabel(string,0x000000FF,DoorInfo[index][ddExteriorX],DoorInfo[index][ddExteriorY],DoorInfo[index][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[index][ddExtVw],DoorInfo[index][ddExtInt],-1,50.0); }
}
}
++index;
}
return fclose(fHandle);
}
stock GetPName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}
stock GetPlayerPosData(playerid)
{
GetPlayerPos(playerid,GFFP[playerid][0],GFFP[playerid][1],GFFP[playerid][2]);
GetPlayerFacingAngle(playerid,GFFP[playerid][3]);
GIFP[playerid][0] = GetPlayerInterior(playerid);
GIFP[playerid][1] = GetPlayerVirtualWorld(playerid);
return 1;
}
stock GetDay()
{
new y,m,day;
getdate(y,m,day);
return day;
}
stock GetMonth()
{
new y,month,d;
getdate(y,month,d);
return month;
}
stock GetYear()
{
new year,m,d;
getdate(year,m,d);
return year;
}