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);
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