Code:
// ****************************************
// Orc's Reincarnation Ability in CS/CZ
// ****************************************
public _Skill_Reincarnation_Drop(id){
#if ADVANCED_DEBUG
writeDebugInfo("_Skill_Reincarnation_Drop",0)
#endif
if (!warcraft3)
return PLUGIN_CONTINUE
new origin[3]
new iweapons[32] = 0, wpname[32] = 0, inum = 0
get_user_weapons(id,iweapons,inum)
// Disarm and Isolate Player Before Re-Incarnation
get_user_origin(id,origin)
origin[2] -= 2000
set_user_origin(id,origin)
for(new a=0;a<inum;++a){
if(iweapons[a] != CSW_C4 && iweapons[a] != CSW_KNIFE){
get_weaponname(iweapons[a],wpname,31)
engclient_cmd(id,"drop",wpname)
}
}
client_cmd(id,"weapon_knife")
return PLUGIN_CONTINUE
}
public _Skill_Reincarnation_Give(id){
#if ADVANCED_DEBUG
writeDebugInfo("_Skill_Reincarnation_Give",0)
#endif
if (!warcraft3)
return PLUGIN_CONTINUE
new origin[3]
new weaponname[20] = 0, ammoname[20] = 0
get_user_origin(id,origin)
origin[2] += 2005
if (p_data[id][P_ARMORONDEATH]){
if (p_data_b[id][PB_HELMET])
give_item(id,"item_assaultsuit")
else
give_item(id,"item_kevlar")
set_user_armor(id,p_data[id][P_ARMORONDEATH])
}
if (p_data_b[id][PB_DEFUSE])
give_item(id,"item_thighpack")
if (p_data_b[id][PB_NIGHTVISION])
cs_set_user_nvg(id,1)
if(p_data_b[id][PB_SHIELD]){
give_item(id,"weapon_shield")
}
new weaponid = 0, j
for (j=0; (j < p_data[id][P_SAVEDNUMBER]) && (j < 32); ++j){
weaponid=savedweapons[id][j]
if(weaponid==CSW_USP){
weaponname="weapon_usp"
ammoname="ammo_45acp"
}
else if(weaponid==CSW_ELITE){
weaponname="weapon_elite"
ammoname="ammo_9mm"
}
else if(weaponid==CSW_FIVESEVEN){
weaponname="weapon_fiveseven"
ammoname="ammo_57mm"
}
else if(weaponid==CSW_GLOCK18){
weaponname="weapon_glock18"
ammoname="ammo_9mm"
}
else if(weaponid==CSW_DEAGLE){
weaponname="weapon_deagle"
ammoname="ammo_50ae"
}
else if(weaponid==CSW_P228){
weaponname="weapon_p228"
ammoname="ammo_357sig"
}
else if (weaponid==3){
weaponname="weapon_scout"
ammoname="ammo_762nato"
}
else if (weaponid==4){
give_item(id,"weapon_hegrenade")
}
else if (weaponid==5){
weaponname="weapon_xm1014"
ammoname="ammo_buckshot"
}
else if (weaponid==7){
weaponname="weapon_mac10"
ammoname="ammo_45acp"
}
else if (weaponid==8){
weaponname="weapon_aug"
ammoname="ammo_556nato"
}
else if (weaponid==9){
give_item(id,"weapon_smokegrenade")
}
else if (weaponid==12){
weaponname="weapon_ump45"
ammoname="ammo_45acp"
}
else if (weaponid==13){
weaponname="weapon_sg550"
ammoname="ammo_556nato"
}
else if (weaponid==14){
weaponname="weapon_galil"
ammoname="ammo_556nato"
}
else if (weaponid==15){
weaponname="weapon_famas"
ammoname="ammo_556nato"
}
else if (weaponid==18){
weaponname="weapon_awp"
ammoname="ammo_338magnum"
}
else if (weaponid==19){
weaponname="weapon_mp5navy"
ammoname="ammo_9mm"
}
else if (weaponid==20){
weaponname="weapon_m249"
ammoname="ammo_556natobox"
}
else if (weaponid==21){
weaponname="weapon_m3"
ammoname="ammo_buckshot"
}
else if (weaponid==22){
weaponname="weapon_m4a1"
ammoname="ammo_556nato"
}
else if (weaponid==23){
weaponname="weapon_tmp"
ammoname="ammo_9mm"
}
else if (weaponid==24){
weaponname="weapon_g3sg1"
ammoname="ammo_762nato"
}
else if (weaponid==25){
if(p_data[id][P_FLASHCOUNT]==1)
give_item(id,"weapon_flashbang")
else{
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
}
}
else if (weaponid==27){
weaponname="weapon_sg552"
ammoname="ammo_556nato"
}
else if (weaponid==28){
weaponname="weapon_ak47"
ammoname="ammo_762nato"
}
else if (weaponid==30){
weaponname="weapon_p90"
ammoname="ammo_57mm"
}
else{
weaponname=""
ammoname=""
}
if (contain(weaponname,"weapon_")==0){ // if no match found, 0 if match
give_item(id,weaponname)
give_item(id,ammoname)
give_item(id,ammoname)
give_item(id,ammoname)
give_item(id,ammoname)
give_item(id,ammoname)
}
}
// Restore Re-Incarnated Player to the map
set_user_origin(id,origin)
// This will make the player have the new reincarnated weapon selected
// instead of the player's knife being selected
new iweapons[32] = 0, wpname[32] = 0, inum = 0
new bool:foundPrim = false
//new bool:foundSec = false
get_user_weapons(id,iweapons,inum)
for(new a=0;a<inum;++a){
if(isPrimary(iweapons[a])){
get_weaponname(iweapons[a],wpname,31)
client_cmd(id,wpname)
foundPrim = true
break
}
}
if(!foundPrim){
for(new a=0;a<inum;++a){
if(isSecondary(iweapons[a])){
get_weaponname(iweapons[a],wpname,31)
client_cmd(id,wpname)
//foundSec = true
break
}
}
}
return PLUGIN_CONTINUE
}
#endif
#if MOD == 0