|
Senior Member
Join Date: May 2020
Location: Serbia
|

06-24-2020
, 12:23
Plugin working on 1.8.2 but not on 1.9
|
#1
|
Hey, so I have my test server where I tested this plugin, and it worked just fine, I tried it with 3 players and it works. But when my friend tried this, he couldn't get it to work, plugin should give you menu for classes when you hit Lvl 10 with OciXCrom's XP plugin, and other menu on Lvl 20. When you join his server you automatically have class even tho you are not Lvl 10, and you get random class every time you join
Here is my code:
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>
#include <crxranks>
#include <nvault>
#include <CromChat>
#include <hamsandwich>
new g_Vault;
new g_szAuthID[33][35];
new g_Class[33];
const Float:DEFAULT_GRAVITY_I = 800.0
// LEVEL 10
#define C_ONE_TEN "\wRogue" //Change name for first class
#define C_RG_HP 90 //Rogue HP
#define C_RG_MS 75.0 //Rogue Added Movespeed || MAX SPEED MUST BE FLOAT!
#define C_RG_GV 750.0 //Rogue Gravity
#define C_TWO_TEN "\wDark Knight" //Change name for second class
#define C_DK_HP 135
#define C_DK_MS 0.0
#define C_DK_GV 800.0
#define C_THREE_TEN "\wWizard" //Change name for third class
#define C_WZ_HP 100
#define C_WZ_MS 15.0
#define C_WZ_GV 650.0
// LEVEL 20
#define C_ONE_TW "\wTrickster" //Change name for first class
#define C_TK_HP 115
#define C_TK_MS 150.0
#define C_TK_GV 650.0
#define C_TWO_TW "\wBlade Knight" //Change name for second class
#define C_BK_HP 185
#define C_BK_MS 35.0
#define C_BK_GV 700.0
#define C_THREE_TW "\wSoul Master" //Change name for third class
#define C_SM_HP 125
#define C_SM_MS 50.0
#define C_SM_GV 350.0
public plugin_init()
{
register_plugin("Class Menu for CRX", "2.0", "Mr. Boopsy");
register_clcmd("amx_resetclassID", "reset_id");
RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1);
}
public plugin_cfg()
{
new g_Vault = nvault_open( "ClassIdByBoopsys" );
if ( g_Vault == INVALID_HANDLE )
set_fail_state( "Error opening nVault" );
}
public plugin_end()
{
nvault_close( g_Vault );
}
public client_authorized(id)
{
get_user_authid(id, g_szAuthID[id], charsmax(g_szAuthID[]));
}
public OnPlayerSpawn(id)
{
if(is_user_alive(id))
{
LoadClass_Spawn(id);
LoadClass_Has(id);
}
}
public crxranks_user_level_updated(id, level, bool:levelup)
{
new cLevel = crxranks_get_user_level(id);
if(is_user_alive(id))
{
if( cLevel == 10 )
{
rank_ten(id);
}
else if( cLevel == 20 )
{
rank_tw(id);
}
}
}
public rank_ten(id)
{
new menu_ten = menu_create("\r[\wChoose Class\r]\r", "menu_ten_f")
menu_additem(menu_ten, C_ONE_TEN, "1", 0)
menu_additem(menu_ten, C_TWO_TEN, "2", 0)
menu_additem(menu_ten, C_THREE_TEN, "3", 0)
menu_setprop(menu_ten, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu_ten, 0)
}
public rank_tw(id)
{
new menu_tw = menu_create("\r[\wChoose Class\r]\r", "menu_tw_f")
menu_additem(menu_tw, C_ONE_TW, "1", 0)
menu_additem(menu_tw, C_TWO_TW, "2", 0)
menu_additem(menu_tw, C_THREE_TW, "3", 0)
menu_setprop(menu_tw, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu_tw, 0)
}
public menu_ten_f(id, menu_ten, item_ten)
{
if (item_ten == MENU_EXIT)
{
menu_destroy(menu_ten)
return PLUGIN_HANDLED
}
new data_ten[6], iName_ten[64]
new acces_ten, callback_ten
menu_item_getinfo(menu_ten, item_ten, acces_ten, data_ten,5, iName_ten, 63, callback_ten)
new key_ten = str_to_num(data_ten)
switch(key_ten)
{
case 1:
{
g_Class[id] = 1;
rank_ten_c_one(id);
CC_SendMessage(id, "&x01>> &x04You choosed &x07Rogue&x04!");
}
case 2:
{
g_Class[id] = 2;
rank_ten_c_two(id);
CC_SendMessage(id, "&x01>> &x04You choosed &x07Dark Knight&x04!");
}
case 3:
{
g_Class[id] = 3;
rank_ten_c_three(id);
CC_SendMessage(id, "&x01>> &x04You choosed &x07Wizard&x04!");
}
}
menu_destroy(menu_ten)
return PLUGIN_HANDLED
}
public menu_tw_f(id, menu_tw, item_tw)
{
if (item_tw == MENU_EXIT)
{
menu_destroy(menu_tw)
return PLUGIN_HANDLED
}
new data_tw[6], iName_tw[64]
new acces_tw, callback_tw
menu_item_getinfo(menu_tw, item_tw, acces_tw, data_tw,5, iName_tw, 63, callback_tw)
new key_tw = str_to_num(data_tw)
switch(key_tw)
{
case 1:
{
g_Class[id] = 4;
rank_tw_c_one(id);
CC_SendMessage(id, "&x01>> &x04You choosed &x07Trickster&x04!");
}
case 2:
{
g_Class[id] = 5;
rank_tw_c_two(id);
CC_SendMessage(id, "&x01>> &x04You choosed &x07Blade Knight&x04!");
}
case 3:
{
g_Class[id] = 6;
rank_tw_c_three(id);
CC_SendMessage(id, "&x01>> &x04You choosed &x07Soul Master&x04!");
}
}
menu_destroy(menu_tw)
return PLUGIN_HANDLED
}
public rank_ten_c_one(id) // Rogue
{
new szClass[20];
new szKey[40];
formatex(szKey, charsmax( szKey ), "%sCLASS", g_szAuthID[id]);
formatex(szClass, charsmax( szClass ), "%d", g_Class[id]); // Rogue
nvault_set(g_Vault, szKey, szClass);
set_user_health(id, C_RG_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_RG_MS);
set_user_gravity(id, ((C_RG_GV) / DEFAULT_GRAVITY_I));
}
public rank_ten_c_two(id) // Dark Knight
{
new szClass[20];
new szKey[40];
formatex(szKey, charsmax( szKey ), "%sCLASS", g_szAuthID[id]);
formatex(szClass, charsmax( szClass ), "%d", g_Class[id]); // Dark Knight
nvault_set(g_Vault, szKey, szClass);
set_user_health(id, C_DK_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_DK_MS);
set_user_gravity(id, ((C_DK_GV) / DEFAULT_GRAVITY_I));
}
public rank_ten_c_three(id) // Wizard
{
new szClass[20];
new szKey[40];
formatex(szKey, charsmax( szKey ), "%sCLASS", g_szAuthID[id]);
formatex(szClass, charsmax( szClass ), "%d", g_Class[id]); // Wizard
nvault_set(g_Vault, szKey, szClass);
set_user_health(id, C_WZ_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_WZ_MS);
set_user_gravity(id, ((C_WZ_GV) / DEFAULT_GRAVITY_I));
}
// LEVEL 20
public rank_tw_c_one(id) // Trickster
{
new szClass[20];
new szKey[40];
formatex(szKey, charsmax( szKey ), "%sCLASS", g_szAuthID[id]);
formatex(szClass, charsmax( szClass ), "%d", g_Class[id]); // Trickster
nvault_set(g_Vault, szKey, szClass);
set_user_health(id, C_TK_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_TK_MS);
set_user_gravity(id, ((C_TK_GV) / DEFAULT_GRAVITY_I));
}
public rank_tw_c_two(id) // Blade Knight
{
new szClass[20];
new szKey[40];
formatex(szKey, charsmax( szKey ), "%sCLASS", g_szAuthID[id]);
formatex(szClass, charsmax( szClass ), "%d", g_Class[id]); // Blade Knight
nvault_set(g_Vault, szKey, szClass);
set_user_health(id, C_BK_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_BK_MS);
set_user_gravity(id, ((C_BK_GV) / DEFAULT_GRAVITY_I));
}
public rank_tw_c_three(id) // Soul Master
{
new szClass[20];
new szKey[40];
formatex(szKey, charsmax( szKey ), "%sCLASS", g_szAuthID[id]);
formatex(szClass, charsmax( szClass ), "%d", g_Class[id]); // Soul Master
nvault_set(g_Vault, szKey, szClass);
set_user_health(id, C_SM_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_SM_MS);
set_user_gravity(id, ((C_SM_GV) / DEFAULT_GRAVITY_I));
}
public LoadClass_Has(id)
{
new szKey[40];
formatex(szKey, charsmax( szKey ), "%sCLASS", g_szAuthID[id]);
new iClass = nvault_get(g_Vault, szKey );
new cLevel = crxranks_get_user_level(id);
if( iClass != 1 && iClass != 2 && iClass != 3 && iClass != 4 && iClass != 5 && iClass != 6)
{
if( cLevel >= 10 && cLevel < 20 )
{
rank_ten(id);
}
if(cLevel >= 20)
{
rank_tw(id);
}
}
}
public LoadClass_Spawn(id)
{
new szKey[40];
formatex(szKey, charsmax( szKey ), "%sCLASS", g_szAuthID[id]);
new iClass = nvault_get(g_Vault, szKey );
if( iClass )
{
switch(iClass)
{
case 1:
{
set_user_health(id, C_RG_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_RG_MS);
set_user_gravity(id, ((C_RG_GV) / DEFAULT_GRAVITY_I));
CC_SendMessage(id, "&x01>> &x04Your class was updated to &x07Rogue&x04!");
}
case 2:
{
set_user_health(id, C_DK_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_DK_MS);
set_user_gravity(id, ((C_DK_GV) / DEFAULT_GRAVITY_I));
CC_SendMessage(id, "&x01>> &x04Your class was updated to &x07Dark Knight&x04!");
}
case 3:
{
set_user_health(id, C_WZ_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_WZ_MS);
set_user_gravity(id, ((C_WZ_GV) / DEFAULT_GRAVITY_I));
CC_SendMessage(id, "&x01>> &x04Your class was updated to &x07Wizard&x04!");
}
case 4:
{
set_user_health(id, C_TK_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_TK_MS);
set_user_gravity(id, ((C_TK_GV) / DEFAULT_GRAVITY_I));
CC_SendMessage(id, "&x01>> &x04Your class was updated to &x07Trickster&x04!");
}
case 5:
{
set_user_health(id, C_BK_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_BK_MS);
set_user_gravity(id, ((C_BK_GV) / DEFAULT_GRAVITY_I));
CC_SendMessage(id, "&x01>> &x04Your class was updated to &x07Blade Knight&x04!");
}
case 6:
{
set_user_health(id, C_SM_HP);
set_user_maxspeed(id, get_user_maxspeed( id ) + C_SM_MS);
set_user_gravity(id, ((C_SM_GV) / DEFAULT_GRAVITY_I));
CC_SendMessage(id, "&x01>> &x04Your class was updated to &x07Soul Master&x04!");
}
}
}
}
public reset_id(id)
{
if(has_flag(id, "m"))
{
nvault_prune(g_Vault, 0, get_systime());
server_cmd("restart");
}
}
__________________
Contact! || Discord:
Mr_Boopsy_#2066
|
|