rMapIcons - Simples Streamer de MapIcons


rMapIcons

Desenvolvi esta include em função de um novo trabalho que estou realizando, que pode ser de grande utilidade para alguns.
O objetivo desta include é 'trapacear' o limite de mapicons de 100 para 400, sendo que cada jogador é independente.

Funções:

rSetPlayerMapIcon(playerid, Float: x, Float:y, Float:z, markertype, color, Float:raio);

playerid - ID do jogador que irá adiciona-lo.
Float: x - A coordenada X do MapIcon
Float:y - A coordenada Y do MapIcon
Float:z - A coordenada Z do MapIcon
markertype - ID do ícone para setar.
color - Setar uma cor no mapicon(somente iconid 0).
Float:raio - O raio de visão que o jogador poderá ter sobre o mapicon.


Retorna o ID do ícone para remover com rRemovePlayerMapIcon



rRemovePlayerMapIcon(playerid, iconid);

playerid - ID do jogador que foi adicionado o mapicon.
iconid - O ID retornado pela função rSetPlayerMapIcon.



rMapIconsUpdate(playerid);

playerid - ID do jogador para atualizar os mapicons.

Esta função retorna o número de mapicons sendo visualizados pelo jogador.


Vídeo: http://www.youtube.com/watch?v=uIj9q...ature=youtu.be


pawn Code:
////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////                                                                            ///////////// /////////////                              rMAPICONS - MAPICONS STREAMER  0.1            ///////////// /////////////                                                                            ///////////// /////////////                       Desenvolvido por [iPs]Ivanzicco / [JD]BlackFire      ///////////// /////////////                                                                            ///////////// /////////////                               [url]www.rocksbrasil.com.br[/url]                       ///////////// /////////////                             [url]www.ips-team.forumeiros.com[/url]                    ///////////// /////////////                                                                            ///////////// /////////////                                                                            ///////////// /////////////                                                                            ///////////// ////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////// #define MAX_rMAPICONS 400 new rMapIconShowID[MAX_PLAYERS][MAX_rMAPICONS]; new Float:rMapIconPosX[MAX_PLAYERS][MAX_rMAPICONS]; new Float:rMapIconPosY[MAX_PLAYERS][MAX_rMAPICONS]; new Float:rMapIconPosZ[MAX_PLAYERS][MAX_rMAPICONS]; new Float:rMapIconRaio[MAX_PLAYERS][MAX_rMAPICONS]; new rMapIconMarkerType[MAX_PLAYERS][MAX_rMAPICONS]; new rMapIconColor[MAX_PLAYERS][MAX_rMAPICONS]; stock rSetPlayerMapIcon(playerid, Float:x, Float:y, Float:z, markertype, color, Float:raio){     for(new i = 1; i<MAX_rMAPICONS; i++){         if(rMapIconPosX[playerid][i] == 0 && rMapIconPosY[playerid][i] == 0){             rMapIconPosX[playerid][i] = x;             rMapIconPosY[playerid][i] = y;             rMapIconPosZ[playerid][i] = z;             rMapIconRaio[playerid][i] = raio;             rMapIconMarkerType[playerid][i] = markertype;             rMapIconColor[playerid][i] = color;             rMapIconsUpdate(playerid);             return i;         }     }     return false; } stock rMapIconsUpdate(playerid){     new Float:x,Float:y,Float:z,mapicons = 1;     GetPlayerPos(playerid,x,y,z);     for(new i = 1; i<MAX_rMAPICONS; i++){         if(rMapIconShowID[playerid][i] > 0){RemovePlayerMapIcon(playerid,rMapIconShowID[playerid][i]);}     }     for(new i = 1; i<MAX_rMAPICONS && mapicons < 100; i++){         if(rMapIconPosX[playerid][i] != 0 || rMapIconPosY[playerid][i] != 0 || rMapIconPosZ[playerid][i] != 0){             if(GetPlayerDistanceFromPoint(playerid,rMapIconPosX[playerid][i],rMapIconPosY[playerid][i],rMapIconPosZ[playerid][i]) <= rMapIconRaio[playerid][i]){                 SetPlayerMapIcon(playerid,mapicons,rMapIconPosX[playerid][i],rMapIconPosY[playerid][i],rMapIconPosZ[playerid][i],rMapIconMarkerType[playerid][i],rMapIconColor[playerid][i],MAPICON_GLOBAL);                 rMapIconShowID[playerid][i] = mapicons;                 mapicons ++;             }         }     }     return mapicons; } stock rRemovePlayerMapIcon(playerid, iconid){     rMapIconPosX[playerid][iconid] = 0;     rMapIconPosY[playerid][iconid] = 0;     rMapIconPosZ[playerid][iconid] = 0;     rMapIconRaio[playerid][iconid] = 0;     rMapIconMarkerType[playerid][iconid] = false;     rMapIconColor[playerid][iconid] = false;     RemovePlayerMapIcon(playerid,rMapIconShowID[playerid][iconid]);     rMapIconShowID[playerid][iconid] = 0;     return true; }

Créditos

Código Fonte: Ivan - Grupo Rocks
Testes: RedKill - iPs Team



Dúvidas e comentários são bem vindos.
Attached Files
File Type: rarrMapicons.rar (771 Bytes, 2 views)
__________________

0 comentários:

Postar um comentário

Cool Red Outer Glow Pointer
▲ Ir para Topo