SAMP Gitlab CI Test
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1952 lines
61 KiB

//-------------------------------------------------
//
// SA-MP 0.3+ commands for internal testing.
// These were left in the distribution in case
// anyone found the snippets useful for their
// own scripts.
// Don't load this script on a public server
// as it could break your existing scripts.
// Kye 2009-2015
//
//-------------------------------------------------
#pragma tabsize 0
#include <a_samp>
#include <core>
#include <float>
#include "../include/gl_common.inc"
new Text3D:textid;
new PlayerText3D:player3dtextid;
new savanna=0;
new blade=0;
new fence=0;
new unfreezeplayer=0;
new testlbplayer=0;
new edit_objectid = INVALID_OBJECT_ID;
new vehicleid_tokill = 0;
// For testing text material/texture replacements
new test_tex_objects[128];
new text_counter = 0;
new text_update_timer = -1;
new text_update_player = INVALID_PLAYER_ID;
forward UnFreezeMe();
forward ShowTestDialog();
forward TimedVehicleDeath();
forward UpdateTextTimer();
#define AMMUNATION_SMGS_DIALOG "\
Weapon\tAmount\tPrice\n\
{FFFFFF}MP5\t90\t{FF0000}$3500\
"
new Text:txtSpriteTest[5];
new test_actor_id = INVALID_ACTOR_ID;
//-------------------------------------------------
SpawnVehicle_InfrontOfPlayer(playerid, vehiclemodel, color1, color2)
{
new Float:x,Float:y,Float:z;
new Float:facing;
new Float:distance;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, facing);
new Float:size_x,Float:size_y,Float:size_z;
GetVehicleModelInfo(vehiclemodel, VEHICLE_MODEL_INFO_SIZE, size_x, size_y, size_z);
distance = size_x + 0.5;
x += (distance * floatsin(-facing, degrees));
y += (distance * floatcos(-facing, degrees));
facing += 90.0;
if(facing > 360.0) facing -= 360.0;
return CreateVehicle(vehiclemodel, x, y, z + (size_z * 0.25), facing, color1, color2, -1);
}
//-------------------------------------------------
stock CreateExplosionEx(Float:X, Float:Y, Float:Z, type, Float:Radius, virtualworld)
{
new x;
while(x != MAX_PLAYERS) {
if(IsPlayerConnected(x)) {
if(virtualworld == -1 || virtualworld == GetPlayerVirtualWorld(x)) {
CreateExplosionForPlayer(x, X, Y, Z, type, Radius);
}
}
x++;
}
}
//-------------------------------------------------
public UnFreezeMe()
{
TogglePlayerControllable(unfreezeplayer,1);
}
//-------------------------------------------------
public ShowTestDialog()
{
new listitems[] = "{FFFFFF}1\t{55EE55}Deagle\n{FFFFFF}2\t{55EE55}Sawnoff\n{FFFFFF}3\t{55EE55}Pistol\n{FFFFFF}4\t{55EE55}Grenade\n{FFFFFF}5\t{55EE55}Parachute\n6\t{55EE55}Lorikeet";
ShowPlayerDialog(testlbplayer,2,DIALOG_STYLE_LIST,"{448844}List of weapons:",listitems,"Select","Cancel");
}
//-------------------------------------------------
TabListDialogTest(playerid)
{
new listitems[] =
"Deagle\t$5000\t100\n" \
"Sawnoff\t$5000\t100\n" \
"Pistol\t$1000\t50\n" \
"M4\t$10000\t100\n" \
"MP5\t$7500\t200\n" \
"Grenade\t$500\t1\n" \
"Parachute\t$10000\t1\n" \
"Lorikeet\t$50000\t500\n";
ShowPlayerDialog(playerid,2,DIALOG_STYLE_TABLIST,"Buy Weapon",listitems,"Select","Cancel");
}
//-------------------------------------------------
TabListHeadersDialogTest(playerid)
{
new listitems[] =
"Weapon\tPrice\tAmmo\n" \
"Deagle\t$5000\t100\n" \
"Sawnoff\t$5000\t100\n" \
"Pistol\t$1000\t50\n" \
"M4\t$10000\t100\n" \
"MP5\t$7500\t200\n" \
"Grenade\t$500\t1\n" \
"Parachute\t$10000\t1\n" \
"Lorikeet\t$50000\t500\n";
ShowPlayerDialog(playerid,2,DIALOG_STYLE_TABLIST_HEADERS,"Buy Weapon",listitems,"Select","Cancel");
}
//-------------------------------------------------
public TimedVehicleDeath()
{
if(vehicleid_tokill > 0) {
DestroyVehicle(vehicleid_tokill);
}
}
//-------------------------------------------------
public UpdateTextTimer()
{
new textdisp[256+1];
format(textdisp,256,"Dynamic Update (%d)", text_counter);
text_counter++;
SetPlayerObjectMaterialText(text_update_player, test_tex_objects[0], textdisp, 0, OBJECT_MATERIAL_SIZE_512x128, "Courier New", 48, 1, 0xFF000000, 0, 0);
}
//-------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256+1];
new idx;
cmd = strtok(cmdtext, idx);
new engine,lights,alarm,doors,bonnet,boot,objective;
//if(!IsPlayerAdmin(playerid)) return 0; // this is an admin only script
if(strcmp(cmd, "/player2v", true) == 0)
{
new tmp[256];
new tmp2[256];
tmp = strtok(cmdtext,idx);
tmp2 = strtok(cmdtext,idx);
PutPlayerInVehicle(strval(tmp),strval(tmp2),0);
return 1;
}
if(strcmp( cmd, "/vc", true ) == 0 )
{
new tmp[256];
new created_vehicle_id;
tmp = strtok( cmdtext, idx );
created_vehicle_id = SpawnVehicle_InfrontOfPlayer(playerid, strval(tmp), -1, -1);
new msg[128+1];
format(msg,128,"Created vehicle: %d",created_vehicle_id);
SendClientMessage(playerid,0xAAAAAAAA,msg);
return 1;
}
if(strcmp( cmd, "/weap", true ) == 0 )
{
new tmp[256];
tmp = strtok( cmdtext, idx );
GivePlayerWeapon(playerid, strval(tmp), 9999);
return 1;
}
if(strcmp( cmd, "/dvehicle", true ) == 0 )
{
new tmp[256];
tmp = strtok( cmdtext, idx );
DestroyVehicle( strval(tmp) );
new msg[256];
format(msg,256,"Destroyed vehicle: %d",strval(tmp));
SendClientMessage(playerid,0xAAAAAAAA,msg);
return 1;
}
if(strcmp( cmd, "/goto", true ) == 0)
{
new tmp[256];
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) { return 1; }
new Float:X, Float:Y, Float:Z;
if(GetPlayerVehicleID(playerid))
{
GetPlayerPos( strval(tmp), X, Y, Z );
SetVehiclePos( GetPlayerVehicleID(playerid), X+2, Y+2, Z );
} else {
GetPlayerPos( strval(tmp), X, Y, Z );
SetPlayerPos( playerid, X+2, Y+2, Z );
}
return 1;
}
if(strcmp(cmd, "/bring", true) == 0)
{
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) { return 1; }
new Float:X, Float:Y, Float:Z;
if(GetPlayerVehicleID(strval(tmp)))
{
GetPlayerPos(playerid, X, Y, Z);
SetVehiclePos(GetPlayerVehicleID(strval(tmp)), X+2, Y+2, Z);
} else {
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(strval(tmp), X+2, Y+2, Z);
}
return 1;
}
if(strcmp(cmd, "/me2v", true) == 0)
{
new tmp[256];
tmp = strtok(cmdtext,idx);
PutPlayerInVehicle(playerid,strval(tmp),0);
return 1;
}
if(strcmp(cmd, "/tpzero", true) == 0)
{
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
SetVehiclePos(vid,0.0,0.0,10.0);
}
return 1;
}
if(strcmp(cmd, "/myvw", true) == 0)
{
new tmp[256];
tmp = strtok(cmdtext,idx);
SetPlayerVirtualWorld(playerid,strval(tmp));
return 1;
}
if(strcmp( cmd, "/fight", true ) == 0)
{
new tmp[256];
new name[128];
tmp = strtok(cmdtext, idx);
new style = strval(tmp);
SetPlayerFightingStyle(playerid, style);
GetPlayerName(playerid,name,128);
format(tmp, 256, "(%s) fighting style changed to %d", name, style);
SendClientMessageToAll(0x4499CCFF,tmp);
return 1;
}
if(strcmp( cmd, "/myfacingangle", true ) == 0)
{
new Float:angle;
new tmp[256];
GetPlayerFacingAngle(playerid,angle);
format(tmp, 256, "Facing: %f",angle);
SendClientMessage(playerid,0x4499CCFF,tmp);
return 1;
}
if(strcmp(cmd, "/crime", true) == 0) {
new tmp[256];
new tmp2[256];
tmp = strtok(cmdtext,idx);
tmp2 = strtok(cmdtext,idx);
PlayCrimeReportForPlayer(playerid, strval(tmp), strval(tmp2));
return 1;
}
if(strcmp(cmd, "/repairmycar", true) == 0) {
new vid = GetPlayerVehicleID(playerid);
if (vid) RepairVehicle(vid);
return 1;
}
if(strcmp(cmd, "/bv", true) == 0)
{
new tmp[128], iCar, string[128];
tmp = strtok(cmdtext, idx);
if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "DO: /bv [vehicleid]");
iCar = strval(tmp);
new File:file = fopen("badvehicles.txt",io_append);
format(string,sizeof(string),"%d\r\n", iCar);
fwrite(file,string);
fclose(file);
GetPlayerName(playerid,tmp,128);
format(string, sizeof(string), "Veh ID %i marked as bad vehicle by %s", iCar, tmp);
SendClientMessageToAll(0xFFFFFFFF, string);
return 1;
}
if(strcmp(cmd, "/weapskill", true) == 0) {
new tmp[256];
new tmp2[256];
tmp = strtok(cmdtext,idx);
tmp2 = strtok(cmdtext,idx);
SetPlayerSkillLevel(playerid, strval(tmp), strval(tmp2));
return 1;
}
if(strcmp(cmd, "/labelonvehicle", true) == 0) {
new vid = GetPlayerVehicleID(playerid);
textid = Create3DTextLabel("My Vehicle\nOwned by me\nNo Fuel\nRunning on vapour",0xEEEEEE50,0.0,0.0,0.0,15.0,0);
Attach3DTextLabelToVehicle(textid, vid, 0.0, -1.6, -0.35); // tail of the vehicle toward the ground
return 1;
}
if(strcmp(cmd, "/labelonplayer", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext,idx);
textid = Create3DTextLabel("Player Label",0xFFFFFFFF,0.0,0.0,0.0,40.0,0);
Attach3DTextLabelToPlayer(textid, strval(tmp), 0.0, 0.0, -0.4);
return 1;
}
if(strcmp(cmd, "/manylabels", true) == 0) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
new x=0;
while(x!=50) {
Create3DTextLabel("Mah Labels",0xFFFFFFFF,X,Y,Z,100.0,0);
Z = Z + 0.1;
x++;
}
return 1;
}
if(strcmp(cmd, "/dellabel", true) == 0) {
Delete3DTextLabel(textid);
return 1;
}
if(strcmp(cmd, "/playerlabel", true) == 0) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos( playerid, X, Y, Z );
player3dtextid = CreatePlayer3DTextLabel(playerid,"Hello\nI'm at your position",0x008080FF,X,Y,Z,40.0);
SendClientMessage(playerid, 0xFFFFFFFF, "I created a player label at your position.");
return 1;
}
if(strcmp(cmd, "/playerlabelveh", true) == 0) {
new vid = GetPlayerVehicleID(playerid);
player3dtextid = CreatePlayer3DTextLabel(playerid,"im in your vehicles\nand hiding behind the walls",0x008080FF,0.0,-1.6,-0.35,20.0,INVALID_PLAYER_ID,vid,1);
return 1;
}
if(strcmp(cmd, "/playerlabelpl", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext,idx);
player3dtextid = CreatePlayer3DTextLabel(playerid,"Hello Testing",0x008080FF,0.0,0.0,0.0,30.0,strval(tmp));
return 1;
}
if(strcmp(cmd, "/delplayerlabel", true) == 0) {
DeletePlayer3DTextLabel(playerid, player3dtextid);
return 1;
}
if(strcmp(cmd, "/updateplayerlabel", true) == 0) {
UpdatePlayer3DTextLabelText(playerid, player3dtextid, 0xFFFFFFFF, "");
return 1;
}
if(strcmp(cmd, "/carmodtest", true) == 0) {
// spawns a couple of cars in Grove with mods applied
savanna = CreateVehicle(567,2509.1343,-1686.2330,13.2296,47.3679,16,16,10000);
AddVehicleComponent(savanna,1189); //Front Bumper
AddVehicleComponent(savanna,1187); //Rear Bumper
AddVehicleComponent(savanna,1129); //Exhaust
AddVehicleComponent(savanna,1102); //Left Side Skirt
AddVehicleComponent(savanna,1133); //Right Side Skirt
AddVehicleComponent(savanna,1078); //Wheels
AddVehicleComponent(savanna,1010); //Nitro 10x
AddVehicleComponent(savanna,1087); //Hydrolics
blade = CreateVehicle(536,2509.8462,-1671.8666,13.1510,348.3512,16,16,10000);
AddVehicleComponent(blade,1182); //Front Bumper
AddVehicleComponent(blade,1184); //Rear Bumper
AddVehicleComponent(blade,1104); //Exhaust
AddVehicleComponent(blade,1108); //Left Side Skirt
AddVehicleComponent(blade,1107); //Right Side Skirt
AddVehicleComponent(blade,1078); //Wheels
AddVehicleComponent(blade,1010); //Nitro 10x
AddVehicleComponent(blade,1087); //Hydrolics
return 1;
}
if(strcmp(cmd, "/addnitro", true) == 0) {
new vid = GetPlayerVehicleID(playerid);
AddVehicleComponent(vid, 1010);
return 1;
}
if(strcmp(cmd, "/remnitro", true) == 0) {
new vid = GetPlayerVehicleID(playerid);
RemoveVehicleComponent(vid, 1010);
return 1;
}
if(strcmp(cmd, "/paintjob", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext,idx);
new vid = GetPlayerVehicleID(playerid);
ChangeVehiclePaintjob(vid,strval(tmp));
return 1;
}
if(strcmp(cmd, "/longtd", true) == 0) {
new st4[256];
new st5[256];
new st6[256];
new st7[1024];
format(st4,sizeof(st4),"0123456789012345678901234567890123456789~n~012345678901234567890123456789~n~01234567890123456789~n~0123456789~n~0123456789012345678901234567890123456789~n~01234567890123456789~n~01234567890123456789~n~01234567890123456789~n~");
format(st5,sizeof(st5),"0123456789012345678901234567890123456789~n~012345678901234567890123456789~n~01234567890123456789~n~0123456789~n~0123456789012345678901234567890123456789~n~01234567890123456789~n~01234567890123456789~n~01234567890123456789~n~");
format(st6,sizeof(st6),"0123456789012345678901234567890123456789~n~012345678901234567890123456789~n~01234567890123456789~n~0123456789~n~0123456789012345678901234567890123456789~n~01234567890123456789~n~01234567890123456789~n~01234567890123456789");
format(st7,sizeof(st7),"%s %s %s~n~LEN(%d)",st4,st5,st6,strlen(st4)+strlen(st5)+strlen(st6));
new Text:Stats = TextDrawCreate(10.0, 10.0, st7);
TextDrawTextSize(Stats, 400.0, 400.0);
TextDrawUseBox(Stats,0);
TextDrawBoxColor(Stats,0xFFFFFFFF);
TextDrawFont(Stats,1);
TextDrawLetterSize(Stats,0.5,0.5);
TextDrawShowForPlayer(playerid,Stats);
return 1;
}
if(strcmp(cmd, "/testmsgbox", true) == 0) {
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Welcome","Welcome to the SA-MP 0.3 server. This is test_cmds.pwn /testmsgbox\nHope it's useful to you.","OK","");
return 1;
}
if(strcmp(cmd, "/testmsgbox2", true) == 0) {
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Welcome","Welcome:\tInfo\nTest:\t\tTabulated\nLine:\t\tHello","OK","Cancel");
return 1;
}
if(strcmp(cmd, "/testinputbox", true) == 0) {
new loginmsg[256+1];
new loginname[MAX_PLAYER_NAME+1];
GetPlayerName(playerid,loginname,MAX_PLAYER_NAME);
format(loginmsg,256,"Welcome to the SA-MP 0.3 server.\n\n{EEEE88}Account:\t{FFFFFF}%s\n\n{FFFFFF}Please enter your password below:",loginname);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{EE7777}Login to SA-MP",loginmsg,"Login","Cancel");
return 1;
}
if(strcmp(cmd, "/testpassbox", true) == 0) {
new loginmsg[256+1];
new loginname[MAX_PLAYER_NAME+1];
GetPlayerName(playerid,loginname,MAX_PLAYER_NAME);
format(loginmsg,256,"Welcome to the SA-MP 0.3 server.\n\n{EEEE88}Account:\t{FFFFFF}%s\n\n{FFFFFF}Please enter your password below:",loginname);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"{EE7777}Login to SA-MP",loginmsg,"Login","Cancel");
return 1;
}
if(strcmp(cmd, "/testlistbox", true) == 0) {
new listitems[] = "{FFFFFF}1\t{55EE55}Deagle\n{FFFFFF}2\t{55EE55}Sawnoff\n{FFFFFF}3\t{55EE55}Pistol\n{FFFFFF}4\t{55EE55}Grenade\n{FFFFFF}5\t{55EE55}Parachute\n6\t{55EE55}Lorikeet";
ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"{448844}List of weapons:",listitems,"Select","Cancel");
return 1;
}
if(strcmp(cmd, "/testtablist", true) == 0) {
TabListDialogTest(playerid);
return 1;
}
if(strcmp(cmd, "/testtablistheaders", true) == 0) {
TabListHeadersDialogTest(playerid);
return 1;
}
if(strcmp(cmd, "/testtablistcrash", true) == 0) {
//ShowPlayerDialog(playerid,2,DIALOG_STYLE_TABLIST_HEADERS,"{FFFF00}SMGs", "Weapon\tAmount\tPrice\n{FFFFFF}MP5\t90\t{FF0000}$3500","Buy", "Go Back");
ShowPlayerDialog(playerid,2,DIALOG_STYLE_TABLIST_HEADERS,"{FFFF00}SMGs", AMMUNATION_SMGS_DIALOG, "Buy", "Go Back");
return 1;
}
if(strcmp(cmd, "/testclosebox", true) == 0) {
ShowPlayerDialog(playerid,-1,0,"","","","");
return 1;
}
if(strcmp(cmd, "/setfacingzero", true) == 0) {
SetPlayerFacingAngle(playerid, 0.0);
return 1;
}
if(strcmp(cmd, "/detachtrailer", true) == 0) {
new vid = GetPlayerVehicleID(playerid);
DetachTrailerFromVehicle(vid);
return 1;
}
if(strcmp(cmd, "/testformat", true) == 0) {
new strtest[256];
new File:f = fopen("test.txt",io_write);
format(strtest,256,"[chat] %d %s\r\n",24,"þÿÿþ");
SendClientMessage(playerid,0xFFFFFFFF,strtest);
fwrite(f,strtest);
format(strtest,256,"[chat] %d %s\r\n",34," þÿÿþ");
SendClientMessage(playerid,0xFFFFFFFF,strtest);
fwrite(f,strtest);
fclose(f);
return 1;
}
if(strcmp(cmd, "/setskin", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext,idx);
SetPlayerSkin(playerid,strval(tmp));
return 1;
}
if(strcmp(cmd, "/setvars", true) == 0) {
SetPVarInt(playerid,"num_test",7001);
SetPVarString(playerid,"additional_tag","Hello World");
SetPVarFloat(playerid,"some_float",1001.0);
SendClientMessage(playerid,0xFFFFFFFF, "Vars set");
return 1;
}
if(strcmp(cmd, "/modvars", true) == 0) {
SetPVarInt(playerid,"num_test",8001);
SetPVarString(playerid,"additional_tag","World Hello");
SetPVarFloat(playerid,"some_float",6901.0);
SendClientMessage(playerid,0xFFFFFFFF, "Vars modded");
return 1;
}
if(strcmp(cmd, "/getvars", true) == 0) {
new tst_IntRet;
new Float:tst_FloatRet;
new tst_StrRet[256];
new tst_DispStr[256];
tst_IntRet = GetPVarInt(playerid,"num_test");
tst_FloatRet = GetPVarFloat(playerid,"some_float");
GetPVarString(playerid,"additional_tag",tst_StrRet,256);
format(tst_DispStr,256,"num_test: %d some_float: %f additional_tag: %s",tst_IntRet,tst_FloatRet,tst_StrRet);
SendClientMessage(playerid,0xFFFFFFFF, tst_DispStr);
return 1;
}
if(strcmp(cmd, "/delvars", true) == 0) {
DeletePVar(playerid,"num_test");
DeletePVar(playerid,"additional_tag");
DeletePVar(playerid,"some_float");
SendClientMessage(playerid,0xFFFFFFFF, "Vars deleted");
return 1;
}
if(strcmp(cmd, "/pvarlist", true) == 0) {
SendPVarListToPlayer(playerid);
return 1;
}
if(strcmp(cmd, "/kill",true) == 0) {
SetPlayerHealth(playerid,0.0);
return 1;
}
if(strcmp(cmd, "/kickallnpc",true) == 0) {
new p=0;
while(p!=MAX_PLAYERS) {
if(IsPlayerConnected(p) && IsPlayerNPC(p)) Kick(p);
p++;
}
return 1;
}
if(strcmp(cmd, "/startengine",true) == 0) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
}
return 1;
}
if(strcmp(cmd, "/stopengine",true) == 0) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
return 1;
}
if(strcmp(cmd, "/openboot",true) == 0) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_ON,objective);
}
return 1;
}
if(strcmp(cmd, "/closeboot",true) == 0) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_OFF,objective);
}
return 1;
}
if(strcmp(cmd, "/openbonnet",true) == 0) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_ON,boot,objective);
}
return 1;
}
if(strcmp(cmd, "/closebonnet",true) == 0) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective);
}
return 1;
}
if(strcmp(cmd, "/alarmon",true) == 0) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,lights,VEHICLE_PARAMS_ON,doors,bonnet,boot,objective);
}
return 1;
}
if(strcmp(cmd, "/alarmoff",true) == 0) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,lights,VEHICLE_PARAMS_OFF,doors,bonnet,boot,objective);
}
return 1;
}
if(strcmp(cmd, "/lightson",true) == 0) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
}
return 1;
}
if(strcmp(cmd, "/lightsoff",true) == 0) {
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID) {
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
}
return 1;
}
if(strcmp(cmd, "/holdobjectid",true) == 0) {
new tmp[256];
tmp = strtok(cmdtext,idx);
SetPlayerAttachedObject(playerid,0,strval(tmp),6);
SetPlayerAttachedObject(playerid,1,strval(tmp),5);
//SetPlayerAttachedObject(playerid, 0, 1254,2, 0.1,0.05,0,0,90,0);
return 1;
}
if(strcmp(cmd, "/removeheld",true) == 0) {
new zz=0;
while(zz!=MAX_PLAYER_ATTACHED_OBJECTS) {
if(IsPlayerAttachedObjectSlotUsed(playerid, zz)) {
RemovePlayerAttachedObject(playerid, zz);
}
zz++;
}
return 1;
}
if(strcmp(cmd, "/attachobj",true) == 0) {
new tmp[256];
tmp = strtok(cmdtext,idx);
new obj = CreateObject(strval(tmp),0.0,0.0,0.0,0.0,0.0,0.0,200.0);
AttachObjectToVehicle(obj,GetPlayerVehicleID(playerid),0.0,0.0,1.0,0.0,0.0,0.0);
return 1;
}
if(strcmp(cmd, "/attachtome",true) == 0) {
new tmp[256];
tmp = strtok(cmdtext,idx);
new obj = CreateObject(strval(tmp),0.0,0.0,0.0,0.0,0.0,0.0,200.0);
AttachObjectToPlayer(obj,playerid,0.0,0.0,2.0,0.0,0.0,0.0);
return 1;
}
if(strcmp(cmd, "/mapicontest",true) == 0) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetPlayerCheckpoint(playerid,X,Y,Z,5.0);
SetPlayerMapIcon(playerid, 1, X+50.0, Y, Z, 52, 0, MAPICON_LOCAL_CHECKPOINT);
SetPlayerMapIcon(playerid, 2, X+100.0, Y, Z, 53, 0, MAPICON_LOCAL_CHECKPOINT);
SetPlayerMapIcon(playerid, 3, X+150.0, Y, Z, 54, 0, MAPICON_LOCAL_CHECKPOINT);
SetPlayerMapIcon(playerid, 4, X+200.0, Y, Z, 55, 0, MAPICON_LOCAL_CHECKPOINT);
SetPlayerMapIcon(playerid, 5, X+250.0, Y, Z, 0, 0x00FF00FF);
return 1;
}
if(strcmp(cmd, "/mapicondel",true) == 0) {
RemovePlayerMapIcon(playerid, 1);
RemovePlayerMapIcon(playerid, 2);
RemovePlayerMapIcon(playerid, 3);
RemovePlayerMapIcon(playerid, 4);
RemovePlayerMapIcon(playerid, 5);
return 1;
}
if(strcmp(cmd, "/mapicontest2",true) == 0) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
RemovePlayerMapIcon(playerid, 0);
SetPlayerMapIcon(playerid, 0, X, Y, Z, 33, 0, MAPICON_GLOBAL);
RemovePlayerMapIcon(playerid, 2);
SetPlayerMapIcon(playerid, 2, X+100.0, Y, Z, 55, 0, MAPICON_LOCAL);
return 1;
}
if(strcmp(cmd, "/setweap",true) == 0) {
new tmp[256];
tmp = strtok(cmdtext,idx);
SetPlayerArmedWeapon(playerid,strval(tmp));
return 1;
}
if(strcmp(cmd, "/jetpack",true) == 0) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
return 1;
}
if(strcmp(cmd, "/crobj",true) == 0) {
new Float:X, Float:Y, Float:Z;
new tmp[256];
GetPlayerPos(playerid, X, Y, Z);
tmp = strtok(cmdtext,idx);
CreateObject(strval(tmp),X+1.0,Y+1.0,Z+0.5,0.0,0.0,0.0,200.0);
return 1;
}
if(strcmp(cmd, "/dropaudio",true) == 0) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
PlayAudioStreamForPlayer(playerid, "http://somafm.com/tags.pls", X, Y, Z, 40.0, true);
return 1;
}
if(strcmp(cmd, "/officefloor",true) == 0) {
SetPlayerPos(playerid,1786.0645,-1298.7510,104.2);
return 1;
}
if(strcmp(cmd, "/lvpd",true) == 0) {
SetPlayerInterior(playerid, 3);
SetPlayerPos(playerid,237.5571,148.7559,1005.4703);
return 1;
}
if(strcmp(cmd, "/kill",true) == 0) {
SetPlayerHealth(playerid,0.0);
return 1;
}
if(strcmp(cmd, "/atrailer",true) == 0) {
new tmp[256];
tmp = strtok(cmdtext,idx);
AttachTrailerToVehicle(strval(tmp),GetPlayerVehicleID(playerid));
return 1;
}
if(strcmp(cmd, "/dtrailer",true) == 0) {
if(GetVehicleTrailer(GetPlayerVehicleID(playerid)) != 0) {
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
}
return 1;
}
if(strcmp(cmd, "/cfence",true) == 0) {
SetPlayerPos(playerid,2496.40, -1664.84, 13.19);
if(!fence) fence = CreateObject(1410, 2496.80, -1661.88, 13.4, 0.00, 0.00, 0.00);
return 1;
}
if(strcmp(cmd, "/mfence1",true) == 0) {
MoveObject(fence, 2494.56, -1664.12, 13.4, 1.0, 0.00, 0.00, -90.0);
return 1;
}
if(strcmp(cmd, "/mfence2",true) == 0) {
MoveObject(fence, 2496.80, -1661.88, 13.4, 1.0, 0.00, 0.00, 0.00);
return 1;
}
if(strcmp(cmd, "/usecell",true) == 0) {
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
//SetPlayerAttachedObject(playerid, 4, 330, 6); // 4 = attachment slot, 330 = cellphone model, 6 = right hand
return 1;
}
if(strcmp(cmd, "/stopcell",true) == 0) {
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
RemovePlayerAttachedObject(playerid, 4);
return 1;
}
if(strcmp(cmd, "/objvehst",true) == 0) {
new objveh;
new objatt;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
objveh = CreateVehicle(563, X+2.0, Y+2.0, Z, 0.0, 0, 0, -1);
objatt = CreateObject(19277, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 200.0);
AttachObjectToVehicle(objatt, objveh, 2.0, 0.15, 0.0, 0.0, 0.0, 90.0);
return 1;
}
if(strcmp(cmd, "/uncontrol", true) == 0) {
TogglePlayerControllable(playerid, 0);
unfreezeplayer = playerid;
//SetTimer("UnFreezeMe",5000,0);
return 1;
}
if(strcmp(cmd, "/recontrol", true) == 0) {
TogglePlayerControllable(playerid, 1);
return 1;
}
if(strcmp(cmd, "/objlim1", true) == 0) {
new Float:X, Float:Y, Float:Z;
new lp=0;
GetPlayerPos(playerid, X, Y, Z);
while(lp != 999) {
CreateObject(1656, X, Y, Z, 0.00, 0.00, 0.00, 1000.0);
Y += 0.25;
lp++;
}
return 1;
}
if(strcmp(cmd, "/kkeys", true) == 0) {
new message[256+1];
format(message, 256, "{FFFFFF}Left Key: {FFFF00}~k~~GO_LEFT~ {FFFFFF}Right Key: {FFFF00}~k~~GO_RIGHT~ {FFFFFF}Fire Key: {FFFF00}~k~~PED_FIREWEAPON~");
SendClientMessage(playerid, 0xFFFFFFFF, message);
return 1;
}
if(strcmp(cmd, "/timeddlg", true) == 0) {
testlbplayer = playerid;
SetTimer("ShowTestDialog",5000,0);
return 1;
}
if(strcmp(cmd, "/editattach",true) == 0) {
if(!IsPlayerAttachedObjectSlotUsed(playerid, 0)) {
SetPlayerAttachedObject(playerid,0,19006,2); // red sunglasses to head bone
}
SendClientMessage(playerid, 0xFFFFFFFF, "Hint: Use {FFFF00}~k~~PED_SPRINT~{FFFFFF} to look around.");
EditAttachedObject(playerid, 0);
return 1;
}
if(strcmp(cmd, "/editobject",true) == 0) {
if(edit_objectid == INVALID_OBJECT_ID) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
edit_objectid = CreateObject(1656,X+1.0,Y+1.0,Z+0.5,0.0,0.0,0.0,200.0);
}
SendClientMessage(playerid, 0xFFFFFFFF, "Hint: Use {FFFF00}~k~~PED_SPRINT~{FFFFFF} to look around.");
EditObject(playerid, edit_objectid);
return 1;
}
if(strcmp(cmd, "/selobj",true) == 0) {
SendClientMessage(playerid, 0xFFFFFFFF, "Hint: Use {FFFF00}~k~~PED_SPRINT~{FFFFFF} to look around.");
SelectObject(playerid);
return 1;
}
if(strcmp(cmd, "/canceledit",true) == 0) {
CancelEdit(playerid);
return 1;
}
if(strcmp(cmd, "/editpobject",true) == 0) {
if(edit_objectid == INVALID_OBJECT_ID) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
edit_objectid = CreatePlayerObject(playerid,19522,X+1.0,Y+1.0,Z+0.5,0.0,0.0,0.0,200.0);
}
SendClientMessage(playerid, 0xFFFFFFFF, "Hint: Use {FFFF00}~k~~PED_SPRINT~{FFFFFF} to look around.");
EditPlayerObject(playerid, edit_objectid);
return 1;
}
if(strcmp(cmd, "/cam_on_obj",true) == 0) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(edit_objectid == INVALID_OBJECT_ID) {
edit_objectid = CreateObject(19320,X+1.0,Y+1.0,Z+0.5,0.0,0.0,0.0,200.0);
}
//TogglePlayerSpectating(playerid, 1);
AttachCameraToObject(playerid, edit_objectid);
MoveObject(edit_objectid, X, Y + 2000.0, Z + 400.0, 20.0);
return 1;
}
if(strcmp(cmd, "/cam_on_train",true) == 0) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(edit_objectid == INVALID_OBJECT_ID) {
edit_objectid = CreateObject(19320,X+1.0,Y+1.0,Z+0.5,0.0,0.0,0.0,200.0);
}
TogglePlayerSpectating(playerid, 1);
AttachObjectToVehicle(edit_objectid, 9, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0);
PlayerSpectateVehicle(playerid, 9);
AttachCameraToObject(playerid, edit_objectid);
return 1;
}
if(strcmp(cmd, "/cam_interp",true) == 0) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
InterpolateCameraPos(playerid, X, Y, Z, X + 100.0, Y + 100.0, Z + 20.0, 10000);
return 1;
}
if(strcmp(cmd, "/cam_interp_look",true) == 0) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
InterpolateCameraPos(playerid, X, Y, Z, X + 100.0, Y + 100.0, Z + 20.0, 10000);
InterpolateCameraLookAt(playerid, X, Y, Z, 0.0, 0.0, 0.0, 10000);
return 1;
}
if(strcmp(cmd, "/cam_behind",true) == 0) {
SetCameraBehindPlayer(playerid);
return 1;
}
if(strcmp(cmd, "/respawn_veh",true) == 0) {
new tmp[256];
tmp = strtok(cmdtext,idx);
SetVehicleToRespawn(strval(tmp));
return 1;
}
if(strcmp(cmd, "/crplain", true) == 0) {
CreateObject(19003, 416.54, 1655.75, 700.00, 0.00, 0.00, 0.00, 200.0);
CreateObject(4561, -26.98, 1639.33, 98.03, 0.00, 0.00, 0.00, 1000.0);
return 1;
}
if(strcmp(cmd, "/testplain", true) == 0) {
CreateObject(19003, 416.54, 1655.75, 700.00, 0.00, 0.00, 0.00);
if(GetPlayerVehicleID(playerid)) {
SetVehiclePos(GetPlayerVehicleID(playerid), 416.54, 1655.75, 705.00);
}
else {
SetPlayerPos(playerid, 416.54, 1655.75, 710.00);
}
return 1;
}
if(strcmp(cmd, "/testplain2", true) == 0) {
CreateObject(10766, 168.86, 1686.77, 44.86, 0.00, 0.00, 0.00, 1000.0);
CreateObject(10766, 168.86, 1532.52, 44.86, 0.00, 0.00, 0.00, 1000.0);
if(GetPlayerVehicleID(playerid)) {
SetVehiclePos(GetPlayerVehicleID(playerid), 162.9956, 1606.2555, 55.3197);
}
else {
SetPlayerPos(playerid, 162.9956, 1606.2555, 55.3197);
}
return 1;
}
if(strcmp(cmd, "/clicktd",true) == 0) {
new Text:txtTestText1;
txtTestText1 = TextDrawCreate(320.0, 100.0, "Test Text 1");
TextDrawUseBox(txtTestText1, 1);
TextDrawBoxColor(txtTestText1, 0x00000044);
TextDrawFont(txtTestText1, 3);
TextDrawSetShadow(txtTestText1,0); // no shadow
TextDrawSetOutline(txtTestText1,2); // thickness 1
TextDrawBackgroundColor(txtTestText1,0x000000FF);
TextDrawColor(txtTestText1,0xFFFFFFFF);
TextDrawAlignment(txtTestText1,2); // centered
TextDrawLetterSize(txtTestText1,0.5,1.5);
TextDrawTextSize(txtTestText1, 20.0, 200.0); // reverse width and height for rockstar (only for centered td's)
TextDrawSetSelectable(txtTestText1, 1);
TextDrawShowForPlayer(playerid,txtTestText1);
new Text:txtSprite1;
txtSprite1 = TextDrawCreate(200.0, 220.0, "samaps:map"); // Text is txdfile:texture
TextDrawFont(txtSprite1, 4); // Font ID 4 is the sprite draw font
TextDrawColor(txtSprite1,0xFFFFFFFF);
TextDrawTextSize(txtSprite1,200.0,200.0); // Text size is the Width:Height
TextDrawSetSelectable(txtSprite1, 1);
TextDrawShowForPlayer(playerid,txtSprite1);
SelectTextDraw(playerid, 0x9999BBBB);
return 1;
}
if(strcmp(cmd, "/playertd",true) == 0) {
/*
new PlayerText:PlayerTestText1;
PlayerTestText1 = CreatePlayerTextDraw(playerid, 320.0, 100.0, "Test Text 1");
PlayerTextDrawUseBox(playerid,PlayerTestText1, 1);
PlayerTextDrawBoxColor(playerid,PlayerTestText1, 0x00000044);
PlayerTextDrawFont(playerid,PlayerTestText1, 3);
PlayerTextDrawSetShadow(playerid,PlayerTestText1,0); // no shadow
PlayerTextDrawSetOutline(playerid,PlayerTestText1,2); // thickness 1
PlayerTextDrawBackgroundColor(playerid, PlayerTestText1,0x000000FF);
PlayerTextDrawColor(playerid,PlayerTestText1,0xFFFFFFFF);
//PlayerTextDrawAlignment(playerid,PlayerTestText1,2); // centered
PlayerTextDrawLetterSize(playerid,PlayerTestText1,0.5,1.5);
PlayerTextDrawTextSize(playerid,PlayerTestText1, 50.0, 200.0); // reverse width and height for rockstar (only for centered td's)
PlayerTextDrawSetSelectable(playerid,PlayerTestText1,1);
PlayerTextDrawShow(playerid,PlayerTestText1);*/
//SelectTextDraw(playerid, 0x9999BBBB);
return 1;
}
if(strcmp(cmd, "/canceltd",true) == 0) {
CancelSelectTextDraw(playerid);
return 1;
}
if(strcmp(cmd, "/timed_vd", true) == 0) {
vehicleid_tokill = GetPlayerVehicleID(playerid);
SetTimer("TimedVehicleDeath",3000,0);
return 1;
}
if(strcmp(cmd, "/vmodelsize", true) == 0) {
new Float:X, Float:Y, Float:Z;
new VehicleId = GetPlayerVehicleID(playerid);
new message[256+1];
if(!VehicleId || VehicleId == INVALID_VEHICLE_ID) {
SendClientMessage(playerid, 0xFFFFFFFF, "/vmodelsize : Be in a vehicle to use this command." );
return 1;
}
new VehicleModel = GetVehicleModel(VehicleId);
GetVehicleModelInfo(VehicleModel, VEHICLE_MODEL_INFO_SIZE, X, Y, Z);
format(message, 256, "Vehicle(%d) Size: %.4f, %.4f, %.4f", VehicleModel, X, Y, Z);
SendClientMessage(playerid, 0xFFFFFFFF, message);
return 1;
}
if(strcmp(cmd, "/crptex",true) == 0) {
new lp=0;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
X+=1.0;
while(lp != 128) {
test_tex_objects[lp] = CreatePlayerObject(playerid,19372,X,Y,Z+0.5,0.0,0.0,0.0,0.0);
//SetPlayerObjectMaterial(playerid, test_tex_objects[lp], 0, 0, "null", "null", 0);
if(lp % 2 == 0) {
SetPlayerObjectMaterial(playerid, test_tex_objects[lp], 0, 19325, "all_walls", "stormdrain3_nt", 0xFF00FF00);
} else {
SetPlayerObjectMaterial(playerid, test_tex_objects[lp], 0, 19371, "all_walls", "stormdrain3_nt", 0xFF551155);
}
X+=2.0;
lp++;
}
}
if(strcmp(cmd, "/crpmix",true) == 0) {
new lp=0;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
X+=1.0;
new szId[256+1];
while(lp != 128) {
test_tex_objects[lp] = CreatePlayerObject(playerid,19371,X,Y,Z+0.5,0.0,0.0,0.0,300.0);
//format(szId, 256, "Text Here: {00FF00}%d", lp);
//SetPlayerObjectMaterialText(playerid, test_tex_objects[lp], szId, 0, OBJECT_MATERIAL_SIZE_512x512, "Verdana", 60, 1, 0xFF5555FF, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
if(lp % 2 == 0) {
SetPlayerObjectMaterial(playerid, test_tex_objects[lp], 0, 19371, "all_walls", "stormdrain3_nt", 0xFF55AA55);
} else {
format(szId, 256, "Text: {00FF00}%d", lp);
SetPlayerObjectMaterialText(playerid, test_tex_objects[lp], szId, 0, OBJECT_MATERIAL_SIZE_512x256, "Verdana", 60, 1, 0xFF5555FF, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
}
X+=2.0;
lp++;
}
return 1;
}
if(strcmp(cmd, "/crptext",true) == 0) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
X+=1.0;
test_tex_objects[0] = CreatePlayerObject(playerid,19479,X,Y,Z+0.5,0.0,0.0,0.0,300.0);
SetObjectMaterialText(test_tex_objects[0], "Dynamic Update (0)", 0, OBJECT_MATERIAL_SIZE_512x128, "Courier New", 48, 1, 0xFF000000, 0, 0);
X+=3.0;
// This is a dynamic update material text
if(text_update_timer == -1) {
text_update_timer = SetTimer("UpdateTextTimer", 1000, 1);
text_update_player = playerid;
}
test_tex_objects[1] = CreatePlayerObject(playerid,19479,X,Y,Z+4.0,0.0,0.0,0.0,300.0);
SetPlayerObjectMaterialText(playerid, test_tex_objects[1], "ABDSJFUEGI\nABDRJCFEGI\n{DDDDDD}Center", 0, OBJECT_MATERIAL_SIZE_512x256, "GTAWEAPON3", 70, 0, 0xFF00FF00, 0xFF444477, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
X+=3.0;
test_tex_objects[2] = CreatePlayerObject(playerid,19480,X,Y,Z+4.0,0.0,0.0,0.0,300.0);
SetPlayerObjectMaterialText(playerid, test_tex_objects[2], "Blue Text\nVerdana\nAlpha BG\n{DDDDDD}Center", 0, OBJECT_MATERIAL_SIZE_512x256, "Verdana", 60, 1, 0xFF000000, 0xFFFFFFFF, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
X+=3.0;
test_tex_objects[3] = CreatePlayerObject(playerid,19481,X,Y,Z+4.0,0.0,0.0,0.0,300.0);
SetPlayerObjectMaterialText(playerid, test_tex_objects[3], "Blue Text\nArial\nAlpha BG\n{DDDDDD}Center", 0, OBJECT_MATERIAL_SIZE_512x256, "Arial", 60, 1, 0xFF000000, 0xFFCDD704, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
X+=3.0;
test_tex_objects[4] = CreatePlayerObject(playerid,19482,X,Y,Z+4.0,0.0,0.0,0.0,300.0);
SetPlayerObjectMaterialText(playerid, test_tex_objects[4], "Blue Text\nVerdana\nAlpha BG\n{DDDDDD}Center", 0, OBJECT_MATERIAL_SIZE_512x256, "Verdana", 60, 1, 0xFF000000, 0xFFCDD704, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
X+=3.0;
test_tex_objects[5] = CreatePlayerObject(playerid,19483,X,Y,Z+4.0,0.0,0.0,0.0,300.0);
SetPlayerObjectMaterialText(playerid, test_tex_objects[5], "Blue Text\nArial\nAlpha BG\n{DDDDDD}Center", 0, OBJECT_MATERIAL_SIZE_512x256, "Arial", 60, 1, 0xFF000000, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
X+=3.0;
//EditPlayerObject(playerid, test_tex_objects[0]);
return 1;
}
if(strcmp(cmd, "/delptex",true) == 0) {
new lp=0;
while(lp != 128) {
if(IsValidPlayerObject(playerid, test_tex_objects[lp])) {
DestroyPlayerObject(playerid, test_tex_objects[lp]);
}
lp++;
}
if(text_update_timer >= 0) {
KillTimer(text_update_timer);
text_update_timer = -1;
}
return 1;
}
// Damian's bed that crashed because material object id and original object id were the same
if(strcmp(cmd, "/crashbed",true) == 0) {
new objbed1=0;
new objbed2=0;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
// 14446
//0:18028:cj_bar2:CJ_nastybar_D2:000000;
//2:18646:matcolours:blue:000fff;
objbed1 = CreatePlayerObject(playerid,14446,X,Y,Z+0.1,0.0,0.0,0.0,300.0);
SetPlayerObjectMaterial(playerid, objbed1, 0, 18028, "cj_bar2", "CJ_nastybar_D2", 0xFF000000);
SetPlayerObjectMaterial(playerid, objbed1, 2, 18646, "matcolours", "blue", 0xFF000fff);
// 14446
//0:0:none:none:000000;
//1:0:none:none:0000ff;
//2:14446:carter_block:zebra_skin:000000;
objbed2 = CreatePlayerObject(playerid,14446,X,Y+2.0,Z+0.1,0.0,0.0,0.0,300.0);
SetPlayerObjectMaterial(playerid, objbed2, 0, 0, "none", "none", 0xFF000000);
SetPlayerObjectMaterial(playerid, objbed2, 1, 0, "none", "none", 0xFF0000FF);
//SetPlayerObjectMaterial(playerid, objbed2, 2, 18646, "matcolours", "blue", 0xFFFFFFFF);
SetPlayerObjectMaterial(playerid, objbed2, 2, 14446, "carter_block", "mp_carter_wall", 0xFFFFFFFF);
return 1;
}
// Damian's house object that is crashing in 0.3x
if(strcmp(cmd, "/crash_hobj",true) == 0) {
new objcab=0;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
//2385
//;index_id:model_id:txd_name:txd_txt:txd_color(0 if no color);
//;0:2748:pizza_furn:CJ_WOOD6:0;
//;1:2748:pizza_furn:CJ_WOOD6:A78D84;
//;2:2748:pizza_furn:CJ_WOOD6:A78D84;
objcab = CreatePlayerObject(playerid,2385,X,Y,Z+0.1,0.0,0.0,0.0,0.0);
SetPlayerObjectMaterial(playerid, objcab, 0, 2748, "pizza_furn", "CJ_WOOD6", 0);
SetPlayerObjectMaterial(playerid, objcab, 1, 2748, "pizza_furn", "CJ_WOOD6", 0xFFA78D84);
SetPlayerObjectMaterial(playerid, objcab, 2, 2748, "pizza_furn", "CJ_WOOD6", 0xFFA78D84);
/*
SetPlayerObjectMaterial(playerid, objcab, 0, -1, "none", "none", 0xFF00AA00);
SetPlayerObjectMaterial(playerid, objcab, 1, -1, "none", "none", 0xFF00AA00);
SetPlayerObjectMaterial(playerid, objcab, 2, -1, "none", "none", 0xFF00AA00);*/
return 1;
}
if(strcmp(cmd, "/kickmessage", true) == 0) {
KickWithMessage(playerid, "Bye!");
return 1;
}
if(strcmp(cmd, "/animindex", true) == 0) {
new msg[256+1];
new animlib[64+1];
new animname[64+1];
new tmp[256+1];
tmp = strtok(cmdtext,idx);
GetAnimationName(strval(tmp), animlib, 64, animname, 64);
format(msg,sizeof(msg),"AnimIndex: %d is %s:%s", strval(tmp), animlib, animname);
SendClientMessage(playerid, 0xFFFFFFFF, msg);
return 1;
}
if(strcmp(cmd, "/weapdata", true) == 0) {
new msg[256+1];
new x=0;
new weaponret;
new ammoret;
while(x!=13) {
GetPlayerWeaponData(playerid, x, weaponret, ammoret);
format(msg,sizeof(msg),"WeapSlot(%d) %d:%d", x, weaponret, ammoret);
SendClientMessage(playerid, 0xFFFFFFFF, msg);
x++;
}
return 1;
}
if(strcmp(cmd, "/explosion", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext,idx);
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
CreateExplosionEx(X+10.0, Y+10.0, Z+10.0, 1, 2.0, strval(tmp));
return 1;
}
if(strcmp(cmd, "/flatbedcontainer",true) == 0) {
new create_flatbed = SpawnVehicle_InfrontOfPlayer(playerid, 578, -1, -1);
new obj = CreateObject(19321,0.0,0.0,0.0,0.0,0.0,0.0);
AttachObjectToVehicle(obj,create_flatbed,-0.0165,-2.0660,1.2442,0.0,0.0,0.0);
return 1;
}
if(strcmp(cmd, "/disablevcol",true) == 0) {
DisableRemoteVehicleCollisions(playerid, 1);
return 1;
}
if(strcmp(cmd, "/enablevcol",true) == 0) {
DisableRemoteVehicleCollisions(playerid, 0);
return 1;
}
if(strcmp(cmd, "/disablecamtarget",true) == 0) {
EnablePlayerCameraTarget(playerid, 0);
return 1;
}
if(strcmp(cmd, "/enablecamtarget",true) == 0) {
EnablePlayerCameraTarget(playerid, 1);
return 1;
}
if(strcmp(cmd, "/poolsize", true) == 0) {
new msg[256+1];
new HigestPlayerId = GetPlayerPoolSize();
new HigestVehicleId = GetVehiclePoolSize();
format(msg,sizeof(msg),"PlayerPoolSize: %d", HigestPlayerId);
SendClientMessage(playerid, 0xFFFFFFFF, msg);
format(msg,sizeof(msg),"VehiclePoolSize: %d", HigestVehicleId);
SendClientMessage(playerid, 0xFFFFFFFF, msg);
return 1;
}
if(strcmp(cmd, "/sirenstate", true ) == 0)
{
if( GetPlayerVehicleID(playerid) && GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID &&
GetVehicleParamsSirenState(GetPlayerVehicleID(playerid)) == VEHICLE_PARAMS_ON )
{
SendClientMessage(playerid, 0xFFFFFFFF, "Siren is ON");
}
else {
SendClientMessage(playerid, 0xFFFFFFFF, "Siren is OFF");
}
return 1;
}
if(strcmp(cmd, "/opencardoors", true ) == 0)
{
if(GetPlayerVehicleID(playerid) && GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID)
{
SetVehicleParamsCarDoors(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_ON, VEHICLE_PARAMS_ON, VEHICLE_PARAMS_ON, VEHICLE_PARAMS_ON);
}
/*
if(GetPlayerCameraTargetVehicle(playerid) != INVALID_VEHICLE_ID)
{
SetVehicleParamsCarDoors(GetPlayerCameraTargetVehicle(playerid), VEHICLE_PARAMS_ON, VEHICLE_PARAMS_ON, VEHICLE_PARAMS_ON, VEHICLE_PARAMS_ON);
}*/
return 1;
}
if(strcmp(cmd, "/closecardoors", true ) == 0)
{
if(GetPlayerVehicleID(playerid) && GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID)
{
SetVehicleParamsCarDoors(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF);
}
/*
if(GetPlayerCameraTargetVehicle(playerid) != INVALID_VEHICLE_ID)
{
SetVehicleParamsCarDoors(GetPlayerCameraTargetVehicle(playerid), VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF);
}*/
return 1;
}
if(strcmp(cmd, "/opencarwindows", true ) == 0)
{
if(GetPlayerVehicleID(playerid) && GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID)
{
SetVehicleParamsCarWindows(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF);
}
return 1;
}
if(strcmp(cmd, "/closecarwindows", true ) == 0)
{
if(GetPlayerVehicleID(playerid) && GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID)
{
SetVehicleParamsCarWindows(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_ON, VEHICLE_PARAMS_ON, VEHICLE_PARAMS_ON, VEHICLE_PARAMS_ON);
}
return 1;
}
if(strcmp(cmd, "/spritetest", true ) == 0)
{
txtSpriteTest[0] = TextDrawCreate(100.0, 100.0, "ld_grav:timer"); // Text is txdfile:texture
TextDrawFont(txtSpriteTest[0], 4); // Font ID 4 is the sprite draw font
TextDrawColor(txtSpriteTest[0],0xFFFFFFFF);
TextDrawTextSize(txtSpriteTest[0],100.0,100.0); // Text size is the Width:Height
TextDrawShowForPlayer(playerid,txtSpriteTest[0]);
txtSpriteTest[1] = TextDrawCreate(200.0, 100.0, "ld_grav:bee2"); // Text is txdfile:texture
TextDrawFont(txtSpriteTest[1], 4); // Font ID 4 is the sprite draw font
TextDrawColor(txtSpriteTest[1],0xFFFFFFFF);
TextDrawTextSize(txtSpriteTest[1],100.0,100.0); // Text size is the Width:Height
TextDrawShowForPlayer(playerid,txtSpriteTest[1]);
txtSpriteTest[2] = TextDrawCreate(100.0, 200.0, "ld_slot:r_69"); // Text is txdfile:texture
TextDrawFont(txtSpriteTest[2], 4); // Font ID 4 is the sprite draw font
TextDrawColor(txtSpriteTest[2],0xFFFFFFFF);
TextDrawTextSize(txtSpriteTest[2],100.0,100.0); // Text size is the Width:Height
TextDrawShowForPlayer(playerid,txtSpriteTest[2]);
txtSpriteTest[3] = TextDrawCreate(200.0, 200.0, "ld_slot:cherry"); // Text is txdfile:texture
TextDrawFont(txtSpriteTest[3], 4); // Font ID 4 is the sprite draw font
TextDrawColor(txtSpriteTest[3],0xFFFFFFFF);
TextDrawTextSize(txtSpriteTest[3],100.0,100.0); // Text size is the Width:Height
TextDrawShowForPlayer(playerid,txtSpriteTest[3]);
txtSpriteTest[4] = TextDrawCreate(100.0, 300.0, "ld_card:cd9d"); // Text is txdfile:texture
TextDrawFont(txtSpriteTest[4], 4); // Font ID 4 is the sprite draw font
TextDrawColor(txtSpriteTest[4],0xFFFFFFFF);
TextDrawTextSize(txtSpriteTest[4],100.0,100.0); // Text size is the Width:Height
TextDrawShowForPlayer(playerid,txtSpriteTest[4]);
return 1;
}
if(strcmp(cmd, "/delspritetest", true ) == 0)
{
TextDrawDestroy(txtSpriteTest[0]);
TextDrawDestroy(txtSpriteTest[1]);
TextDrawDestroy(txtSpriteTest[2]);
TextDrawDestroy(txtSpriteTest[3]);
TextDrawDestroy(txtSpriteTest[4]);
return 1;
}
if(strcmp(cmd, "/removeallbuilding", true ) == 0)
{
RemoveBuildingForPlayer(playerid, -1, 0.0, 0.0, 0.0, 6000.0);
return 1;
}
if(strcmp(cmd, "/actoratme", true ) == 0)
{
new Float:X, Float:Y, Float:Z, Float:fang;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, fang);
test_actor_id = CreateActor(305, X+1.0, Y+1.0, Z+0.5, fang);
//SetActorInvulnerable(test_actor_id);
SetActorVirtualWorld(test_actor_id, GetPlayerVirtualWorld(playerid));
return 1;
}
if(strcmp(cmd, "/actorground", true) == 0) {
ApplyActorAnimation(test_actor_id, "BEACH", "ParkSit_M_loop", 4.0, 1, 1, 1, 1, -1);
return 1;
}
if(strcmp(cmd, "/actorclear", true) == 0) {
ClearActorAnimations(test_actor_id);
return 1;
}
if(strcmp(cmd, "/actorface", true) == 0) {
new Float:fang;
GetPlayerFacingAngle(playerid, fang);
SetActorFacingAngle(test_actor_id, fang);
return 1;
}
if(strcmp(cmd, "/actorpos", true) == 0) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetActorPos(test_actor_id, X+1.0, Y+1.0, Z);
return 1;
}
return 0;
}
//-------------------------------------------
forward KickPublic(playerid);
public KickPublic(playerid) { Kick(playerid); }
//-------------------------------------------
KickWithMessage(playerid, message[])
{
SendClientMessage(playerid, 0xFF4444FF, message);
SetTimerEx("KickPublic", 1000, 0, "d", playerid);
}
//-------------------------------------------
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
new msg[256+1];
format(msg,sizeof(msg),"(TextDraw) You selected: %d", int:clickedid);
SendClientMessage(playerid, 0xFFFFFFFF, msg);
}
//-------------------------------------------
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
new msg[256+1];
format(msg,sizeof(msg),"(PlayerTextDraw) You selected: %d", int:playertextid);
SendClientMessage(playerid, 0xFFFFFFFF, msg);
}
//-------------------------------------------
// Sends a list of all PVars to the player as
// client messages.
SendPVarListToPlayer(playerid)
{
new ubound = GetPVarsUpperIndex(playerid);
new x=0;
new name[40+1];
new line[128+1];
SendClientMessage(playerid,0xF000F0F0, "---Player Vars List---");
while(x != ubound) {
if(GetPVarNameAtIndex(playerid,x,name,40)) {
if(Util_GetPVarEntryAsString(playerid,name,line,128)) {
SendClientMessage(playerid,0xFFFFFFFF,line);
}
}
x++;
}
}
//-------------------------------------------
// return PVar entry as 'name'='value' string
stock Util_GetPVarEntryAsString(playerid, name[], ret[], len)
{
new Float:fValue;
new iValue;
new szStrValue[1024+1]; // this might require greater size if you store large strings in PVars
new type;
ret[0] = EOS;
type = GetPVarType(playerid, name);
if(type != PLAYER_VARTYPE_NONE) {
switch(type)
{
case PLAYER_VARTYPE_STRING:
{
GetPVarString(playerid,name,szStrValue,1024);
format(ret,len,"%s=%s",name,szStrValue);
}
case PLAYER_VARTYPE_INT:
{
iValue = GetPVarInt(playerid,name);
format(ret,len,"%s=%d",name,iValue);
}
case PLAYER_VARTYPE_FLOAT:
{
fValue = GetPVarFloat(playerid,name);
format(ret,len,"%s=%f",name,fValue);
}
}
return 1;
}
return 0;
}
//-------------------------------------------
// Fills the provided string with all the player's PVars
// seperated by the specified 'delimiter'
stock Util_CreatePVarList(playerid, retstr[], len, delimiter[])
{
if(!IsPlayerConnected(playerid)) return 0;
new x=0;
new remaining_string=len;
new line[2048+1];
new name[40+1];
retstr[0] = EOS;
new ubound = GetPVarsUpperIndex(playerid);
while(x != ubound) {
if(GetPVarNameAtIndex(playerid,x,name,40)) {
if(Util_GetPVarEntryAsString(playerid,name,line,2048)) {
// if there is enough space, concat this line to the return string
if(remaining_string > (strlen(line) + strlen(delimiter))) {
strcat(retstr,line);
strcat(retstr,delimiter);
remaining_string -= (strlen(line) + strlen(delimiter));
}
}
}
x++;
}
return 1;
}
//-------------------------------------------
// Test reapplying vehicle mods on respawn
public OnVehicleSpawn(vehicleid)
{
if(vehicleid == savanna) {
AddVehicleComponent(savanna,1189); //Front Bumper
AddVehicleComponent(savanna,1187); //Rear Bumper
AddVehicleComponent(savanna,1129); //Exhaust
AddVehicleComponent(savanna,1102); //Left Side Skirt
AddVehicleComponent(savanna,1133); //Right Side Skirt
AddVehicleComponent(savanna,1078); //Wheels
AddVehicleComponent(savanna,1010); //Nitro 10x
AddVehicleComponent(savanna,1087); //Hydraulics
}
else if(vehicleid == blade) {
AddVehicleComponent(blade,1182); //Front Bumper
AddVehicleComponent(blade,1184); //Rear Bumper
AddVehicleComponent(blade,1104); //Exhaust
AddVehicleComponent(blade,1108); //Left Side Skirt
AddVehicleComponent(blade,1107); //Right Side Skirt
AddVehicleComponent(blade,1078); //Wheels
AddVehicleComponent(blade,1010); //Nitro 10x
AddVehicleComponent(blade,1087); //Hydraulics
}
}
//-------------------------------------------
// Example of handling dialog responses.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(!IsPlayerAdmin(playerid)) return 0; // this is an admin only script
if(dialogid == 0) { // Our example msgbox
if(response) {
SendClientMessage(playerid,0xFFFFFFFF,"You selected OK");
} else {
SendClientMessage(playerid,0xFFFFFFFF,"You selected Cancel");
}
return 1; // we processed this. no need for other filterscripts to process it.
}
if(dialogid == 1) { // Our example inputbox
if(response) {
new message[256+1];
format(message, 256, "You replied: %s", inputtext);
SendClientMessage(playerid, 0xFFFFFFFF, message);
} else {
SendClientMessage(playerid, 0xFFFFFFFF, "You selected Cancel");
}
return 1; // we processed it.
}
if(dialogid == 2) { // Our example listbox
if(response) {
new message[256+1];
format(message, 256, "You selected item %d:", listitem);
SendClientMessage(playerid, 0xFFFFFFFF, message);
SendClientMessage(playerid, 0xFFFFFFFF, inputtext);
} else {
SendClientMessage(playerid, 0xFFFFFFFF, "You selected Cancel");
}
return 1; // we processed it.
}
return 0; // we didn't handle anything.
}
//-------------------------------------------
// Example of handling scoreboard click.
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
if(!IsPlayerAdmin(playerid)) return 0; // this is an admin only script
new message[256+1];
format(message, 256, "You clicked on player %d", clickedplayerid);
SendClientMessage(playerid, 0xFFFFFFFF, message);
return 1;
}
//-------------------------------------------
public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
{
new message[256+1];
format(message, 256, "You place marker at point: %f %f %f", fX, fY, fZ);
SendClientMessage(playerid, 0xFFFFFFFF, message);
SetPlayerPos(playerid, fX, fY, fZ);
}
//-------------------------------------------
/*
public OnPlayerEditAttachedObject( playerid, response, index, modelid, boneid,
Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ,
Float:fRotX, Float:fRotY, Float:fRotZ,
Float:fScaleX, Float:fScaleY, Float:fScaleZ )
{
SendClientMessage(playerid, 0xFFFFFFFF, "You finished editing an attached object");
SetPlayerAttachedObject(playerid,index,modelid,boneid,fOffsetX,fOffsetY,fOffsetZ,fRotX,fRotY,fRotZ,fScaleX,fScaleY,fScaleZ);
return 1;
}*/
//-------------------------------------------
public OnPlayerEditObject( playerid, playerobject, objectid, response,
Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ )
{
if(!playerobject) {
if(!IsValidObject(objectid)) return;
MoveObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
} else {
if(!IsValidPlayerObject(playerid, objectid)) return;
MovePlayerObject(playerid, objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
}
if(response == EDIT_RESPONSE_FINAL || response == EDIT_RESPONSE_CANCEL) {
// put them back in selection mode after they click save
SelectObject(playerid);
}
}
//-------------------------------------------
public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ)
{
new message[256+1];
if(type == SELECT_OBJECT_GLOBAL_OBJECT) {
if(!IsValidObject(objectid)) return 0;
format(message,sizeof(message),"(Object) You selected: %d model: %d Pos: %.4f,%.4f,%.4f", objectid, modelid, fX, fY, fZ);
SendClientMessage(playerid, 0xFFFFFFFF, message);
EditObject(playerid, objectid);
return 1;
}
if(type == SELECT_OBJECT_PLAYER_OBJECT) {
if(!IsValidPlayerObject(playerid, objectid)) return 0;
format(message,sizeof(message),"(Player Object) You selected: %d model: %d Pos: %.4f,%.4f,%.4f", objectid, modelid, fX, fY, fZ);
SendClientMessage(playerid, 0xFFFFFFFF, message);
EditPlayerObject(playerid, objectid);
return 1;
}
return 0;
}
//-------------------------------------------
/*
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new message[256+1];
new weaponname[64+1];
new File:file = fopen("playershots.txt",io_append);
GetWeaponName(weaponid, weaponname, 64);
if(hittype == BULLET_HIT_TYPE_PLAYER) {
format(message,256,"Shooter(%d) hit Player(%d) PlayerAnim: %d Using: %s [%.2f, %.2f, %.2f]\r\n", playerid, hitid,
GetPlayerAnimationIndex(hitid), weaponname, fX, fY, fZ);
}
else if(hittype == BULLET_HIT_TYPE_VEHICLE) {
format(message,256,"Shooter(%d) hit Vehicle(%d) Using: %s [%.2f, %.2f, %.2f]\r\n",playerid, hitid, weaponname, fX, fY, fZ);
}
else if(hittype == BULLET_HIT_TYPE_NONE) {
format(message,256,"Shooter(%d) hit World Using: %s [%.2f, %.2f, %.2f]\r\n",playerid,weaponname,fX,fY,fZ);
}
else {
format(message,256,"Shooter(%d) hit Object(%d) Using: %s [%.2f, %.2f, %.2f]\r\n",playerid, hitid, weaponname, fX, fY, fZ);
}
fwrite(file, message);
fclose(file);
//new LastVectors[128+1];
//new Float:OriginX, Float:OriginY, Float:OriginZ;
//new Float:HitX, Float:HitY, Float:HitZ;
//GetPlayerLastShotVectors(playerid, OriginX, OriginY, OriginZ, HitX, HitY, HitZ);
//format(LastVectors, 128, "Last Vectors: [%.2f, %.2f, %.2f] [%.2f, %.2f, %.2f]", OriginX, OriginY, OriginZ, HitX, HitY, HitZ);
//SendClientMessage(playerid, 0xFFFFFFFF, LastVectors);
SendClientMessage(playerid, 0xFFFFFFFF, message);
return 1;
}*/
//-------------------------------------------
/*
new LastShotTime = 0;
new LastShotWeapon = 0;
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new message[128+1];
if(!LastShotTime) {
LastShotTime = GetTickCount();
return 1;
}
if(weaponid == LastShotWeapon) {
format(message, 128, "WeaponId: %d LastShotDelta: %d", weaponid, GetTickCount() - LastShotTime);
SendClientMessage(playerid, 0xFFFFFFFF, message);
printf("%s", message);
}
LastShotWeapon = weaponid;
LastShotTime = GetTickCount();
return 1;
}*/
//-------------------------------------------
// Example of TakeDamage
/*
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
new File:file = fopen("playershots.txt",io_append);
new message[256+1];
new weapname[64+1];
if(issuerid != INVALID_PLAYER_ID) {
GetWeaponName(weaponid, weapname, 64);
format(message, 256, "PlayerTakeDamage(%d) from Player(%d) (%f) weapon: (%s) bodypart: %d\r\n", playerid, issuerid, amount, weapname, bodypart);
SendClientMessageToAll(0xFFFFFFFF, message);
}
else {
format(message, 256, "PlayerTakeDamage(%d) (%f) from: %d\r\n", playerid, amount, weaponid);
SendClientMessageToAll(0xFFFFFFFF, message);
}
fwrite(file, message);
fclose(file);
}*/
//-------------------------------------------
// Example of GiveDamage
/*
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart)
{
new File:file = fopen("playershots.txt",io_append);
new message[256+1];
new weapname[64+1];
GetWeaponName(weaponid, weapname, 64);
format(message, 256, "PlayerGiveDamage(%d) to Player(%d) (%f) weapon: (%s) bodypart: %d\r\n", playerid, damagedid, amount, weapname, bodypart);
fwrite(file, message);
fclose(file);
SendClientMessageToAll(0xFFFFFFFF, message);
}*/
//-------------------------------------------
/*
public OnPlayerGiveDamageActor(playerid, damaged_actorid, Float:amount, weaponid, bodypart)
{
new message[256+1];
new weapname[64+1];
GetWeaponName(weaponid, weapname, 64);
format(message, 256, "PlayerGiveDamageActor(%d) to Actor(%d) (%f) weapon: (%s) bodypart: %d\r\n", playerid, damaged_actorid, amount, weapname, bodypart);
SendClientMessageToAll(0xFFFFFFFF, message);
if(IsValidActor(damaged_actorid)) {
new Float:fActorHealth;
GetActorHealth(damaged_actorid, fActorHealth);
fActorHealth -= amount;
if(fActorHealth < 0.0) fActorHealth = 0.0;
SetActorHealth(damaged_actorid, fActorHealth);
}
}
*/
//-------------------------------------------
/*
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
return 1;
}*/
//-------------------------------------------
/*
public OnEnterExitModShop(playerid, enterexit, interiorid)
{
new message[256+1];
if(enterexit) {
format(message, 256, "You entered modshop at interior %d", interiorid);
SendClientMessage(playerid, 0xFFFFFFFF, message);
} else {
format(message, 256, "You exited the modshop");
SendClientMessage(playerid, 0xFFFFFFFF, message);
}
return 1;
}
*/
//-------------------------------------------
/*
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
new panel, doors, lights, tires;
new update_msg[128+1];
if(!IsPlayerAdmin(playerid)) return 0;
GetVehicleDamageStatus(vehicleid,panel,doors,lights,tires);
format(update_msg,128,"VehicleDamage[ID:%d PN:0x%x DR:0x%x LT:0x%x TR:0x%x]",vehicleid,panel,doors,lights,tires);
SendClientMessage(playerid,0xFFFFFFFF,update_msg);
return 1;
}*/
//-------------------------------------------
/*
public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z)
{
new update_msg[128+1];
new Float:X, Float:Y, Float:Z;
//if(!IsPlayerAdmin(playerid)) return 0;
GetVehiclePos(vehicleid, X, Y, Z);
format(update_msg,128,"NoDriverVehicleUpdate(playerid=%d vehicle=%d passenger=%d cur_pos: %.2f %.2f %.2f new_pos: %.2f %.2f %.2f)",
playerid, vehicleid, passenger_seat, X, Y, Z, new_x, new_y, new_z);
SendClientMessageToAll(0xFFFFFFFF,update_msg);
return 1;
}*/
//-------------------------------------------