
I don't have this War3 Mod ? so i can't test the race....
How's the race going ?
Code:
#include <sourcemod>
#include "War3Source/War3Source_Interface"
new raceID;
public Plugin:myinfo =
{
name = "Secret hero",
author = "<---TexNo--->",
description = "First Race inn this coding.",
version = "1.0",
url = "http://zeroasylum.freeforums.org/"
};
public OnWar3PluginReady()
{
raceID=War3_CreateRace("Secret Hero","secret hero","you are now Secret hero","Return of the Secret Hero","Impaling Gravity","Gravity Increase","Liquid Life","Health At spawn","Speedy Hero","More Speed");
}
public OnPluginStart()
{
HookEvent("player_spawn",PlayerSpawnEvent);
}
public PlayerSpawnEvent(Handle:event,const String:name[],bool:dontBroadcast)
{
new userid=GetEventInt(event,"userid");
new client=GetClientOfUserId(userid);
if(client>0)
{
new race=War3_GetRace(client);
if(race==raceID)
{
new impalegravity_skill=War3_GetSkillLevel(client,race,0);
new Float:gravity=1.0;
switch(impalegravity_skill)
{
case 0:
gravity=1.1;
case 1:
gravity=1.3;
case 2:
gravity=1.5;
case 3:
gravity=1.7;
case 4:
gravity=1.9;
}
War3_SetMinGravity(client,gravity);
new health_skill=War3_GetSkillLevel(client,race,1);
new old_health=GetClientHealth(client);
new add_health=0;
switch(health_skill)
{
case 0:
add_health=9;
case 1:
add_health=16;
case 2:
add_health=27;
case 3:
add_health=38;
case 4:
add_health=46;
}
SetEntityHealth(client,old_health+add_health);
new speed_skill=War3_GetSkillLevel(client,race,2);
new Float:speed=1.0;
switch(speed_skill)
{
case 0:
speed=1.3;
case 1:
speed=1.5;
case 2:
speed=1.6;
case 3:
speed=1.7;
case 4:
speed=1.8;
}
War3_SetMaxSpeed(client,speed)
}
}
}
public OnSkillLevelChanged(client,race,skill,oldskilllevel,newskilllevel)
{
if(race==raceID && skill==0)
{
new Float:gravity=1.0;
switch(newskilllevel)
{
case 0:
gravity=1.1;
case 1:
gravity=1.3;
case 2:
speed=1.5;
case 3:
gravity=1.7;
case 4:
gravity=1.9;
}
War3_SetMinGravity(client,gravity)
}
if(race==raceID && skill==1)
{
new Float:speed=1.0;
switch(newskilllevel)
{
case 0:
speed=1.3;
case 1:
speed=1.5;
case 2:
speed=1.6;
case 3:
speed=1.7;
case 4:
speed=1.8;
}
War3_SetMaxSpeed(client,speed);
}
}
public OnRaceSelected(client,oldrace,newrace)
{
if(newrace!=raceID)
{
War3_SetMaxSpeed(client,1.0);
War3_SetMinGravity(client,1.0);
War3_SetOverrideSpeed(client,0.0);
}
}
}
#include "War3Source/War3Source_Interface"
new raceID;
public Plugin:myinfo =
{
name = "Secret hero",
author = "<---TexNo--->",
description = "First Race inn this coding.",
version = "1.0",
url = "http://zeroasylum.freeforums.org/"
};
public OnWar3PluginReady()
{
raceID=War3_CreateRace("Secret Hero","secret hero","you are now Secret hero","Return of the Secret Hero","Impaling Gravity","Gravity Increase","Liquid Life","Health At spawn","Speedy Hero","More Speed");
}
public OnPluginStart()
{
HookEvent("player_spawn",PlayerSpawnEvent);
}
public PlayerSpawnEvent(Handle:event,const String:name[],bool:dontBroadcast)
{
new userid=GetEventInt(event,"userid");
new client=GetClientOfUserId(userid);
if(client>0)
{
new race=War3_GetRace(client);
if(race==raceID)
{
new impalegravity_skill=War3_GetSkillLevel(client,race,0);
new Float:gravity=1.0;
switch(impalegravity_skill)
{
case 0:
gravity=1.1;
case 1:
gravity=1.3;
case 2:
gravity=1.5;
case 3:
gravity=1.7;
case 4:
gravity=1.9;
}
War3_SetMinGravity(client,gravity);
new health_skill=War3_GetSkillLevel(client,race,1);
new old_health=GetClientHealth(client);
new add_health=0;
switch(health_skill)
{
case 0:
add_health=9;
case 1:
add_health=16;
case 2:
add_health=27;
case 3:
add_health=38;
case 4:
add_health=46;
}
SetEntityHealth(client,old_health+add_health);
new speed_skill=War3_GetSkillLevel(client,race,2);
new Float:speed=1.0;
switch(speed_skill)
{
case 0:
speed=1.3;
case 1:
speed=1.5;
case 2:
speed=1.6;
case 3:
speed=1.7;
case 4:
speed=1.8;
}
War3_SetMaxSpeed(client,speed)
}
}
}
public OnSkillLevelChanged(client,race,skill,oldskilllevel,newskilllevel)
{
if(race==raceID && skill==0)
{
new Float:gravity=1.0;
switch(newskilllevel)
{
case 0:
gravity=1.1;
case 1:
gravity=1.3;
case 2:
speed=1.5;
case 3:
gravity=1.7;
case 4:
gravity=1.9;
}
War3_SetMinGravity(client,gravity)
}
if(race==raceID && skill==1)
{
new Float:speed=1.0;
switch(newskilllevel)
{
case 0:
speed=1.3;
case 1:
speed=1.5;
case 2:
speed=1.6;
case 3:
speed=1.7;
case 4:
speed=1.8;
}
War3_SetMaxSpeed(client,speed);
}
}
public OnRaceSelected(client,oldrace,newrace)
{
if(newrace!=raceID)
{
War3_SetMaxSpeed(client,1.0);
War3_SetMinGravity(client,1.0);
War3_SetOverrideSpeed(client,0.0);
}
}
}







Logged


