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
Créditos
Código Fonte: Ivan - Grupo Rocks
Testes: RedKill - iPs Team
Dúvidas e comentários são bem vindos.
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.
__________________




0 comentários:
Postar um comentário