Raised This Month: $ Target: $400
 0% 

New XP Mod tutorial


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Lee
AlliedModders Donor
Join Date: Feb 2006
Old 06-10-2008 , 05:56   Re: New XP Mod tutorial
Reply With Quote #1

Nobody said it didn't work, but I see how I gave you that impression. How about saving integers as integers?

Why would you pad those integers with hashes (#), only to replace them with spaces? Wouldn't it be more sensible to.. pad them with spaces? (Not that you should be using encoding at all).

You ignored my other question.

Have you learnt about when to make a function public since you wrote this tutorial?

You should have been using formatex() throughout your plugin.

Does this "work just fine"?

Code:
        PlayerClass[id] = i client_print(id,print_chat,"You are now a %s",CLASSES[i])

Convention dictates that uppercase identifiers are defined by the preprocessor.

iVictim is never used and iHeadShot is only ever set/read once - what's the purpose of it being a variable?

MAXCLASSES is completely unnecessary, but one could argue that's a matter of style.

Maybe I'm being overcritical (about the encoding issue anyway), but all the stupid ideas in this topic originate from this tutorial. You're passing on your bad habits to other people. I call them bad habits, but they seem to stem from your understanding lacking depth.

Last edited by Lee; 06-10-2008 at 08:09.
Lee is offline
Old 06-10-2008, 08:03
fxfighter
This message has been deleted by fxfighter. Reason: gfaw
Lee
AlliedModders Donor
Join Date: Feb 2006
Old 06-10-2008 , 08:08   Re: New XP Mod tutorial
Reply With Quote #3

Yes, and? He doesn't use that "type of call".
Lee is offline
Old 06-10-2008, 08:12
fxfighter
This message has been deleted by fxfighter. Reason: Sees no point in it
tobstr
Member
Join Date: Mar 2008
Old 06-20-2008 , 09:33   Re: New XP Mod tutorial
Reply With Quote #5

Ohh, sorry, missed a post, this thing should not be posted here. I´m sorry!
__________________
+ Karma if I Helped!

Last edited by tobstr; 06-20-2008 at 09:36. Reason: wrong forum
tobstr is offline
LostSkill
Senior Member
Join Date: Jun 2008
Location: Monuhuelo Island
Old 06-28-2008 , 11:17   Re: New XP Mod tutorial
Reply With Quote #6

And what need do if i whana that write not Level: 1 or Level: 2 but write somethink like this Level: Turbo Man and somethink like Level: Pro its posible do this?

and whats wrong at here?
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#define MAXCLASSES 4
new PlayerXP[33],PlayerLevel[33],PlayerClass[33]
new 
XP_Kill,XP_Knife,XP_Hs,SaveXP
new g_vault 
new const CLASSES[MAXCLASSES][] = {
    
"None",
    
"Sausumos Pajegu Karys",
    
"Oro Pajegu Karys",
    
"Juru Pajegu Karys"
}  
new const 
LEVELS[19] = {
0,
50,
125,
200,
325,
450,
580,
780,
980,
1300,
1600,
2000,
2400,
2900,
3500,
4000,
4700,
5400,
6500,
8000 
}
public 
plugin_init()
{
 
register_plugin("ArmyMod""0.1""Dunno")
 
register_event("DeathMsg""eDeath""a")
 
register_event("ResetHUD","on_spawn","be"); 
 
SaveXP register_cvar("SaveXP","1")
 
XP_Kill=register_cvar("XP_per_kill""1")
 
XP_Hs=register_cvar("XP_hs_bonus","2")
 
XP_Knife=register_cvar("XP_knife_bonus","2")
 
g_vault nvault_open("ArmyMod")
 
register_clcmd("say /karys""ChangeClass")
 
register_clcmd("say_team /karys""ChangeClass")
 
register_clcmd("say /frag""ShowHud")
 
register_clcmd("say_team /frag""ShowHud")
}  
public 
eDeath( ) 

 if(
PlayerClass[attacker] == 0)
  return 
PLUGIN_CONTINUE
 
new iVictim read_data)
 new 
headshot read_data)
 
 new 
clipammoweapon get_user_weapon(id,clip,ammo);
 
PlayerXP[attacker] += get_pcvar_num(XP_Kill)  
 if(
headshot
 
PlayerXP[attacker] += get_pcvar_num(XP_Hs
 if(
weapon == CSW_KNIFE
 
PlayerXP[attacker] += get_pcvar_num(XP_Knife
 
 while(
PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) 
 { 
  
client_print(attackerprint_center"[Army Mod] Congratulations! You are a level %i %s!"PlayerLevel[attacker],CLASSES[PlayerClass[attacker]])
  
PlayerLevel[attacker] += 
 

 
ShowHud(attacker)
}
public 
ShowHud(id

 
set_hudmessage(255000.750.0106.015.0
 
show_hudmessage(id"Level: %i^nXP: %i^nClass: %s",PlayerLevel[id],PlayerXP[id],CLASSES[PlayerClass[id]]) 
}  
public 
ChangeClass(id
{
 new 
menu menu_create("Soldiers Menu" "Class_Handle");
 
menu_additem(menu ,"Sausumos Pajegu Karys""1" 0); 
 
menu_additem(menu ,"Oro Pajegu Karys""2" 0); 
 
menu_additem(menu ,"Juru Pajegu Karys""3" 0); 
 
menu_setprop(menu MPROP_EXIT MEXIT_ALL);
 
menu_display(id menu 0); 
 return 
PLUGIN_CONTINUE

 
public 
Class_Handle(id menu item

 if(
item == MENU_EXIT
 { 
  
menu_destroy(menu); 
 } 
 new 
szCommand[6] , szName[64]; new access callback
 
menu_item_getinfo(menu item access szCommand szName 63 callback); 
 new 
str_to_num(szCommand
 if(
PlayerClass[id] != i
 { 
  
PlayerClass[id] = i client_print(id,print_chat,"You are now a %s",CLASSES[i]) 
 }
 else 
 { 
  
client_print(id,print_chat,"You are alredy a %s",CLASSES[i]) 
 } 
 
menu_destroy(menu); 
 return 
PLUGIN_CONTINUE 

public 
client_connect(id
{
 if(
get_pcvar_num(SaveXP) == 1
 { 
  
LoadData(id
 } 
}
public 
client_disconnect(id

 if(
get_pcvar_num(SaveXP) == 1
 { 
  
SaveData(id
 } 
}  
public 
SaveData(id

    
// get the players steam id. We need this because we are saving by steam id 
 
new AuthID[35get_user_authid(id,AuthID,34
 new 
vaultkey[64],vaultdata[256
    
// format wat is going to be in the animal mod vault file 
 
format(vaultkey,63,"%s-Mod",AuthID
 
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id]) 
    
// save the data 
 
nvault_set(g_vault,vaultkey,vaultdata
 return 
PLUGIN_CONTINUE 
}  
public 
LoadData(id

 new 
AuthID[35get_user_authid(id,AuthID,34
 new 
vaultkey[64],vaultdata[256
    
// search 
 
format(vaultkey,63,"%s-Mod",AuthID
 
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id]) 
    
// load the data 
 
nvault_get(g_vault,vaultkey,vaultdata,255
 
replace_all(vaultdata255"#"" "
 new 
playerxp[32], playerlevel[32
 
parse(vaultdataplayerxp31playerlevel31
 
PlayerXP[id] = str_to_num(playerxp
 
PlayerLevel[id] = str_to_num(playerlevel
 return 
PLUGIN_CONTINUE 
}  
public 
on_spawn(id)
{
 if (
PlayerLevel[id] == 1)
 {
 
set_user_health(id105);
 
set_user_armor(id105);
 }
 if (
PlayerLevel[id] == 2)
 {
 
set_user_health(id110);
 
set_user_gravity(id0.9);
 
set_user_armor(id105);
 }
 if (
PlayerLevel[id] == 3)
 {
 
set_user_health(id120);
 
set_user_maxspeed(id, -0.9);
 
set_user_gravity(id0.9);
 
set_user_armor(id105);
 }
 if (
PlayerLevel[id] == 4)
 {
 
set_user_health(id120);
 
set_user_maxspeed(id, -0.8);
 
set_user_gravity(id0.9);
 
set_user_armor(id105);
 }
 if (
PlayerLevel[id] == 5)
 {
 
set_user_health(id120);
 
set_user_maxspeed(id, -0.75);
 
set_user_gravity(id0.8);
 
set_user_armor(id110);
 }
 if (
PlayerLevel[id] == 6)
 {
 
set_user_health(id130);
 
set_user_maxspeed(id, -0.75);
 
set_user_gravity(id0.8);
 
set_user_armor(id115);
 }
 if (
PlayerLevel[id] == 7)
 {
 
set_user_health(id135);
 
set_user_maxspeed(id, -0.70);
 
set_user_gravity(id0.75);
 
set_user_armor(id115);
 }
 if (
PlayerLevel[id] == 8)
 {
 
set_user_health(id135);
 
set_user_maxspeed(id, -0.70);
 
set_user_gravity(id0.75);
 
set_user_armor(id115);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 }
 if (
PlayerLevel[id] == 9)
 {
 
set_user_health(id145);
 
set_user_maxspeed(id, -0.70);
 
set_user_gravity(id0.75);
 
set_user_armor(id115);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 10)
 {
 
set_user_health(id145);
 
set_user_maxspeed(id, -0.7);
 
set_user_gravity(id0.7);
 
set_user_armor(id120);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 11)
 {
 
set_user_health(id155);
 
set_user_maxspeed(id, -0.7);
 
set_user_gravity(id0.7);
 
set_user_armor(id125);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 12)
 {
 
set_user_health(id155);
 
set_user_maxspeed(id, -0.7);
 
set_user_gravity(id0.65);
 
set_user_armor(id135);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 13)
 {
 
set_user_health(id160);
 
set_user_maxspeed(id, -0.65);
 
set_user_gravity(id0.65);
 
set_user_armor(id135);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 14)
 {
 
set_user_health(id170);
 
set_user_maxspeed(id, -0.65);
 
set_user_gravity(id0.65);
 
set_user_armor(id140);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 15)
 {
 
set_user_health(id170);
 
set_user_maxspeed(id, -0.65);
 
set_user_gravity(id0.6);
 
set_user_armor(id145);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 16)
 {
 
set_user_health(id180);
 
set_user_maxspeed(id, -0.6);
 
set_user_gravity(id0.6);
 
set_user_armor(id150);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 17)
 {
 
set_user_health(id180);
 
set_user_maxspeed(id, -0.6);
 
set_user_gravity(id0.55);
 
set_user_armor(id155);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 18)
 {
 
set_user_health(id200);
 
set_user_maxspeed(id, -0.6);
 
set_user_gravity(id0.5);
 
set_user_armor(id160);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 
give_item(id"weapon_flashbang");
 
give_item(id"weapon_flashbang");
 }

__________________
MY ENGLISH IS BAD.....

Last edited by LostSkill; 06-28-2008 at 12:08.
LostSkill is offline
Send a message via MSN to LostSkill
THe NiNJa
New Member
Join Date: Nov 2005
Location: Denmark
Old 08-10-2008 , 05:52   Re: New XP Mod tutorial
Reply With Quote #7

I get 9 errors...
Anyone?
__________________
---
THe NiNJa is offline
Desktop00
Junior Member
Join Date: Aug 2008
Location: :O
Old 08-26-2008 , 01:54   Re: New XP Mod tutorial
Reply With Quote #8

Quote:
Originally Posted by THe NiNJa View Post
I get 9 errors...
Anyone?
same with me
Desktop00 is offline
Atspulgs
Senior Member
Join Date: Mar 2008
Old 08-13-2008 , 19:19   Re: New XP Mod tutorial
Reply With Quote #9

@ Lee - Could you please write tutorial on coding then? You could even teach me proper english Im getting kind of annoyed that all tutorials are well not exactly precise -_-
__________________
-=DG Ats
DoomedGang web page -
http://www.doomedgang.com
Atspulgs is offline
Lee
AlliedModders Donor
Join Date: Feb 2006
Old 08-14-2008 , 10:04   Re: New XP Mod tutorial
Reply With Quote #10

I'll think about it. All the tutorials I've read on this forum aimed at beginners are horrible. Some of the content on the AMWiki isn't so bad, but I think I could do better and there are certainly huge areas completely missing.
__________________
No support via PM.
Lee is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 23:11.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode