ID:1072040
 
(See the best response by Jemai1.)
Code:
// This is my mob
mob/Enemies
Punching_Bag_Str
icon='Training.dmi'
Level=1
ExpStr=150
Max_Health=100
Strength=0
Speed=0
Will_Power=0
Endureance=0
Stamina=0
Arm=0


// This is my attack system....
mob/verb
Left_Punch()
flick("PunchLeft",src)
for(var/mob/M in get_step(src,src.dir))
var/Damage=max(0,(src.Attack/2)-M.Arm)
view(M)<<"[src] hit [M] for [Damage] Damage!"
M.TakeDamage(Damage,src)

mob
proc
TakeDamage(var/Damage,var/mob/Attacker)
src.Health-=Damage
src.DeathCheck(Attacker)

DeathCheck(var/mob/Killer)
if(src.Health<=1)
if(src.client)
world<<"[Killer] Killed [src]!"
src.Health=src.Max_Health
src.loc=locate(5,5,1)
else
Killer<<"<b>You Killed [src] and you get [src.ExpStr] Strength Exp, [src.ExpSpd] Speed Exp, [src.ExpSta] Sta Exp, [src.ExpWp] Will Power Exp, [src.ExpEnd] Endureance Exp"
Killer.ExpStr+=src.ExpStr
Killer.ExpSpd+=src.ExpSpd
Killer.ExpSta+=src.ExpSta
Killer.ExpWp+=src.ExpWp
Killer.ExpEnd+=src.ExpEnd
Killer.LevelCheckStr()
Killer.LevelCheckSpd()
Killer.LevelCheckSta()
Killer.LevelCheckWp()
Killer.LevelCheckEnd()
del src


Problem description: I want know if is possible if i can make a mob what gives experience every time when is hitted.

Xalexx16 wrote:
Problem description: I want know if is possible if i can make a mob what gives experience every time when is hitted.

What? Well, whatever that means, it is possible.

Tip: You'd like to have a proc for giving exp instead of your level checkers.
proc
gain_exp(amount)
exp += amount
while( exp >= max_exp )
exp -= max_exp
level++
Nope not that i mean a mob what give experience every time then you use attack verb in he so he will have infinite health and you can attack he xxxx times and you will get experience every time you attack he
Then you'd like to give the Attacker some experience whenever the punching bag's TakeDamage proc was called.
Yes, thats what i wank know how i can make it?
Best response
mob/Enemies/Punching_Bag_Str
TakeDamage(var/Damage,var/mob/Attacker)
// give exp to Attacker
// don't call Deathcheck
Like that??
mob/Enemies/Punching_Bag_Str
TakeDamage(var/Damage,var/mob/Attacker)
// give exp to Attacker
// don't call Deathcheck
Attacker.ExpStr+=src.ExpStr
Attacker.LevelCheckStr()

I get errors if i do that or that another one
mob/Enemies/Punching_Bag_Str
TakeDamage(var/Damage,var/mob/Attacker)
// give exp to Attacker
// don't call Deathcheck
ExpStr=10


Codes\Attack.dm:47:error: inconsistent indentation
Codes\Create Character.dm:1:error: mob: expected end of statement
Inconsistent indentation. The forum uses spaces instead of tabs. Copy-pasting is a no-no.
Omg i am stuppid.

YEAH!! IT WORKED! THANKS TO Jemai1
In response to Xalexx16
Xalexx16 wrote:
he will have infinite health and you can attack he xxxx times and you will get experience every time you attack he

This is the formula for a riveting game XD