Z
zvitor
Guest
i can make a item peform any anim after player get it? like death or something.
name NPCItem
score 1
type item
nolife 1
didhitscript data/scripts/summon.c
anim idle
delay 10
offset 35 50
bbox 20 30 30 20
frame data/chars/misc/rolbar1.png
void main()
{//Script for summoning based on item's alias
void self = getlocalvar("self");
char Item = getentityproperty(self,"name");
void target = getlocalvar("damagetaker"); // Get player who picks the item
int PIndex = getentityproperty(target,"playerindex"); // Get player's index
int PScore = getplayerproperty(PIndex,"score"); // Get player's score
int Direction = getentityproperty(target, "direction");
int fZ = getentityproperty(target, "z"); //Get Z location
int XPos = openborvariant("xpos"); //Get screen edge's position
int Screen = openborvariant("hResolution"); // Get screen width
int fX = -60; // Set distance from screen edge
void vSpawn; //Spawn object.
if(PScore == NULL()){
PScore=0;
}
changeplayerproperty(PIndex, "score", PScore-1); // Reduce score a bit
clearspawnentry(); //Clear current spawn entry.
setspawnentry("name", Item); //Acquire spawn entity by name.
if (Direction == 0){ //Is entity facing left?
fX = Screen-fX; //Reverse X direction to match facing and screen length
}
vSpawn = spawn(); //Spawn in entity.
changeentityproperty(vSpawn, "position", XPos+fX, fZ); //Set spawn location.
changeentityproperty(vSpawn, "direction", Direction); //Set direction
}
spawn Rollitem
alias Flau
coords 300 195
at 0
spawn Rollitem
alias RollBarrel
coords 300 170
at 0
void main()
{//Script for summoning 3 shadow clones
void self = getlocalvar("self");
void target = getlocalvar("damagetaker"); // Get player who picks the item
int PIndex = getentityproperty(target,"playerindex"); // Get player's index
int PScore = getplayerproperty(PIndex,"score"); // Get player's score
int XPos = openborvariant("xpos"); //Get screen edge's position
int fX = -60; // Set distance from screen edge
int Zenter = (openborvariant("PLAYER_MIN_Z") + openborvariant("PLAYER_MAX_Z"))/2;
void vSpawn; //Spawn object.
if(PScore == NULL()){
PScore=0;
}
changeplayerproperty(PIndex, "score", PScore-1); // Reduce score a bit
//1st spawn
vSpawn = spawn01("Billyshadow", 0, 0, 0);
changeentityproperty(vSpawn, "position", XPos+fX, Zenter);
changeentityproperty(vSpawn, "direction", 1);
//2nd spawn
vSpawn = spawn01("Billyshadow", 0, 0, 0);
changeentityproperty(vSpawn, "position", XPos+fX, Zenter-10);
changeentityproperty(vSpawn, "direction", 1);
//3rd spawn
vSpawn = spawn01("Billyshadow", 0, 0, 0);
changeentityproperty(vSpawn, "position", XPos+fX, Zenter+10);
changeentityproperty(vSpawn, "direction", 1);
}
void spawn01(void vName, float fX, float fY, float fZ)
{
//spawn01 (Generic spawner)
//Damon Vaughn Caskey
//07/06/2007
//
//Spawns entity next to caller.
//
//vName: Model name of entity to be spawned in.
//fX: X location
//fY: Y location
//fZ: Z location
void self = getlocalvar("self"); //Get calling entity.
void vSpawn; //Spawn object.
clearspawnentry(); //Clear current spawn entry.
setspawnentry("name", vName); //Acquire spawn entity by name.
vSpawn = spawn(); //Spawn in entity
changeentityproperty(vSpawn, "position", fX, fZ, fY); //Set spawn location.
return vSpawn; //Return spawn