AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   How to put skills in xp based plugin? (https://forums.alliedmods.net/showthread.php?t=61130)

guilherme 09-21-2007 17:57

How to put skills in xp based plugin?
 
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


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

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