Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Autorius: KAT
- * Versija: 1.1
- * Išleidimas: 2013/06/06
- * Paskutinis atnaujinimas: 2013.06.06
- */
- /*
- native Pickup(sP_id,Float:pP_x,Float:pP_y,Float:pP_z, pP_type, pP_model, pP_virtual,picklimit = -1);
- native ReloadPickups();
- native ReloadPickup(_pID);
- native HidePickup(_pID);
- native ShowPickup(_pID);
- native HidePickupForTime(_pID, _pSeconds);
- native ChangePickupModel(_pID, _p_Model);
- native ChangePickupType(_pID, _p_Type);
- native GetNearestPickupFromPoint(Float:x1, Float:y1, Float:z1, Float: dist = 100.0);
- native IsValidPickup(_pID);
- native GetPickupType(_pID);
- native eOnPlayerPickUpPickup(playerid, pickupid);
- native GetPickupModel(_pID);
- */
- /*
- APRAŠYMAS:
- Funkcija: Pickup(sP_id,Float:pP_x,Float:pP_y,Float:pP_z, pP_type, pP_model, pP_virtual,picklimit = -1); - naudojama sukurti Pickup'ui
- Funkcija: ReloadPickups(); - Perkrauna visus Pickup'us
- Funkcija: ReloadPickup(_pID); - Perkrauna pickup'ą pagal jo ID
- Funkcija: HidePickup(_pID); - paslepia Pickup'ą ( jo nerodo žaidėjams )
- Funkcija: ShowPickup(_pID); - parodo Pickup'ą žaidėjams
- Funkcija: HidePickupForTime(_pID, _pSeconds); - paslėpia pickup'ą kažkuriam laikui ( pvz.: 10 sek )
- Funkcija: ChangePickupModel(_pID, _p_Model); - pakeičiai pickup'o modelį ir iškarto realod'ina pickupą
- Funkcija: ChangePickupType(_pID, _p_Type); - pakeičiai pickup'o tipą ir iškarto realod'ina pickupą
- Funkcija: GetNearestPickupFromPoint(Float:x1, Float:y1, Float:z1, Float: dist = 100.0); - išgauna arčiausiai esantį pickup'ą pagal nurodytą atstumą ( default - 100.0 )
- Funkcija: IsValidPickup(_pID); - patikrina ar pickup'as yra egzistuojantis pagal nurodytą ID
- Funkcija: GetPickupType(_pID); - išgauna pickup'o tipą pagal jo id
- Funkcija: eOnPlayerPickUpPickup(playerid, pickupid); - ją reikia dėti po OnPlayerPickupPickup, naudojama pickup'inimo limitui
- Funkcija: GetPickupModel(_pID); - išgauna pickup'o pagal nurodytą id modelį
- */
- enum _pDATA
- {
- s_id,
- s_pickup,
- Float:p_x,
- Float:p_y,
- Float:p_z,
- p_type,
- p_model,
- p_virtual,
- bool:hidden,
- pick_limit,
- times_picked
- }
- new _pickup[MAX_PICKUPS][_pDATA];
- stock Pickup(sP_id,Float:pP_x,Float:pP_y,Float:pP_z, pP_type, pP_model, pP_virtual, picklimit = -1)
- {
- _pickup[sP_id][s_id] = sP_id;
- _pickup[sP_id][s_pickup] = CreatePickup(pP_model, pP_type, pP_x, pP_y, pP_z, pP_virtual);
- _pickup[sP_id][p_x] = pP_x;
- _pickup[sP_id][p_y] = pP_y;
- _pickup[sP_id][p_z] = pP_z;
- _pickup[sP_id][p_type] = pP_type;
- _pickup[sP_id][p_model] = pP_model;
- _pickup[sP_id][p_virtual] = pP_virtual;
- _pickup[sP_id][times_picked] = 0;
- if( picklimit > 0 ) _pickup[sP_id][pick_limit] = picklimit;
- return printf("Pickup( ID: %i, model: %i ) pakrautas!",sP_id,pP_model);
- }
- stock ReloadPickups()
- {
- for(new p = 0; p < MAX_PICKUPS; p++)
- {
- DestroyPickup(_pickup[p][s_pickup]);
- _pickup[p][s_pickup] = CreatePickup(_pickup[p][p_model], _pickup[p][p_type], _pickup[p][p_x], _pickup[p][p_y], _pickup[p][p_z], _pickup[p][p_virtual]);
- printf("Perkrauta %i pickupų!");
- }
- }
- stock ReloadPickup(_pID)
- {
- if(!IsValidPickup(_pID)) return 0;
- DestroyPickup(_pickup[_pID][s_pickup]);
- _pickup[_pID][s_pickup] = CreatePickup(_pickup[_pID][p_model], _pickup[_pID][p_type], _pickup[_pID][p_x], _pickup[_pID][p_y], _pickup[_pID][p_z], _pickup[_pID][p_virtual]);
- printf("Perkrautas ID: %i pickup'as!");
- return 1;
- }
- stock HidePickup(_pID)
- {
- if(!IsValidPickup(_pID)) return 0;
- DestroyPickup(_pickup[_pID][s_pickup]);
- _pickup[_pID][hidden]=true;
- printf("Paslėptas ID: %i pickup'as!");
- return 1;
- }
- stock ShowPickup(_pID)
- {
- if(!IsValidPickup(_pID)) return 0;
- if(!_pickup[_pID][hidden]) return 0;
- _pickup[_pID][s_pickup] = CreatePickup(_pickup[_pID][p_model], _pickup[_pID][p_type], _pickup[_pID][p_x], _pickup[_pID][p_y], _pickup[_pID][p_z], _pickup[_pID][p_virtual]);
- printf("Parodytas ID: %i pickup'as!");
- return 1;
- }
- stock HidePickupForTime(_pID, _pSeconds)
- {
- if(!IsValidPickup(_pID)) return 0;
- DestroyPickup(_pickup[_pID][s_pickup]);
- _pickup[_pID][hidden]=true;
- SetTimerEx("_ShowPickupAfterTime",_pSeconds*1000,false,"d",_pID);
- printf("Paslėptas ID: %i pickup'as %i sekundems!",_pSeconds);
- return 1;
- }
- forward _ShowPickupAfterTime(_pID);
- public _ShowPickupAfterTime(_pID)
- {
- if(!IsValidPickup(_pID)) return 0;
- if(!_pickup[_pID][hidden]) return 0;
- _pickup[_pID][s_pickup] = CreatePickup(_pickup[_pID][p_model], _pickup[_pID][p_type], _pickup[_pID][p_x], _pickup[_pID][p_y], _pickup[_pID][p_z], _pickup[_pID][p_virtual]);
- printf("Parodytas ID: %i pickup'as po taimerio!");
- return 1;
- }
- stock ChangePickupModel(_pID, _p_Model)
- {
- if(!IsValidPickup(_pID)) return 0;
- if(_pickup[_pID][hidden]) return 0;
- _pickup[_pID][p_model] = _p_Model;
- ReloadPickup(_pID);
- return 1;
- }
- stock ChangePickupType(_pID, _p_Type)
- {
- if(!IsValidPickup(_pID)) return 0;
- if(_pickup[_pID][hidden]) return 0;
- _pickup[_pID][p_type] = _p_Type;
- ReloadPickup(_pID);
- return 1;
- }
- forward eOnPlayerPickUpPickup(playerid, pickupid);
- public eOnPlayerPickUpPickup(playerid, pickupid)
- {
- for( new p = 0; p < MAX_PICKUPS; p++ )
- {
- if(_pickup[p][s_pickup] == pickupid)
- {
- if(_pickup[p][pick_limit] > _pickup[p][times_picked]) return 0;
- else _pickup[p][times_picked]++;
- }
- }
- return 1;
- }
- stock GetNearestPickupFromPoint(Float:x1, Float:y1, Float:z1, Float: dist = 100.0)
- {
- new targetid = -1;
- new Float:tmpdis;
- for( new p = 0; p < MAX_PICKUPS; p++)
- {
- tmpdis = floatsqroot(floatpower(floatabs(floatsub(_pickup[p][p_x],x1)),2)+floatpower(floatabs(floatsub(_pickup[p][p_y],y1)),2)+floatpower(floatabs(floatsub(_pickup[p][p_z],z1)),2));
- if(tmpdis < dist)
- {
- dist = tmpdis;
- targetid = p;
- }
- }
- return targetid;
- }
- stock GetPickupType(_pID)
- {
- if(!IsValidPickup(_pID)) return 0;
- return _pickup[_pID][p_type];
- }
- stock GetPickupModel(_pID)
- {
- if(!IsValidPickup(_pID)) return 0;
- return _pickup[_pID][p_model];
- }
- stock IsValidPickup(_pID)
- {
- for( new p = 0; p < MAX_PICKUPS; p++)
- {
- if(_pickup[p][s_id] == _pID)
- {
- return true;
- }
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement