Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <streamer>
- #include <s_useful>
- #define CreateObject S_CreateObject
- #define CreateExplosion S_CreateExplosion
- #if defined _EXPLOSIONS_INCLUDED
- #error s_explosion déjà inclus !
- #endif
- #define _EXPLOSIONS_INCLUDED
- enum oInfo
- {
- mdid,
- Float:pos[6],
- wid = -1,
- iid = -1,
- pid = -1,
- Float:distance[2],
- objet,
- };
- new InfoObjet[1000][oInfo];
- #if defined USE_STREAMER
- stock S_CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0)
- {
- new o;
- for(o = 0; o < 1000; o++)
- {
- if(!IsValidDynamicObject(InfoObjet[o][objet])) break;
- }
- InfoObjet[o][mdid] = modelid;
- InfoObjet[o][pos][0] = x;
- InfoObjet[o][pos][1] = y;
- InfoObjet[o][pos][2] = z;
- InfoObjet[o][pos][3] = rx;
- InfoObjet[o][pos][4] = ry;
- InfoObjet[o][pos][5] = rz;
- InfoObjet[o][wid] = worldid;
- InfoObjet[o][iid] = interiorid;
- InfoObjet[o][pid] = playerid;
- InfoObjet[o][distance][0] = streamdistance;
- InfoObjet[o][distance][1] = drawdistance;
- InfoObjet[o][objet] = CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0);
- return 1;
- }
- stock S_CreateExplosion(Float:X, Float:Y, Float:Z, type, Float:radius)
- {
- for(new o = 0; o < 1000; o++)
- {
- if(!IsValidDynamicObject(InfoObjet[o][objet])) continue;
- if(IsObjectInRangeOfPoint(InfoObjet[o][objet], X, Y, Z, radius, DYNAMIC_OBJECT)) DestroyDynamicObject(InfoObjet[o][objet]);
- }
- return 1;
- }
- #else
- stock S_CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance)
- {
- new o;
- for(o = 0; o < 1000; o++)
- {
- if(!IsValidObject(InfoObjet[o][objet])) break;
- }
- InfoObjet[o][mdid] = modelid;
- InfoObjet[o][pos][0] = X;
- InfoObjet[o][pos][1] = Y;
- InfoObjet[o][pos][2] = Z;
- InfoObjet[o][pos][3] = rX;
- InfoObjet[o][pos][4] = rY;
- InfoObjet[o][pos][5] = rZ;
- InfoObjet[o][distance][1] = DrawDistance;
- InfoObjet[o][objet] = CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance);
- return 1;
- }
- stock S_CreateExplosion(Float:X, Float:Y, Float:Z, type, Float:radius)
- {
- for(new o = 0; o < 1000; o++)
- {
- if(!IsValidObject(InfoObjet[o][objet])) continue;
- if(IsObjectInRangeOfPoint(InfoObjet[o][objet], X, Y, Z, radius)) DestroyObject(InfoObjet[o][objet]);
- }
- return 1;
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement