Raised This Month: $ Target: $400
 0% 

How to put skills in xp based plugin?


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
guilherme
New Member
Join Date: Sep 2007
Old 09-21-2007 , 17:57   How to put skills in xp based plugin?
Reply With Quote #1

Hi first for all sorry if i have a bad english, i am brazilian ^^

I'm trying to make a mod called "Dragon Mod"
I am using this tutorial:
http://forums.alliedmods.net/showthread.php?t=12518

I edited all things here for my mod, but i don't know how to put skills into the dragons.

It is like:

Fire_Dragon:
FlameTrower Lv 1 = 40 Dmg
Slash Lv 1 = 60 Dmg
Tail Slam Lv 1 = 70 Dmg

As you saw I want to put 3 skills on each dragon,
and like the WCF3, each level you can improve your skills,
That is my question, how 2 make that?
+Karma if you help me =P
Thanks a lot


EDIT: If it can help, here is my code (SMA file)
Quote:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <vault>
#define CLASS_NOTHING 0
#define CLASS_DRAGON1 1
#define CLASS_DRAGON2 2
#define CLASS_DRAGON3 3
#define CLASS_DRAGON4 4
#define MAXCLASSES 5
new PlayerClass[33]
new PlayerXP[33]
new PlayerLevel[33]
new const CLASSES[MAXCLASSES][] = {
"None",
"Dragon1",
"Dragon2",
"Dragon3",
"Dragon4"
}
new msgtext
new const LEVELS[6] = {
100,
200,
400,
800,
1600,
3200
}
public plugin_init()
{
register_plugin("Dragon Mod", "1.0", "*=vNs=*|Du-mau")

register_cvar("sv_dragonmod", "1")

register_event("DeathMsg", "DeathMsg", "a")

register_cvar("XP_per_kill", "20")

register_menucmd(register_menuid("menu_Choose Dragon"),1023,"DoChooseDragon");

register_event("ResetHUD", "ResetHud", "b")

msgtext = get_user_msgid("StatusText")
register_clcmd("say /changedragon", "ChangeDragon")
register_clcmd("say_team /changedragon", "ChangeDragon")
}
public SaveXP(id)
{
new authid[32];
get_user_authid(id,authid,31);
new vaultkey[64], vaultdata[64];

format(vaultkey,63,"DRAGON-%s-class",authid);
format(vaultdata,63,"%d",PlayerClass[id]);
set_vaultdata(vaultkey,vaultdata);
format(vaultkey,63,"DRAGON-%s-xp",authid);
format(vaultdata,63,"%d",PlayerXP[id]);
set_vaultdata(vaultkey,vaultdata);
format(vaultkey,63,"DRAGON-%s-level",authid);
format(vaultdata,63,"%d",PlayerLevel[id]);
set_vaultdata(vaultkey,vaultdata);
}
public LoadXP(id)
{
new authid[32];
get_user_authid(id,authid,31);
new vaultkey[64], vaultdata[64];
format(vaultkey,63,"DRAGON-%s-class",authid);
get_vaultdata(vaultkey,vaultdata,63);
PlayerClass[id] = str_to_num(vaultdata);
format(vaultkey,63,"DRAGON-%s-xp",authid);
get_vaultdata(vaultkey,vaultdata,63);
PlayerXP[id] = str_to_num(vaultdata);
format(vaultkey,63,"DRAGON-%s-level",authid);
get_vaultdata(vaultkey,vaultdata,63);
PlayerLevel[id] = str_to_num(vaultdata);
}
public client_connect(id)
{
if(get_cvar_num("SaveXP") == 1) {

LoadXP(id)
client_print(id, print_chat, "[Dragon Mod] XP Loaded!")
client_print(id, print_chat, "[Dragon Mod] You are a %s with level %s and %s XP", PlayerClass[id], PlayerLevel[id], PlayerXP[id])
}
}
public client_disconnect(id)
{
if(get_cvar_num("SaveXP") == 1) {

SaveXP(id)
}
}
stock ChooseDragon(id)
{
new menu[192]
new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3

format(menu, 191, "Dragon Mod: Choose Dragon^n^n1. Dragon1^n2. Dragon2^n3. Dragon3^n4. Dragon4^n^n0. Exit")
show_menu(id, keys, menu, -1, "menu_ChooseDragon")
return PLUGIN_CONTINUE
}
public DoChooseDragon(id, key)
{
if(key == 0) {

if(PlayerClass[id] == CLASS_DRAGON1) {

client_print(id, print_chat, "[Dragon Mod] You are allready a Dragon1! Choose something else!")
ChooseDragon(id)
return PLUGIN_HANDLED
}
PlayerClass[id] = CLASS_DRAGON1
client_print(id, print_chat, "[Dragon Mod] You are now a Dragon1!")
}

if(key == 1) {

if(PlayerClass[id] == CLASS_DRAGON2) {

client_print(id, print_chat, "[Dragon Mod] You are allready a Dragon2! Choose something else!")
ChooseDragon(id)
return PLUGIN_HANDLED
}

PlayerClass[id] = CLASS_DRAGON2
client_print(id, print_chat, "[Dragon Mod] You are now a Dragon3!")
}

if(key == 2) {

if(PlayerClass[id] == CLASS_DRAGON3) {

client_print(id, print_chat, "[Dragon Mod] You are allready a Dragon3! Choose something else!")
ChooseDragon(id)
return PLUGIN_HANDLED
}

PlayerClass[id] = CLASS_DRAGON3
client_print(id, print_chat, "[Dragon Mod] You are now a Dragon3!")
}
if(key == 3) {

if(PlayerClass[id] == CLASS_DRAGON4) {

client_print(id, print_chat, "[Dragon Mod] You are allready a Dragon4! Choose something else!")
ChooseDragon(id)
return PLUGIN_HANDLED
}

PlayerClass[id] = CLASS_DRAGON4
client_print(id, print_chat, "[Dragon Mod] You are now a Dragon4!")
}

ShowHUD(id)

return PLUGIN_HANDLED
}
public ResetHUD(id)
{
if(PlayerClass[id] == CLASS_NOTHING) {

ChooseDragon(id)
return PLUGIN_HANDLED
}

return PLUGIN_HANDLED
}
public DeathMsg()
{
if(get_cvar_num("sv_dragonmod") == 0) {
return PLUGIN_HANDLED
}

new attacker = read_data(1)

if(PlayerClass[attacker] == CLASS_NOTHING) {
return PLUGIN_HANDLED
}

if(PlayerLevel[attacker] == 6) {
return PLUGIN_HANDLED
}

PlayerXP[attacker] += get_cvar_num("XP_per_kill")

if(PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) {

PlayerLevel[attacker] += 1

client_print(attacker, print_chat, "[Dragon Mod] Congratulations! You are now level %i!", PlayerLevel[attacker])
if(get_cvar_num("SaveXP") == 1) {

SaveXP(attacker)
}

ShowHUD(attacker)
}

ShowHUD(attacker)

return PLUGIN_CONTINUE
}
public ShowHUD(id)
{
new HUD[51]
format(HUD, 50, "[%s]Level: %i XP: %i", CLASSES[PlayerClass[id]], PlayerLevel[id], PlayerXP[id])
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()
return
}



sry but i am so noob at scripting

Last edited by guilherme; 09-22-2007 at 09:05. Reason: code was added here
guilherme is offline
 


Thread Tools
Display Modes

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 16:11.


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