05.10.2011, 19:50
Now How i work with this Script:
Thats my property code
Thats my property code
Код:
AddProperty("PetrolPump", 2189.18, 2470.07, 11.24, 900000, 850000, 980000);
Код:
// Icons++ Icon Streamer // Credits: // Lavamike - Creator // Double-O-Seven, GoldKiller - IsPosInDistance // You may use this streamer, all I ask is you keep the credits above. #include <a_samp> // IsPosInDistance (From Double-O-Seven's Script) // He said: "BIG THX to GoldKiller" #define IsPosInDistance(%0,%1,%2,%3,%4,%5,%6) \ (((%0 - %3) * (%0 - %3)) + ((%1 - %4) * (%1 - %4)) + ((%2 - %5) * (%2 - %5)) <= %6 * %6) #define MAX_STREAMED_ICONS 100 new Icons[MAX_PLAYERS] = -1; new Float:IconLocX[MAX_PLAYERS][MAX_STREAMED_ICONS]; new Float:IconLocY[MAX_PLAYERS][MAX_STREAMED_ICONS]; new Float:IconLocZ[MAX_PLAYERS][MAX_STREAMED_ICONS]; new IconType[MAX_PLAYERS][MAX_STREAMED_ICONS]; new IconColor[MAX_PLAYERS][MAX_STREAMED_ICONS]; new IconOn[MAX_PLAYERS][MAX_STREAMED_ICONS]; stock OnMapIconConnect(playerid) { Icons[playerid] = -1; } stock OnMapIconDisconnect(playerid) { Icons[playerid] = -1; } stock CreateStreamedMapIcon(playerid, Float:X, Float:Y, Float:Z, markerType, color) { if(Icons[playerid] >= 31) { Icons[playerid]++; IconOn[playerid][Icons[playerid]] = 0; IconLocX[playerid][Icons[playerid]] = Float:X; IconLocY[playerid][Icons[playerid]] = Float:Y; IconLocZ[playerid][Icons[playerid]] = Float:Z; IconType[playerid][Icons[playerid]] = markerType; IconColor[playerid][Icons[playerid]] = color; CheckIcons(playerid); return Icons[playerid]; } else { Icons[playerid]++; IconOn[playerid][Icons[playerid]] = 1; IconLocX[playerid][Icons[playerid]] = Float:X; IconLocY[playerid][Icons[playerid]] = Float:Y; IconLocZ[playerid][Icons[playerid]] = Float:Z; IconType[playerid][Icons[playerid]] = markerType; IconColor[playerid][Icons[playerid]] = color; SetPlayerMapIcon(playerid, Icons[playerid], Float:X, Float:Y, Float:Z, markerType, color); CheckIcons(playerid); return Icons[playerid]; } } stock RemoveStreamedMapIcon(playerid, IconID) { if(IconOn[playerid][IconID]) { RemovePlayerMapIcon(playerid, IconID); if(IconID == Icons[playerid]) Icons[playerid]--; IconOn[playerid][IconID] = 0; IconLocX[playerid][IconID] = 0.0; IconLocY[playerid][IconID] = 0.0; IconLocZ[playerid][IconID] = 0.0; IconType[playerid][IconsID] = -1; IconColor[playerid][IconID] = -1; CheckIcons(playerid); return true; } else { if(IconID == Icons[playerid]) Icons[playerid]--; IconOn[playerid][Icons[playerid]] = 1; IconLocX[playerid][Icons[playerid]] = 0.0; IconLocY[playerid][Icons[playerid]] = 0.0; IconLocZ[playerid][Icons[playerid]] = 0.0; IconType[playerid][Icons[playerid]] = -1; IconColor[playerid][Icons[playerid]] = -1; CheckIcons(playerid); return true; } return false; } stock CheckIcons(playerid) { if(Icons[playerid] > 31) { new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); for(new i = 0; i < Icons[playerid]+1; i++) { /* new Float:X = IconLocX[playerid][i]; new Float:Y = IconLocY[playerid][i]; new Float:Z = IconLocZ[playerid][i]; */ if(IconOn[playerid][i] == 1) { if(!IsPosInDistance(X, Y, Z, IconLocX[playerid][i], IconLocY[playerid][i], IconLocZ[playerid][i], 300)) { RemovePlayerMapIcon(playerid, i); IconOn[playerid][i] = 0; Icons[playerid]--; } } else if(IsPosInDistance(X, Y, Z, IconLocX[playerid][i], IconLocY[playerid][i], IconLocZ[playerid][i], 300)) { new IconID = GetNextIconID(playerid); SetPlayerMapIcon(playerid, IconID, IconLocX[playerid][i], IconLocY[playerid][i], IconLocZ[playerid][i], IconType[playerid][i], IconColor[playerid][i]); } } } } stock GetNextIconID(playerid) { for(new s = 0; s < 32; s++) { if(!IconOn[playerid][s]) return s; } return -1; }