• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Windows New server (pvp-e)

Zoool

New Member
Joined
Jul 18, 2014
Messages
163
Reaction score
2
Hey, I have some ideas about new server.
I need help, how to do it.


Pvp enforced:
If target lose 10% of his full exp.
Killers get 90% exp he lost. (level doesnt matter) (dmg dealt matters, who will get most exp).

For example:
35lv has 500,000 total exp. If he die he lose (10%) 50,000 exp.
Everyone who got assists get % of his exp, depens how many pll killed him. (If someone killed him solo, he'll get 45,000 exp (90%))
 
@Snurq you are right, but i want to make server. Where 200-300+lv will be able only to exp on players. That mean level on my server will mean skill.

I know about mc problem, but i'll find a way.
Also if u have some ideas how to block it, let me know ^^
 
@Snurq you are right, but i want to make server. Where 200-300+lv will be able only to exp on players. That mean level on my server will mean skill.

I know about mc problem, but i'll find a way.
Also if u have some ideas how to block it, let me know ^^
Code:
if(killerPlayer->getIP() == killedPlayer->getIP()) {
  return;
}

Would be a simple way, although people could use proxies.
It will ALWAYS be possible to abuse it but this should block 90% of people from doing it.

If killedPlayer has X-logged this wont work though, i recommend an additional variable to store lastIP and wont update if x-logged.
 
Code:
if(killerPlayer->getIP() == killedPlayer->getIP()) {
  return;
}

Would be a simple way, although people could use proxies.
It will ALWAYS be possible to abuse it but this should block 90% of people from doing it.

If killedPlayer has X-logged this wont work though, i recommend an additional variable to store lastIP and wont update if x-logged.
It's possible to make a more complex system that would prevent exp farming even if the ip is different. Pretty time consuming to make tho.
By storing the killers name & time of death we could make comparisons if it's within a certain time frame and if it matches previous previous entries.

@topic
If I remember correctly you're using tfs 0.4
just to give you some ideas you can make this with onPrepareDeath(cid, deathList)

deathList works like this. it returns a table of cids in damage order, however deathList[1] will always return the last hit killer
deathList[2] and forth will be in order by the damage they dealt (does not show how much damage tho).
If the one who dealt most damage also did the last hit, that player will only be returned as deathList[1]

0.4 by default is missing an important function for what you're trying to make.
You need to edit your sources to add the function getCreatureDamageMap(cid)
this way you can run a loop & check the damage dealt of the players in deathList.
Then convert it to how many % of the damageMap it was to decide how much exp each player on deathList should get
 
This is still abusive on another server 2 friends would bot all day and kill each other to boost their levels
Maybe make a system of 3 kills max, no killing at all, a pvp arena, or pvp only 50 lvls above or below a player so its kinda fair, either way the system is abusive anyway possible.
 
Back
Top