Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- -------------------------------------------------------------
- Pickup Text By Hirsw0w
- -------------------------------------------------------------
- Made By Hirsw0w,
- Version: 1.0.
- Bugs: No have.
- Descrption: Pickup text, that replace the normal pickup you know.
- Functions:
- HPText_CreatePickup(playerid, Type, Text[],color,Float:x,Float:y,Float:z,Float:DrawDistance,virtualworld,Float:r) // create a pickup text.
- HPText_DeletePickup(ptextid) // Delete a pickup text.
- Enjoy!
- */
- #if defined _hptext_included
- #endinput
- #endif
- #define _hptext_included
- #define MAX_PText 255
- #define PTEXT_PER 0
- #define PTEXT_ONE 1
- forward OnPlayerPickupPickupText(playerid,ptextid);
- new HTimer[MAX_PLAYERS],bool:HTouch[MAX_PLAYERS][MAX_PText];
- enum TextPickup {
- HPID,
- HType,
- HText[256],
- Float:Hx,
- Float:Hy,
- Float:Hz,
- Float:Hdd,
- Hvw,
- Float:Hr,
- Text3D:HTextAll,
- PlayerText3D:HTextPlayer
- }
- new HPText[MAX_PText][TextPickup];
- public OnPlayerConnect(playerid) {
- HTimer[playerid] = SetTimerEx("HPText_CheckPlayer",500,true,"d",playerid);
- for(new i;i < MAX_PText;i++) HTouch[playerid][i] = false;
- return 1;
- }
- #if defined _ALS_OnPlayerConnect
- #undef OnPlayerConnect
- #else
- #define _ALS_OnPlayerConnect
- #endif
- #define OnPlayerConnect H3DPickup_OnPlayerConnect
- public OnPlayerDisconnect(playerid) KillTimer(HTimer[playerid]);
- #if defined _ALS_OnPlayerDisconnect
- #undef OnPlayerDisconnect
- #else
- #define _ALS_OnPlayerDisconnect
- #endif
- #define OnPlayerConnect H3DPickup_OnPlayerDisconnect
- forward HPText_CheckPlayer(playerid);
- public HPText_CheckPlayer(playerid) {
- for(new i;i < MAX_PText;i++) {
- if(!strlen(HPText[i][HText])) continue;
- else if(HPText[i][HPID] != -1 && HPText[i][HPID] != playerid) continue;
- else if(GetPlayerVirtualWorld(playerid != HPText[i][Hvw])) continue;
- else if(!IsPlayerInRangeOfPoint(playerid,HPText[i][Hr],HPText[i][Hx],HPText[i][Hy],HPText[i][Hz])) {
- HTouch[playerid][i] = false;
- continue;
- }
- if(HTouch[playerid][i]) continue;
- CallLocalFunction("OnPlayerPickupPickupText","dd",playerid,i);
- HTouch[playerid][i] = HPText[i][HType] == PTEXT_ONE ? false:true;
- if(HPText[i][HType] == PTEXT_ONE) HPText_DeletePickup(i);
- }
- return 1;
- }
- stock HPText_CreatePickup(playerid, Type, Text[],color,Float:x,Float:y,Float:z,Float:DrawDistance,virtualworld,Float:r) {
- if(!strlen(Text) || r <= 0.0) return -1;
- new i = HPText_GetVaildPlace();
- HPText[i][HPID] = playerid;
- HPText[i][HType] = Type;
- format(HPText[i][HText],256,Text);
- HPText[i][Hx] = x,HPText[i][Hy] = y,HPText[i][Hz] = z,HPText[i][Hdd] = DrawDistance;
- HPText[i][Hvw] = virtualworld,HPText[i][Hr] = r;
- if(playerid == -1) HPText[i][HTextAll] = Create3DTextLabel(Text,color,x,y,z,DrawDistance,virtualworld);
- else HPText[i][HTextPlayer] = CreatePlayer3DTextLabel(playerid,Text,color,x,y,z,DrawDistance);
- return i;
- }
- stock HPText_DeletePickup(ptextid) {
- if(!strlen(HPText[ptextid][HText])) return false;
- if(HPText[ptextid][HPID] == -1) Delete3DTextLabel(HPText[ptextid][HTextAll]);
- else DeletePlayer3DTextLabel(HPText[ptextid][HPID],HPText[ptextid][HTextPlayer]);
- HPText[ptextid][HPID] = -1,HPText[ptextid][HType] = -1;
- format(HPText[ptextid][HText],256,"");
- HPText[ptextid][Hx] = 0.0,HPText[ptextid][Hy] = 0.0,HPText[ptextid][Hz] = 0.0,HPText[ptextid][Hdd] = 0.0,HPText[ptextid][Hvw] = -1,HPText[ptextid][Hr] = 0.0;
- return true;
- }
- stock HPText_GetVaildPlace() {
- for(new i;i < MAX_PText;i++) if(!strlen(HPText[i][HText])) return i;
- return -1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement