D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(34) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(35) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(36) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(38) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(39) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(40) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(42) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(43) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(44) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(45) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(73) : warning 217: loose indentation D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(101) : error 017: undefined symbol "CR_IsDynamicIdxAvailable" D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(107) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(162) : warning 202: number of arguments does not match definition Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error.
CR_CreateDynamicCol(0, obj[0], 1221, 1.5, 135.68100, -91.73073, 1.06152, 0.00000, 0.00000, 0.00000);
CR_CreateDynamicCol(1, obj[1], 1221,1.5, 134.53696, -91.79777, 1.06152, 0.00000, 0.00000, 0.00000);
CR_CreateDynamicCol(2, obj[2], 1221,1.5, 133.09566, -91.88223, 1.06152, 0.00000, 0.00000, 0.00000);
CR_CreateDynamicCol(3, obj[3], 1221,1.5, 131.76138, -91.96041, 1.06152, 0.00000, 0.00000, 0.00000);
CR_CreateDynamicCol(4, obj[4], 1221,1.5, 134.45720, -91.80853, 3.18867, 0.00000, 0.00000, 0.00000);
CR_CreateDynamicCol(5, obj[5], 1221,1.5, 133.84770, -91.83816, 2.07358, 0.00000, 0.00000, 0.00000);
CR_CreateDynamicCol(6, obj[6], 1221,1.5, 132.42287, -91.92165, 2.07358, 0.00000, 0.00000, 0.00000);
CR_CreateDynamicCol(7, obj[7], 1221,1.5, 135.06685, -91.76672, 2.07358, 0.00000, 0.00000, 0.00000);
CR_CreateDynamicCol(8, obj[8], 1221,1.5, 133.13399, -91.89931, 3.18867, 0.00000, 0.00000, 0.00000);
CR_CreateDynamicCol(9, obj[9], 1221,1.5, 133.73849, -91.85670, 4.15000, 0.00000, 0.00000, 0.00000);
if(!CR_IsDynamicIdxAvailable(10))
CR_CreateDynamicCol(10, bullet, 19342, 1.5, x + 5 * floatsin(-angle, degrees), y + 5 * floatcos(-angle, degrees), z, 0.00000, 0.00000, 0.00000, 1);
CR_CreateVehicleCol(0, vid, 418, vx, vy, vz, rx, ry, rz, rw);
It went wrong.
if (!strcmp("/throw", cmdtext, true)) //throws an object
{
new index;
new Float:vx, Float:vy, Float:vz;
GetPlayerPos(playerid, vx, vy, vz);
new Float:facing;
GetPlayerFacingAngle(playerid, facing);
new ob = CreateDynamicObject(19342, vx + 5 * floatsin(-facing, degrees), vy + 5 * floatcos(-facing, degrees), vz, 0.0, 0.0, 0.0);
index = CR_CreateDynamicCol(ob, 19342, 1.7, vx + 1 * floatsin(-facing, degrees), vy + 1 * floatcos(-facing, degrees), vz, 0.0, 0.0, 0.0, 1);
CR_ThrowObject(playerid, index, 15.0);
return 1;
}
|
Yes, I haven't edited the blowup.pwn according to the latest release yet. I will, soon.
For now try out this code: Код:
if (!strcmp("/throw", cmdtext, true)) //throws an object
{
new index;
new Float:vx, Float:vy, Float:vz;
GetPlayerPos(playerid, vx, vy, vz);
new Float:facing;
GetPlayerFacingAngle(playerid, facing);
new ob = CreateDynamicObject(19342, vx + 5 * floatsin(-facing, degrees), vy + 5 * floatcos(-facing, degrees), vz, 0.0, 0.0, 0.0);
index = CR_CreateDynamicCol(ob, 19342, 1.7, vx + 1 * floatsin(-facing, degrees), vy + 1 * floatcos(-facing, degrees), vz, 0.0, 0.0, 0.0, 1);
CR_ThrowObject(playerid, index, 15.0);
return 1;
}
|
D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(34) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(35) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(36) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(38) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(39) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(40) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(42) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(43) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(44) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(45) : warning 213: tag mismatch D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(116) : warning 219: local variable "vx" shadows a variable at a preceding level D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(116) : warning 219: local variable "vy" shadows a variable at a preceding level D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(116) : warning 219: local variable "vz" shadows a variable at a preceding level D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(175) : warning 202: number of arguments does not match definition D:\Server\Server\SA-MP Server\gamemodes\blowup.pwn(330) : warning 203: symbol is never used: "bullet"
CR_Load(); CR_SetWorldGravity(0.0, 0.0, -3.5); CR_EnableSimulation();
if (!strcmp("/throw", cmdtext, true)) //throws an object
{
new index;
new Float:vx, Float:vy, Float:vz;
GetPlayerPos(playerid, vx, vy, vz);
new Float:facing;
GetPlayerFacingAngle(playerid, facing);
new ob = CreateDynamicObject(19342, vx + 5 * floatsin(-facing, degrees), vy + 5 * floatcos(-facing, degrees), vz, 0.0, 0.0, 0.0);
index = CR_CreateDynamicCol(ob, 19342, 1.7, vx + 1 * floatsin(-facing, degrees), vy + 1 * floatcos(-facing, degrees), vz, 0.0, 0.0, 0.0, 1);
CR_ThrowObject(playerid, index, 15.0);
return 1;
}
enum MatrixParts
{
mp_PITCH,
mp_ROLL,
mp_YAW,
mp_POS
};
enum MatrixIndicator
{
Float:mi_X,
Float:mi_Y,
Float:mi_Z
};
stock GetVehicleMatrix(vehicleid,Mat4x3[MatrixParts][MatrixIndicator])
{
//initial processing step - gathering information
new
Float:x,
Float:y,
Float:z,
Float:w,
Float:Pos[3];
GetVehicleRotationQuat(vehicleid,w,x,y,z);
GetVehiclePos(vehicleid,Pos[0],Pos[1],Pos[2]);
new
Float:x2 = x * x,
Float:y2 = y * y,
Float:z2 = z * z,
Float:xy = x * y,
Float:xz = x * z,
Float:yz = y * z,
Float:wx = w * x,
Float:wy = w * y,
Float:wz = w * z;
Mat4x3[mp_PITCH][mi_X] = 1.0 - 2.0 * (y2 + z2);
Mat4x3[mp_PITCH][mi_Y] = 2.0 * (xy - wz);
Mat4x3[mp_PITCH][mi_Z] = 2.0 * (xz + wy);
Mat4x3[mp_ROLL][mi_X] = 2.0 * (xy + wz);
Mat4x3[mp_ROLL][mi_Y] = 1.0 - 2.0 * (x2 + z2);
Mat4x3[mp_ROLL][mi_Z] = 2.0 * (yz - wx);
Mat4x3[mp_YAW][mi_X] = 2.0 * (xz - wy);
Mat4x3[mp_YAW][mi_Y] = 2.0 * (yz + wx);
Mat4x3[mp_YAW][mi_Z] = 1.0 - 2.0 * (x2 + y2);
Mat4x3[mp_POS][mi_X] = Pos[0];
Mat4x3[mp_POS][mi_Y] = Pos[1];
Mat4x3[mp_POS][mi_Z] = Pos[2];
return 1;
}
stock PositionFromVehicleOffset(vehicle,Float:offX,Float:offY,Float:offZ,&Float:x,&Float:y,&Float:z)
{
new Mat4x3[MatrixParts][MatrixIndicator];
GetVehicleMatrix(vehicle,Mat4x3);
x = offX * Mat4x3[mp_PITCH][mi_X] + offY * Mat4x3[mp_ROLL][mi_X] + offZ * Mat4x3[mp_YAW][mi_X] + Mat4x3[mp_POS][mi_X];
y = offX * Mat4x3[mp_PITCH][mi_Y] + offY * Mat4x3[mp_ROLL][mi_Y] + offZ * Mat4x3[mp_YAW][mi_Y] + Mat4x3[mp_POS][mi_Y];
z = offX * Mat4x3[mp_PITCH][mi_Z] + offY * Mat4x3[mp_ROLL][mi_Z] + offZ * Mat4x3[mp_YAW][mi_Z] + Mat4x3[mp_POS][mi_Z];
return 1;
}
PositionFromVehicleOffset(vehid,0.0, 0.0, 2.0,x, y, z); CreateObject(343, x, y, z, 0.0, 0.0, 0.0); // creates a point at a height of 2 meters from the car no matter how it is tilted
|
Код:
enum MatrixParts
{
mp_PITCH,
mp_ROLL,
mp_YAW,
mp_POS
};
enum MatrixIndicator
{
Float:mi_X,
Float:mi_Y,
Float:mi_Z
};
stock GetVehicleMatrix(vehicleid,Mat4x3[MatrixParts][MatrixIndicator])
{
//initial processing step - gathering information
new
Float:x,
Float:y,
Float:z,
Float:w,
Float:Pos[3];
GetVehicleRotationQuat(vehicleid,w,x,y,z);
GetVehiclePos(vehicleid,Pos[0],Pos[1],Pos[2]);
new
Float:x2 = x * x,
Float:y2 = y * y,
Float:z2 = z * z,
Float:xy = x * y,
Float:xz = x * z,
Float:yz = y * z,
Float:wx = w * x,
Float:wy = w * y,
Float:wz = w * z;
Mat4x3[mp_PITCH][mi_X] = 1.0 - 2.0 * (y2 + z2);
Mat4x3[mp_PITCH][mi_Y] = 2.0 * (xy - wz);
Mat4x3[mp_PITCH][mi_Z] = 2.0 * (xz + wy);
Mat4x3[mp_ROLL][mi_X] = 2.0 * (xy + wz);
Mat4x3[mp_ROLL][mi_Y] = 1.0 - 2.0 * (x2 + z2);
Mat4x3[mp_ROLL][mi_Z] = 2.0 * (yz - wx);
Mat4x3[mp_YAW][mi_X] = 2.0 * (xz - wy);
Mat4x3[mp_YAW][mi_Y] = 2.0 * (yz + wx);
Mat4x3[mp_YAW][mi_Z] = 1.0 - 2.0 * (x2 + y2);
Mat4x3[mp_POS][mi_X] = Pos[0];
Mat4x3[mp_POS][mi_Y] = Pos[1];
Mat4x3[mp_POS][mi_Z] = Pos[2];
return 1;
}
stock PositionFromVehicleOffset(vehicle,Float:offX,Float:offY,Float:offZ,&Float:x,&Float:y,&Float:z)
{
new Mat4x3[MatrixParts][MatrixIndicator];
GetVehicleMatrix(vehicle,Mat4x3);
x = offX * Mat4x3[mp_PITCH][mi_X] + offY * Mat4x3[mp_ROLL][mi_X] + offZ * Mat4x3[mp_YAW][mi_X] + Mat4x3[mp_POS][mi_X];
y = offX * Mat4x3[mp_PITCH][mi_Y] + offY * Mat4x3[mp_ROLL][mi_Y] + offZ * Mat4x3[mp_YAW][mi_Y] + Mat4x3[mp_POS][mi_Y];
z = offX * Mat4x3[mp_PITCH][mi_Z] + offY * Mat4x3[mp_ROLL][mi_Z] + offZ * Mat4x3[mp_YAW][mi_Z] + Mat4x3[mp_POS][mi_Z];
return 1;
}
Код:
PositionFromVehicleOffset(vehid,0.0, 0.0, 2.0,x, y, z); CreateObject(343, x, y, z, 0.0, 0.0, 0.0); // creates a point at a height of 2 meters from the car no matter how it is tilted |
|
cimulator-1.10 has been released.
Update Notes: - added support for water collisions. Thank you for supporting this plugin, I am signing off today from SAMP. Keep increasing the limit of this community. -codectile |
[14:36:47] Time taken to load the collision map: 1ms [14:36:47] [debug] Server crashed while executing gm.amx [14:36:47] [debug] AMX backtrace: [14:36:47] [debug] #0 native CR_Load () from cimulator.DLL [14:36:47] [debug] #1 001b7288 in public VFUNC_OnGameModeInit () from gm.amx [14:36:47] [debug] #2 0004c318 in public Itter_OnGameModeInit () from gm.amx [14:36:47] [debug] #3 native CallLocalFunction () from samp-server.exe [14:36:47] [debug] #4 0004b5f0 in public ScriptInit_OnGameModeInit () from gm.amx [14:36:47] [debug] #5 0004a5d8 in public SSCANF_OnGameModeInit () from gm.amx [14:36:47] [debug] #6 000401d4 in public ac_OnGameModeInit () from gm.amx [14:36:47] [debug] #7 000217a4 in public WC_OnGameModeInit () from gm.amx [14:36:47] [debug] #8 00004b04 in public OnGameModeInit () from gm.amx [14:36:47] [debug] Native backtrace: [14:36:47] [debug] #0 7130504c in ?? () from plugins\cimulator.DLL [14:36:47] [debug] #1 71307f50 in ?? () from plugins\cimulator.DLL [14:36:47] [debug] #2 004010b6 in ?? () from samp-server.exe [14:36:47] [debug] #3 711562ca in ?? () from plugins\crashdetect.DLL [14:36:47] [debug] #4 71158b28 in ?? () from plugins\crashdetect.DLL [14:36:47] [debug] #5 711509c7 in ?? () from plugins\crashdetect.DLL [14:36:47] [debug] #6 7115631a in ?? () from plugins\crashdetect.DLL [14:36:47] [debug] #7 70fa4509 in ?? () from plugins\streamer.DLL [14:36:47] [debug] #8 004746be in ?? () from samp-server.exe [14:36:47] [debug] #9 004010b6 in ?? () from samp-server.exe [14:36:47] [debug] #10 711562ca in ?? () from plugins\crashdetect.DLL [14:36:47] [debug] #11 71158b28 in ?? () from plugins\crashdetect.DLL [14:36:47] [debug] #12 711509c7 in ?? () from plugins\crashdetect.DLL [14:36:47] [debug] #13 7115631a in ?? () from plugins\crashdetect.DLL [14:36:47] [debug] #14 70fa4509 in ?? () from plugins\streamer.DLL [14:36:47] [debug] #15 0046f654 in ?? () from samp-server.exe [14:36:47] [debug] #16 65646f6d in ?? () from samp-server.exe [14:36:47] [debug] #17 61622f73 in ?? () from samp-server.exe [14:36:47] [debug] #18 612e6572 in ?? () from samp-server.exe