Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #tryinclude <streamer>
- /******************
- Defines
- ******************/
- /****************
- Maximums
- ****************/
- #if defined MAX_OBJECTS
- #undef MAX_OBJECTS
- #endif
- #if defined MAX_PICKUPS
- #undef MAX_PICKUPS
- #endif
- #if defined MAX_3DTEXT_GLOBAL
- #undef MAX_3DTEXT_GLOBAL
- #endif
- #define MAX_OBJECTS 500
- #define MAX_PICKUPS 1024
- #define MAX_CP 1000
- #define MAX_RACE_CP 1000
- #define MAX_CIRCLES 250
- #define MAX_SPHERES 250
- #define MAX_RECTANGLES 250
- #define MAX_CUBES 250
- #define MAX_POLYGONS 250
- #define MAX_3DTEXT_GLOBAL 1024
- #define MAX_MAP_ICONS 1000
- #define MAX_POLYGON_POINTS 100
- #define MAX_TEXT_LABEL_SIZE 1024
- /**************
- Enums
- **************/
- enum oInfo
- {
- model,
- Float:pos[6],
- integer[3],
- Float:distance[2],
- objet,
- };
- enum pInfo
- {
- Float:pos[3],
- model,
- ptype,
- integer[3],
- Float:distance,
- pickup,
- };
- enum cpInfo
- {
- Float:pos[3],
- Float:taille,
- Float:distance,
- integer[3],
- cp,
- };
- enum rcpInfo
- {
- ctype,
- Float:pos[6],
- Float:taille,
- integer[3],
- Float:distance,
- rcp,
- };
- enum miInfo
- {
- Float:pos[3],
- mtype,
- couleur,
- integer[3],
- Float:distance,
- cstyle,
- mapicon,
- };
- enum tInfo
- {
- texte[MAX_TEXT_LABEL_SIZE],
- Float:pos[3],
- couleur,
- Float:distance[2],
- attachedp,
- attachedv,
- integer[4],
- Text3D:label,
- };
- enum cInfo
- {
- Float:pos[2],
- Float:taille,
- integer[3],
- circle,
- };
- enum rInfo
- {
- Float:pos[4],
- integer[3],
- rectangle,
- };
- enum sInfo
- {
- Float:pos[3],
- Float:taille,
- integer[3],
- sphere,
- };
- enum cuInfo
- {
- Float:pos[6],
- integer[3],
- cube,
- };
- enum poInfo
- {
- Float:point[MAX_POLYGON_POINTS],
- Float:minmax[2],
- maxpoint,
- integer[3],
- polygon,
- };
- /****************************
- Arrays - Initialisation
- ****************************/
- new InfoObjet[MAX_OBJECTS][oInfo];
- new InfoPickup[MAX_PICKUPS][pInfo];
- new InfoCP[MAX_CP][cpInfo];
- new InfoRCP[MAX_RACE_CP][rcpInfo];
- new InfoCircle[MAX_CIRCLES][cInfo];
- new InfoRectangle[MAX_RECTANGLES][rInfo];
- new InfoSphere[MAX_SPHERES][sInfo];
- new InfoCube[MAX_CUBES][cuInfo];
- new InfoPoly[MAX_POLYGONS][poInfo];
- new InfoMapIcon[MAX_MAP_ICONS][miInfo];
- new InfoLabel[MAX_3DTEXT_GLOBAL][tInfo];
- /*************************************
- Refonte/Ajouts de fonctions
- Partie "principale" de l'include
- *************************************/
- /*********************************************
- Crédits : Vince, Gabriel Larcus Cordes
- *********************************************/
- new p, o, c, r;
- stock Float:GetDistanceBetweenPoints(Float:x1,Float:y1,Float:z1, Float:x2,Float:y2,Float:z2)
- {
- return VectorSize(x1-x2, y1-y2, z1-z2);
- }
- /*******************************
- Modification - Create
- *******************************/
- 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)
- {
- if(CountDynamicObjects() == MAX_OBJECTS) return -1;
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(!IsValidDynamicObject(InfoObjet[o][objet])) break;
- }
- InfoObjet[o][model] = 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][integer][0] = worldid;
- InfoObjet[o][integer][1] = interiorid;
- InfoObjet[o][integer][2] = 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);
- if(IsValidDynamicObject(InfoObjet[o][objet])) return 1;
- else return 0;
- }
- #if defined _ALS_CreateDynamicObject
- #undef CreateDynamicObject
- #else
- #define _ALS_CreateDynamicObject
- #endif
- #define CreateDynamicObject S_CreateDynamicObject
- stock S_CreateDynamicPickup(modelid, type, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
- {
- if(CountDynamicPickups() == MAX_PICKUPS) return -1;
- for(p = 0; p < MAX_PICKUPS; p++)
- {
- if(!IsValidDynamicPickup(InfoPickup[p][pickup])) break;
- }
- InfoPickup[p][pos][0] = x;
- InfoPickup[p][pos][1] = y;
- InfoPickup[p][pos][2] = z;
- InfoPickup[p][model] = modelid;
- InfoPickup[p][ptype] = type;
- InfoPickup[p][integer][0] = worldid;
- InfoPickup[p][integer][1] = interiorid;
- InfoPickup[p][integer][2] = playerid;
- InfoPickup[p][distance] = streamdistance;
- InfoPickup[p][pickup] = CreateDynamicPickup(modelid, type, x, y, z, worldid, interiorid, playerid, streamdistance);
- if(IsValidDynamicPickup(InfoPickup[p][pickup])) return 1;
- else return 0;
- }
- #if defined _ALS_CreateDynamicPickup
- #undef CreateDynamicPickup
- #else
- #define _ALS_CreateDynamicPickup
- #endif
- #define CreateDynamicPickup S_CreateDynamicPickup
- stock S_CreateDynamicCP(x, y, z, Float:size, virtualworld = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
- {
- if(CountDynamicCPs() == MAX_CP) return -1;
- for(p = 0; p < MAX_CP; p++)
- {
- if(!IsValidDynamicCP(InfoCP[p][cp])) break;
- }
- InfoCP[p][pos][0] = x;
- InfoCP[p][pos][1] = y;
- InfoCP[p][pos][2] = z;
- InfoCP[p][taille] = size;
- InfoCP[p][distance] = streamdistance;
- InfoCP[p][integer][0] = virtualworld;
- InfoCP[p][integer][1] = interiorid;
- InfoCP[p][integer][2] = playerid;
- InfoCP[p][cp] = CreateDynamicCP(x, y, z, size, virtualworld, interiorid, playerid, streamdistance);
- if(IsValidDynamicCP(InfoCP[p][cp])) return 1;
- else return 0;
- }
- #if defined _ALS_CreateDynamicCP
- #undef CreateDynamicCP
- #else
- #define _ALS_CreateDynamicCP
- #endif
- #define CreateDynamicCP S_CreateDynamicCP
- stock S_CreateDynamicRaceCP(type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, Float:size, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
- {
- if(CountDynamicRaceCPs() == MAX_RACE_CP) return -1;
- for(p = 0; p < MAX_RACE_CP; p++)
- {
- if(!IsValidDynamicRaceCP(InfoRCP[p][rcp])) break;
- }
- InfoRCP[p][ctype] = type;
- InfoRCP[p][pos][0] = x;
- InfoRCP[p][pos][1] = y;
- InfoRCP[p][pos][2] = z;
- InfoRCP[p][pos][3] = nextx;
- InfoRCP[p][pos][4] = nexty;
- InfoRCP[p][pos][5] = nextz;
- InfoRCP[p][taille] = size;
- InfoRCP[p][integer][0] = worldid;
- InfoRCP[p][integer][1] = interiorid;
- InfoRCP[p][integer][2] = playerid;
- InfoRCP[p][distance] = streamdistance;
- InfoRCP[p][rcp] = CreateDynamicRaceCP(type, x, y, z, nextx, nexty, nextz, size, worldid, interiorid, playerid, streamdistance);
- if(IsValidDynamicRaceCP(InfoRCP[p][rcp])) return 1;
- else return 0;
- }
- #if defined _ALS_CreateDynamicRaceCP
- #undef CreateDynamicRaceCP
- #else
- #define _ALS_CreateDynamicRaceCP
- #endif
- #define CreateDynamicRaceCP S_CreateDynamicRaceCP
- stock S_CreateDynamicCircle(Float:x, Float:y, Float:size, worldid = -1, interiorid = -1, playerid = -1)
- {
- if(CountDynamicCircles() == MAX_CIRCLES) return -1;
- for(c = 0; c < MAX_CIRCLES; c++)
- {
- if(!IsValidDynamicArea(InfoCircle[c][circle])) break;
- }
- InfoCircle[c][pos][0] = x;
- InfoCircle[c][pos][1] = y;
- InfoCircle[c][taille] = size;
- InfoCircle[c][integer][0] = worldid;
- InfoCircle[c][integer][1] = interiorid;
- InfoCircle[c][integer][2] = playerid;
- InfoCircle[c][circle] = CreateDynamicCircle(x, y, size, worldid, interiorid, playerid);
- if(IsValidDynamicArea(InfoCircle[c][circle])) return 1;
- else return 0;
- }
- #if defined _ALS_CreateDynamicCircle
- #undef CreateDynamicCircle
- #else
- #define _ALS_CreateDynamicCircle
- #endif
- #define CreateDynamicCircle S_CreateDynamicCircle
- stock S_CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1)
- {
- if(CountDynamicRectangles() == MAX_RECTANGLES) return -1;
- for(r = 0; r < MAX_RECTANGLES; r++)
- {
- if(!IsValidDynamicArea(InfoRectangle[r][rectangle])) break;
- }
- InfoRectangle[r][pos][0] = minx;
- InfoRectangle[r][pos][1] = miny;
- InfoRectangle[r][pos][2] = maxx;
- InfoRectangle[r][pos][3] = maxy;
- InfoRectangle[r][integer][0] = worldid;
- InfoRectangle[r][integer][1] = interiorid;
- InfoRectangle[r][integer][2] = playerid;
- InfoRectangle[r][rectangle] = CreateDynamicRectangle(minx, miny, maxx, maxy, worldid, interiorid, playerid);
- if(IsValidDynamicArea(InfoRectangle[r][rectangle])) return 1;
- else return 0;
- }
- #if defined _ALS_CreateDynamicRectangle
- #undef CreateDynamicRectangle
- #else
- #define _ALS_CreateDynamicRectangle
- #endif
- #define CreateDynamicRectangle S_CreateDynamicRectangle
- stock S_CreateDynamicSphere(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1)
- {
- if(CountDynamicSpheres() == MAX_SPHERES) return -1;
- new s;
- for(s = 0; s < MAX_SPHERES; s++)
- {
- if(!IsValidDynamicArea(InfoSphere[s][sphere])) break;
- }
- InfoSphere[s][pos][0] = x;
- InfoSphere[s][pos][1] = y;
- InfoSphere[s][pos][2] = z;
- InfoSphere[s][taille] = size;
- InfoSphere[s][integer][0] = worldid;
- InfoSphere[s][integer][1] = interiorid;
- InfoSphere[s][integer][2] = playerid;
- InfoSphere[s][sphere] = CreateDynamicSphere(x, y, z, size, worldid, interiorid, playerid);
- if(IsValidDynamicArea(InfoSphere[s][sphere])) return 1;
- else return 0;
- }
- #if defined _ALS_CreateDynamicSphere
- #undef CreateDynamicSphere
- #else
- #define _ALS_CreateDynamicSphere
- #endif
- #define CreateDynamicSphere S_CreateDynamicSphere
- stock S_CreateDynamicCube(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz, worldid = -1, interiorid = -1, playerid = -1)
- {
- if(CountDynamicCubes() == MAX_CUBES) return -1;
- for(c = 0; c < MAX_CUBES; c++)
- {
- if(!IsValidDynamicArea(InfoCube[c][cube])) break;
- }
- InfoCube[c][pos][0] = minx;
- InfoCube[c][pos][1] = miny;
- InfoCube[c][pos][2] = minz;
- InfoCube[c][pos][3] = maxx;
- InfoCube[c][pos][4] = maxy;
- InfoCube[c][pos][5] = maxz;
- InfoCube[c][integer][0] = worldid;
- InfoCube[c][integer][1] = interiorid;
- InfoCube[c][integer][2] = playerid;
- InfoCube[c][cube] = CreateDynamicCube(minx, miny, minz, maxx, maxy, maxz, worldid, interiorid, playerid);
- if(IsValidDynamicArea(InfoCube[c][cube])) return 1;
- else return 0;
- }
- #if defined _ALS_CreateDynamicCube
- #undef CreateDynamicCube
- #else
- #define _ALS_CreateDynamicCube
- #endif
- #define CreateDynamicCube S_CreateDynamicCube
- stock S_CreateDynamicPolygon(Float:points[], Float:minz = -FLOAT_INFINITY, Float:maxz = FLOAT_INFINITY, maxpoints = MAX_POLYGON_POINTS, worldid = -1, interiorid = -1, playerid = -1)
- {
- if(CountDynamicPolygons() == MAX_POLYGONS) return -1;
- new i;
- for(p = 0; p < MAX_POLYGONS; p++)
- {
- if(!IsValidDynamicArea(InfoPoly[p][polygon])) break;
- }
- for(i = 0; i < MAX_POLYGON_POINTS; i++)
- {
- InfoPoly[p][point][i] = points[i];
- }
- InfoPoly[p][minmax][0] = minz;
- InfoPoly[p][minmax][1] = maxz;
- InfoPoly[p][maxpoint] = maxpoints;
- InfoPoly[p][integer][0] = worldid;
- InfoPoly[p][integer][1] = interiorid;
- InfoPoly[p][integer][2] = playerid;
- InfoPoly[p][polygon] = CreateDynamicPolygon(points, minz, maxz, maxpoints, worldid, interiorid, playerid);
- if(IsValidDynamicArea(InfoPoly[p][polygon])) return 1;
- else return 0;
- }
- #if defined _ALS_CreateDynamicPolygon
- #undef CreateDynamicPolygon
- #else
- #define _ALS_CreateDynamicPolygon
- #endif
- #define CreateDynamicPolygon S_CreateDynamicPolygon
- stock Text3D:S_CreateDynamic3DTextLabel(const text[MAX_TEXT_LABEL_SIZE], color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
- {
- if(CountDynamic3DTextLabels() == MAX_3DTEXT_GLOBAL) return -1;
- new l;
- for(l = 0; l < MAX_3DTEXT_GLOBAL; l++)
- {
- if(!IsValidDynamic3DTextLabel(InfoLabel[l][label])) break;
- }
- InfoLabel[l][texte] = text;
- InfoLabel[l][couleur] = color;
- InfoLabel[l][pos][0] = x;
- InfoLabel[l][pos][1] = y;
- InfoLabel[l][pos][2] = z;
- InfoLabel[l][distance][0] = drawdistance;
- InfoLabel[l][attachedp] = attachedplayer;
- InfoLabel[l][attachedv] = attachedvehicle;
- InfoLabel[l][integer][0] = worldid;
- InfoLabel[l][integer][1] = interiorid;
- InfoLabel[l][integer][2] = playerid;
- InfoLabel[l][integer][3] = testlos;
- InfoLabel[l][distance][1] = streamdistance;
- return InfoLabel[l][label];
- }
- #if defined _ALS_CreateDynamic3DTextLabel
- #undef CreateDynamic3DTextLabel
- #else
- #define _ALS_CreateDynamic3DTextLabel
- #endif
- #define CreateDynamic3DTextLabel S_CreateDynamic3DTextLabel
- stock S_CreateDynamicMapIcon(Float:x, Float:y, Float:z, type, color, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0, style = MAPICON_LOCAL)
- {
- if(CountDynamicMapIcons() == MAX_MAP_ICONS) return -1;
- new m;
- for(m = 0; m < MAX_MAP_ICONS; m++)
- {
- if(!IsValidDynamicMapIcon(InfoMapIcon[m][mapicon])) break;
- }
- InfoMapIcon[m][pos][0] = x;
- InfoMapIcon[m][pos][1] = y;
- InfoMapIcon[m][pos][2] = z;
- InfoMapIcon[m][mtype] = type;
- InfoMapIcon[m][couleur] = color;
- InfoMapIcon[m][integer][0] = worldid;
- InfoMapIcon[m][integer][1] = interiorid;
- InfoMapIcon[m][integer][2] = playerid;
- InfoMapIcon[m][distance] = streamdistance;
- InfoMapIcon[m][cstyle] = style;
- InfoMapIcon[m][mapicon] = CreateDynamicMapIcon(x, y, z, type, color, worldid, interiorid, playerid, streamdistance, style);
- if(IsValidDynamicMapIcon(InfoMapIcon[m][mapicon])) return 1;
- else return 0;
- }
- #if defined _ALS_CreateDynamicMapIcon
- #undef CreateDynamicMapIcon
- #else
- #define _ALS_CreateDynamicMapIcon
- #endif
- #define CreateDynamicMapIcon S_CreateDynamicMapIcon
- /**************************
- Création - CountItems
- **************************/
- stock CountDynamicPolygons()
- {
- new po;
- for(p = 0; p < MAX_POLYGONS; p++)
- {
- if(!IsValidDynamicArea(InfoPoly[p][polygon])) po++;
- }
- return po;
- }
- stock CountDynamicCubes()
- {
- new cu;
- for(c = 0; c < MAX_CUBES; c++)
- {
- if(IsValidDynamicArea(InfoCube[c][cube])) cu++;
- }
- return cu;
- }
- stock CountDynamicSpheres()
- {
- new sp;
- for(new s = 0; s < MAX_SPHERES; s++)
- {
- if(IsValidDynamicArea(InfoSphere[s][sphere])) sp++;
- }
- return sp;
- }
- stock CountDynamicRectangles()
- {
- new re;
- for(r = 0; r < MAX_RECTANGLES; r++)
- {
- if(IsValidDynamicArea(InfoRectangle[r][rectangle])) re++;
- }
- return re;
- }
- stock CountDynamicCircles()
- {
- new ci;
- for(c = 0; c < MAX_CIRCLES; c++)
- {
- if(IsValidDynamicArea(InfoCircle[c][circle])) ci++;
- }
- return ci;
- }
- /******************************
- J'trouve pas de nom
- à donner à cette partie
- ******************************/
- /*******************
- Objets
- *******************/
- stock GetDynamicObjectModel(objectid)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid) return InfoObjet[o][model];
- }
- return -1;
- }
- stock SetDynamicObjectModel(objectid, modelid)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid)
- {
- InfoObjet[o][model] = modelid;
- DestroyDynamicObject(InfoObjet[o][objet]);
- InfoObjet[o][objet] = CreateDynamicObject(InfoObjet[o][model], InfoObjet[o][pos][0], InfoObjet[o][pos][1], InfoObjet[o][pos][2], InfoObjet[o][pos][3], InfoObjet[o][pos][4], InfoObjet[o][pos][5], InfoObjet[o][integer][0], InfoObjet[o][integer][1], InfoObjet[o][integer][2], InfoObjet[o][distance][0], InfoObjet[o][distance][1]);
- if(IsValidDynamicObject(InfoObjet[o][objet])) return 1;
- else return 0;
- }
- }
- }
- stock GetDynamicObjectStreamParams(objectid, &worldid, &interiorid, &playerid)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid)
- {
- worldid = InfoObjet[o][integer][0];
- interiorid = InfoObjet[o][integer][1];
- playerid = InfoObjet[o][integer][2];
- }
- }
- return -1;
- }
- stock SetDynamicObjectStreamParams(objectid, worldid = -1, interiorid = -1, playerid = -1)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid)
- {
- InfoObjet[o][integer][0] = worldid;
- InfoObjet[o][integer][1] = interiorid;
- InfoObjet[o][integer][2] = playerid;
- DestroyDynamicObject(InfoObjet[o][objet]);
- InfoObjet[o][objet] = CreateDynamicObject(InfoObjet[o][model], InfoObjet[o][pos][0], InfoObjet[o][pos][1], InfoObjet[o][pos][2], InfoObjet[o][pos][3], InfoObjet[o][pos][4], InfoObjet[o][pos][5], InfoObjet[o][integer][0], InfoObjet[o][integer][1], InfoObjet[o][integer][2], InfoObjet[o][distance][0], InfoObjet[o][distance][1]);
- if(IsValidDynamicObject(InfoObjet[o][objet])) return 1;
- else return 0;
- }
- }
- }
- stock Float:GetDynamicObjectStreamDistance(objectid)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid) return InfoObjet[o][distance][0];
- }
- return -1.0;
- }
- stock Float:GetDynamicObjectDrawDistance(objectid)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid) return InfoObjet[o][distance][1];
- }
- return -1.0;
- }
- stock SetDynamicObjectStreamDistance(objectid, Float:streamdistance)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid)
- {
- InfoObjet[o][distance][0] = streamdistance;
- DestroyDynamicObject(InfoObjet[o][objet]);
- InfoObjet[o][objet] = CreateDynamicObject(InfoObjet[o][model], InfoObjet[o][pos][0], InfoObjet[o][pos][1], InfoObjet[o][pos][2], InfoObjet[o][pos][3], InfoObjet[o][pos][4], InfoObjet[o][pos][5], InfoObjet[o][integer][0], InfoObjet[o][integer][1], InfoObjet[o][integer][2], InfoObjet[o][distance][0], InfoObjet[o][distance][1]);
- if(IsValidDynamicObject(InfoObjet[o][objet])) return 1;
- else return 0;
- }
- }
- }
- stock SetDynamicObjectDrawDistance(objectid, Float:drawdistance)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid)
- {
- InfoObjet[o][distance][1] = drawdistance;
- DestroyDynamicObject(InfoObjet[o][objet]);
- InfoObjet[o][objet] = CreateDynamicObject(InfoObjet[o][model], InfoObjet[o][pos][0], InfoObjet[o][pos][1], InfoObjet[o][pos][2], InfoObjet[o][pos][3], InfoObjet[o][pos][4], InfoObjet[o][pos][5], InfoObjet[o][integer][0], InfoObjet[o][integer][1], InfoObjet[o][integer][2], InfoObjet[o][distance][0], InfoObjet[o][distance][1]);
- if(IsValidDynamicObject(InfoObjet[o][objet])) return 1;
- else return 0;
- }
- }
- }
- stock IsPlayerInRangeOfDynamicObject(playerid, objectid, Float:radi = 5.0)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- new Float:pos[3];
- GetDynamicObjectPos(objectid, pos[0], pos[1], pos[2]);
- if(IsPlayerInRangeOfPoint(playerid, radi, pos[0], pos[1], pos[2])) return true;
- else return false;
- }
- stock IsDynamicObjectInRangeOfPoint(objectid, Float:x, Float:y, Float:z, Float:radi = 5.0)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- new pos[3];
- GetDynamicObjectPos(objectid, pos[0], pos[1], pos[2]);
- if(GetDistanceBetweenPoints(pos[0], pos[1], pos[2], x, y, z) <= radi) return true;
- else return false;
- }
- stock GetNearestObjectFromObject(objectid, Float:radi = 0.3)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- new Float:opos[3];
- GetDynamicObjectPos(objectid, opos[0], opos[1], opos[2]);
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid) continue;
- if(GetDistanceBetweenPoints(opos[0], opos[1], opos[2], InfoObjet[o][pos][0], InfoObjet[o][pos][1], InfoObjet[o][pos][2]) <= radi) return InfoObjet[o][objet];
- }
- return -1;
- }
- stock GetNearestObjectFromVehicle(objectid, vehicleid, Float:radi = 1.0)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- new Float:vpos[3];
- GetVehiclePos(vehicleid, vpos[0], vpos[1], vpos[2]);
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid) continue;
- if(GetDistanceBetweenPoints(vpos[0], vpos[1], vpos[2], InfoObjet[o][pos][0], InfoObjet[o][pos][1], InfoObjet[o][pos][2]) <= radi) return InfoObjet[o][objet];
- }
- return -1;
- }
- stock GetNearestObjectFromPlayer(objectid, playerid, Float:radi = 0.5)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- new Float:ppos[3];
- GetPlayerPos(playerid, ppos[0], ppos[1], ppos[2]);
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid) continue;
- if(GetDistanceBetweenPoints(ppos[0], ppos[1], ppos[2], InfoObjet[o][pos][0], InfoObjet[o][pos][1], InfoObjet[o][pos][2]) <= radi) return InfoObjet[o][objet];
- }
- return -1;
- }
- stock GetNearestObjectFromPickup(objectid, pickupid, Float:radi = 1.0)
- {
- if(!IsValidDynamicObject(objectid)) return -1;
- new Float:ppos[3];
- GetDynamicPickupPos(pickupid, ppos[0], ppos[1], ppos[2]);
- for(o = 0; o < MAX_OBJECTS; o++)
- {
- if(InfoObjet[o][objet] == objectid) continue;
- if(GetDistanceBetweenPoints(ppos[0], ppos[1], ppos[2], InfoObjet[o][pos][0], InfoObjet[o][pos][1], InfoObjet[o][pos][2]) <= radi) return InfoObjet[o][objet];
- }
- return -1;
- }
- /*******************
- Pickups
- *******************/
- stock GetDynamicPickupPos(pickupid, &Float:x, &Float:y, &Float:z)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- for(p = 0; p < MAX_PICKUPS; p++)
- {
- if(pickupid == InfoPickup[p][pickup])
- {
- x = InfoPickup[p][pos][0];
- y = InfoPickup[p][pos][1];
- z = InfoPickup[p][pos][2];
- break;
- }
- }
- return -1;
- }
- stock SetDynamicPickupPos(pickupid, Float:x, Float:y, Float:z)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- for(p = 0; p < MAX_PICKUPS; p++)
- {
- if(pickupid == InfoPickup[p][pickup])
- {
- InfoPickup[p][pos][0] = x;
- InfoPickup[p][pos][1] = y;
- InfoPickup[p][pos][2] = z;
- DestroyDynamicPickup(InfoPickup[p][pickup]);
- InfoPickup[p][pickup] = CreateDynamicPickup(InfoPickup[p][model], InfoPickup[p][ptype], InfoPickup[p][pos][0], InfoPickup[p][pos][1], InfoPickup[p][pos][2], InfoPickup[p][integer][0], InfoPickup[p][integer][1], InfoPickup[p][integer][2], InfoPickup[p][distance]);
- if(IsValidDynamicPickup(InfoPickup[p][pickup])) return 1;
- else return 0;
- }
- }
- }
- stock GetDynamicPickupType(pickupid)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- for(p = 0; p < MAX_PICKUPS; p++)
- {
- if(pickupid == InfoPickup[p][pickup])
- {
- return InfoPickup[p][type];
- }
- }
- return -1;
- }
- stock SetDynamicPickupType(pickupid, type)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- for(p = 0; p < MAX_PICKUPS; p++)
- {
- if(pickupid == InfoPickup[p][pickup])
- {
- InfoPickup[p][ptype] = type;
- DestroyDynamicPickup(InfoPickup[p][pickup]);
- InfoPickup[p][pickup] = CreateDynamicPickup(InfoPickup[p][model], InfoPickup[p][ptype], InfoPickup[p][pos][0], InfoPickup[p][pos][1], InfoPickup[p][pos][2], InfoPickup[p][integer][0], InfoPickup[p][integer][1], InfoPickup[p][integer][2], InfoPickup[p][distance]);
- if(IsValidDynamicPickup(InfoPickup[p][pickup])) return 1;
- else return 0;
- }
- }
- }
- stock GetDynamicPickupStreamParams(pickupid, &worldid, &interiorid, &playerid)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- for(p = 0; p < MAX_PICKUPS; p++)
- {
- if(pickupid == InfoPickup[p][pickup])
- {
- worldid = InfoPickup[p][integer][0];
- interiorid = InfoPickup[p][integer][1];
- playerid = InfoPickup[p][integer][2];
- break;
- }
- }
- worldid = -1;
- interiorid = -1;
- playerid = -1;
- }
- stock SetDynamicPickupStreamParams(pickupid, worldid, interiorid, playerid)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- for(p = 0; p < MAX_PICKUPS; p++)
- {
- if(pickupid == InfoPickup[p][pickup])
- {
- InfoPickup[p][integer][0] = worldid;
- InfoPickup[p][integer][1] = interiorid;
- InfoPickup[p][integer][2] = playerid;
- DestroyDynamicPickup(InfoPickup[p][pickup]);
- InfoPickup[p][pickup] = CreateDynamicPickup(InfoPickup[p][model], InfoPickup[p][ptype], InfoPickup[p][pos][0], InfoPickup[p][pos][1], InfoPickup[p][pos][2], InfoPickup[p][integer][0], InfoPickup[p][integer][1], InfoPickup[p][integer][2], InfoPickup[p][distance]);
- if(IsValidDynamicPickup(InfoPickup[p][pickup])) return 1;
- else return 0;
- }
- }
- }
- stock GetDynamicPickupModel(pickupid)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- for(p = 0; p < MAX_PICKUPS; p++)
- {
- if(pickupid == InfoPickup[p][pickup]) return InfoPickup[p][model];
- }
- return -1;
- }
- stock SetDynamicPickupModel(pickupid, modelid)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- for(p = 0; p < MAX_PICKUPS; p++)
- {
- if(pickupid == InfoPickup[p][pickup])
- {
- InfoPickup[p][model] = modelid;
- DestroyDynamicPickup(InfoPickup[p][pickup]);
- InfoPickup[p][pickup] = CreateDynamicPickup(InfoPickup[p][model], InfoPickup[p][ptype], InfoPickup[p][pos][0], InfoPickup[p][pos][1], InfoPickup[p][pos][2], InfoPickup[p][integer][0], InfoPickup[p][integer][1], InfoPickup[p][integer][2], InfoPickup[p][distance]);
- if(IsValidDynamicPickup(InfoPickup[p][pickup])) return 1;
- else return 0;
- }
- }
- }
- stock Float:GetDynamicPickupStreamDistance(pickupid)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- for(p = 0; p < MAX_PICKUPS; p++)
- {
- if(pickupid == InfoPickup[p][pickup]) return InfoPickup[p][distance];
- }
- }
- stock SetDynamicPickupStreamDistance(pickupid, Float:strdistance)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- for(p = 0; p < MAX_PICKUPS; p++)
- {
- if(pickupid == InfoPickup[p][pickup])
- {
- InfoPickup[p][distance] = strdistance;
- DestroyDynamicPickup(InfoPickup[p][pickup]);
- InfoPickup[p][pickup] = CreateDynamicPickup(InfoPickup[p][model], InfoPickup[p][ptype], InfoPickup[p][pos][0], InfoPickup[p][pos][1], InfoPickup[p][pos][2], InfoPickup[p][integer][0], InfoPickup[p][integer][1], InfoPickup[p][integer][2], InfoPickup[p][distance]);
- if(IsValidDynamicPickup(InfoPickup[p][pickup])) return 1;
- else return 0;
- }
- }
- }
- stock IsPlayerInRangeOfDynamicPickup(playerid, pickupid, Float:range = 3.0)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- new Float:pos[3];
- GetDynamicPickupPos(pickupid, pos[0], pos[1], pos[2]);
- if(IsPlayerInRangeOfPoint(playerid, range, pos[0], pos[1], pos[2])) return true;
- else return false;
- }
- stock IsDynamicPickupInRangeOfPoint(pickupid, Float:x, Float:y, Float:z, Float:range = 3.0)
- {
- if(!IsValidDynamicPickup(pickupid)) return -1;
- new Float:pos[3];
- GetDynamicPickupPos(pickupid, pos[0], pos[1], pos[2]);
- if(GetDistanceBetweenPoints(pos[0], pos[1], pos[2], x, y, z) <= range) return true;
- else return false;
- }
- /******************
- Checkpoints
- ******************/
- stock GetDynamicCPPos(checkpointid, &Float:x, &Float:y, &Float:z)
- {
- if(!IsValidDynamicCP(checkpointid)) return -1;
- for(c = 0; c < MAX_CP; c++)
- {
- if(InfoCP[c][cp] == checkpointid)
- {
- x = InfoCP[p][pos][0];
- y = InfoCP[p][pos][1];
- z = InfoCP[p][pos][2];
- break;
- }
- }
- }
- stock SetDynamicCPPos(checkpointid, Float:x, Float:y, Float:z)
- {
- if(!IsValidDynamicCP(checkpointid)) return -1;
- for(p = 0; p < MAX_CP; p++)
- {
- if(InfoCP[p][cp] == checkpointid)
- {
- InfoCP[p][pos][0] = x;
- InfoCP[p][pos][1] = y;
- InfoCP[p][pos][2] = z;
- DestroyDynamicCP(InfoCP[p][cp]);
- InfoCP[p][cp] = CreateDynamicCP(InfoCP[p][pos][0], InfoCP[p][pos][1], InfoCP[p][pos][2], InfoCP[p][taille], InfoCP[p][integer][0], InfoCP[p][integer][1], InfoCP[p][integer][2], InfoCP[p][distance]);
- if(IsValidDynamicCP(InfoCP[p][cp])) return 1;
- else return 0;
- }
- }
- }
- stock Float:GetDynamicCPSize(checkpointid)
- {
- if(!IsValidDynamicCP(checkpointid)) return -1;
- for(c = 0; c < MAX_CP; c++)
- {
- if(InfoCP[c][cp] == checkpointid) return InfoCP[c][taille];
- }
- }
- stock SetDynamicCPSize(checkpointid, Float:size)
- {
- if(!IsValidDynamicCP(checkpointid)) return -1;
- for(c = 0; c < MAX_CP; c++)
- {
- if(InfoCP[c][cp] == checkpointid)
- {
- InfoCP[c][taille] = size;
- DestroyDynamicCP(InfoCP[p][cp]);
- InfoCP[p][cp] = CreateDynamicCP(InfoCP[p][pos][0], InfoCP[p][pos][1], InfoCP[p][pos][2], InfoCP[p][taille], InfoCP[p][integer][0], InfoCP[p][integer][1], InfoCP[p][integer][2], InfoCP[p][distance]);
- if(IsValidDynamicCP(InfoCP[p][cp])) return 1;
- else return 0;
- }
- }
- }
- stock GetDynamicCPStreamParams(checkpointid, &worldid, &interiorid, &playerid)
- {
- if(!IsValidDynamicCP(checkpointid)) return -1;
- for(c = 0; c < MAX_CP; c++)
- {
- if(InfoCP[c][cp] == checkpointid)
- {
- worldid = InfoCP[c][integer][0];
- interiorid = InfoCP[c][integer][1];
- playerid = InfoCP[c][integer][2];
- }
- }
- }
- stock SetDynamicCPStreamParams(checkpointid, worldid, interiorid, playerid)
- {
- if(!IsValidDynamicCP(checkpointid)) return -1;
- for(c = 0; c < MAX_CP; c++)
- {
- if(InfoCP[c][cp] == checkpointid)
- {
- InfoCP[c][integer][0] = worldid;
- InfoCP[c][integer][1] = interiorid;
- InfoCP[c][integer][2] = playerid;
- DestroyDynamicCP(InfoCP[p][cp]);
- InfoCP[p][cp] = CreateDynamicCP(InfoCP[p][pos][0], InfoCP[p][pos][1], InfoCP[p][pos][2], InfoCP[p][taille], InfoCP[p][integer][0], InfoCP[p][integer][1], InfoCP[p][integer][2], InfoCP[p][distance]);
- if(IsValidDynamicCP(InfoCP[p][cp])) return 1;
- else return 0;
- }
- }
- }
- stock Float:GetDynamicCPStreamDistance(checkpointid)
- {
- if(!IsValidDynamicCP(checkpointid)) return -1;
- for(c = 0; c < MAX_CP; c++)
- {
- if(InfoCP[c][cp] == checkpointid) return InfoCP[c][distance];
- }
- }
- stock SetDynamicCPStreamDistance(checkpointid, Float:streamdistance)
- {
- if(!IsValidDynamicCP(checkpointid)) return -1;
- for(c = 0; c < MAX_CP; c++)
- {
- if(InfoCP[c][cp] == checkpointid)
- {
- InfoCP[c][distance] = streamdistance;
- DestroyDynamicCP(InfoCP[p][cp]);
- InfoCP[p][cp] = CreateDynamicCP(InfoCP[p][pos][0], InfoCP[p][pos][1], InfoCP[p][pos][2], InfoCP[p][taille], InfoCP[p][integer][0], InfoCP[p][integer][1], InfoCP[p][integer][2], InfoCP[p][distance]);
- if(IsValidDynamicCP(InfoCP[p][cp])) return 1;
- else return 0;
- }
- }
- }
- stock IsDynamicObjectInRangeOfCP(objectid, checkpointid, Float:range = 5.0)
- {
- if(!IsValidDynamicCP(checkpointid)) return -1;
- new Float:pos[6];
- GetDynamicObjectPos(objectid, pos[0], pos[1], pos[2]);
- GetDynamicCPPos(checkpointid, pos[3], pos[4], pos[5]);
- if(GetDistanceBetweenPoints(pos[0], pos[1], pos[2], pos[3], pos[4], pos[5]) <= radius) return true;
- else return false;
- }
- stock IsDynamicCPInRangeOfPoint(checkpointid, Float:x, Float:y, Float:z, Float:range = 5.0)
- {
- if(!IsValidDynamicCP(checkpointid)) return -1;
- new Float:pos[4];
- GetDynamicCPPos(checkpointid, pos[0], pos[1], pos[2]);
- pos[3] = GetDynamicCPSize(checkpointid);
- if(floatadd(GetDistanceBetweenPoints(pos[0], pos[1], pos[2], x, y, z), pos[3]) <= radius) return true;
- else return false;
- }
- /**********************
- Race checkpoints
- **********************/
- stock GetDynamicRaceCPType(checkpointid)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid) return InfoRCP[r][type];
- }
- }
- stock SetDynamicRaceTPType(checkpointid, type)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid)
- {
- InfoRCP[r][type] = type;
- DestroyDynamicRaceCP(InfoRCP[r][rcp]);
- InfoRCP[r][rcp] = CreateDynamicRaceCP(InfoRCP[r][type], InfoRCP[r][pos][0], InfoRCP[r][pos][1], InfoRCP[r][pos][2], InfoRCP[r][pos][3], InfoRCP[r][pos][4], InfoRCP[r][pos][5], InfoRCP[r][taille], InfoRCP[r][integer][0], InfoRCP[r][integer][1], InfoRCP[r][integer][2], InfoRCP[r][distance]);
- if(IsValidDynamicRaceCP(InfoRCP[r][rcp])) return 1;
- else return 0;
- }
- }
- }
- stock GetDynamicRCPPos(checkpointid, &Float:x, &Float:y, &Float:z)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid)
- {
- x = InfoRCP[r][pos][0];
- y = InfoRCP[r][pos][1];
- z = InfoRCP[r][pos][2];
- break;
- }
- }
- }
- stock GetDynamicRCPNextPos(checkpointid, &Float:x, &Float:y, &Float:z)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid)
- {
- x = InfoRCP[r][pos][3];
- y = InfoRCP[r][pos][4];
- z = InfoRCP[r][pos][5];
- break;
- }
- }
- }
- stock SetDynamicRCPPos(checkpointid, Float:x, Float:y, Float:z)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid)
- {
- InfoRCP[r][pos][0] = x;
- InfoRCP[r][pos][1] = y;
- InfoRCP[r][pos][2] = z;
- DestroyDynamicRaceCP(InfoRCP[r][rcp]);
- InfoRCP[r][rcp] = CreateDynamicRaceCP(InfoRCP[r][type], InfoRCP[r][pos][0], InfoRCP[r][pos][1], InfoRCP[r][pos][2], InfoRCP[r][pos][3], InfoRCP[r][pos][4], InfoRCP[r][pos][5], InfoRCP[r][taille], InfoRCP[r][integer][0], InfoRCP[r][integer][1], InfoRCP[r][integer][2], InfoRCP[r][distance]);
- if(IsValidDynamicRaceCP(InfoRCP[r][rcp])) return 1;
- else return 0;
- }
- }
- }
- stock SetDynamicRCPNextPos(checkpointid, Float:x, Float:y, Float:z)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid)
- {
- InfoRCP[r][pos][3] = x;
- InfoRCP[r][pos][4] = y;
- InfoRCP[r][pos][5] = z;
- DestroyDynamicRaceCP(InfoRCP[r][rcp]);
- InfoRCP[r][rcp] = CreateDynamicRaceCP(InfoRCP[r][type], InfoRCP[r][pos][0], InfoRCP[r][pos][1], InfoRCP[r][pos][2], InfoRCP[r][pos][3], InfoRCP[r][pos][4], InfoRCP[r][pos][5], InfoRCP[r][taille], InfoRCP[r][integer][0], InfoRCP[r][integer][1], InfoRCP[r][integer][2], InfoRCP[r][distance]);
- if(IsValidDynamicRaceCP(InfoRCP[r][rcp])) return 1;
- else return 0;
- }
- }
- }
- stock Float:GetDynamicRCPSize(checkpointid)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid) return InfoRCP[r][taille];
- }
- }
- stock SetDynamicRCPSize(checkpointid, Float:size)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid)
- {
- InfoRCP[r][taille] = size;
- DestroyDynamicRaceCP(InfoRCP[r][rcp]);
- InfoRCP[r][rcp] = CreateDynamicRaceCP(InfoRCP[r][type], InfoRCP[r][pos][0], InfoRCP[r][pos][1], InfoRCP[r][pos][2], InfoRCP[r][pos][3], InfoRCP[r][pos][4], InfoRCP[r][pos][5], InfoRCP[r][taille], InfoRCP[r][integer][0], InfoRCP[r][integer][1], InfoRCP[r][integer][2], InfoRCP[r][distance]);
- if(IsValidDynamicRaceCP(InfoRCP[r][rcp])) return 1;
- else return 0;
- }
- }
- }
- stock GetDynamicRCPStreamParams(checkpointid, &worldid, &interiorid, &playerid)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid)
- {
- worldid = InfoRCP[r][integer][0];
- interiorid = InfoRCP[r][integer][1];
- playerid = InfoRCP[r][integer][2];
- break;
- }
- }
- }
- stock SetDynamicRCPStreamParams(checkpointid, worldid, interiorid, playerid)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid)
- {
- InfoRCP[r][integer][0] = worldid;
- InfoRCP[r][integer][1] = interiorid;
- InfoRCP[r][integer][2] = playerid;
- DestroyDynamicRaceCP(InfoRCP[r][rcp]);
- InfoRCP[r][rcp] = CreateDynamicRaceCP(InfoRCP[r][type], InfoRCP[r][pos][0], InfoRCP[r][pos][1], InfoRCP[r][pos][2], InfoRCP[r][pos][3], InfoRCP[r][pos][4], InfoRCP[r][pos][5], InfoRCP[r][taille], InfoRCP[r][integer][0], InfoRCP[r][integer][1], InfoRCP[r][integer][2], InfoRCP[r][distance]);
- if(IsValidDynamicRaceCP(InfoRCP[r][rcp])) return 1;
- else return 0;
- }
- }
- }
- stock Float:GetDynamicRCPStreamDistance(checkpointid)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid) return InfoRCP[r][distance];
- }
- }
- stock SetDynamicRCPStreamDistance(checkpointid, Float:streamdistance)
- {
- if(!IsValidDynamicRaceCP(checkpointid)) return -1;
- for(r = 0; r < MAX_RACE_CP; r++)
- {
- if(InfoRCP[r][rcp] == checkpointid)
- {
- InfoRCP[r][distance] = streamdistance;
- DestroyDynamicRaceCP(InfoRCP[r][rcp]);
- InfoRCP[r][rcp] = CreateDynamicRaceCP(InfoRCP[r][type], InfoRCP[r][pos][0], InfoRCP[r][pos][1], InfoRCP[r][pos][2], InfoRCP[r][pos][3], InfoRCP[r][pos][4], InfoRCP[r][pos][5], InfoRCP[r][taille], InfoRCP[r][integer][0], InfoRCP[r][integer][1], InfoRCP[r][integer][2], InfoRCP[r][distance]);
- if(IsValidDynamicRaceCP(InfoRCP[r][rcp])) return 1;
- else return 0;
- }
- }
- }
Add Comment
Please, Sign In to add comment