Approved Set Player Level

Plug-ins compatibility with Zombie Escape 1.x only!


Post Reply
User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#11

Post by Raheem » 4 years ago

tmv wrote: 4 years ago When you enter a comment without a name and amount, this message will be appears

Code: Select all

[ZE] Invalid Player id (7)
[AMXX] Displaying debug trace (plugin "ze_set_player_level.amxx", version "1.0")
[AMXX] Run time error 10: native error (native "ze_set_user_level")
[AMXX]    [0] ze_set_player_level.sma::Cmd_SetLevel (line 35)
I forget to check if user connected or not, that's why this error thrown, fixed here:
    1. #include <zombie_escape>
    2. #include <ze_levels>
    3.  
    4. #define ACCESS ADMIN_RCON
    5.  
    6. public plugin_init ()
    7. {
    8.     register_plugin("[ZE] Set Player Level", "1.0", "Raheem")
    9.     register_clcmd("ze_setlevel", "Cmd_SetLevel", ACCESS, "- ze_setlevel <name> <amount>")
    10. }
    11.  
    12. public Cmd_SetLevel(id)
    13. {
    14.     if (!(get_user_flags(id) & ACCESS))
    15.     {
    16.         client_print(id, print_console, "You have no access to that command")
    17.         return PLUGIN_HANDLED
    18.     }
    19.    
    20.     new szName[32], szAmount[10]
    21.    
    22.     read_argv (1, szName, charsmax (szName))
    23.     read_argv (2, szAmount, charsmax (szAmount))
    24.    
    25.     new iTargetIndex = get_user_index(szName)
    26.    
    27.     if (!is_user_connected(iTargetIndex))
    28.         return PLUGIN_HANDLED
    29.    
    30.     if (!iTargetIndex)
    31.     {
    32.         client_print(id, print_console, "[ZE] Player not found!")
    33.         return PLUGIN_HANDLED
    34.     }
    35.    
    36.     new iLevel = str_to_num (szAmount)
    37.    
    38.     ze_set_user_level(iTargetIndex, iLevel)
    39.  
    40.     return PLUGIN_HANDLED
    41. }
He who fails to plan is planning to fail

User avatar
VicKy
Mod Tester
Mod Tester
Pakistan
Posts: 87
Joined: 3 years ago
Contact:

#12

Post by VicKy » 3 years ago

Its have error when i give my self lvl just lvl up and one shoot = one lvl uping
and xp goes to - negative
Level system NOMAX
Image

User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#13

Post by Raheem » 3 years ago

VicKy wrote: 3 years ago Its have error when i give my self lvl just lvl up and one shoot = one lvl uping
and xp goes to - negative
Level system NOMAX
This because you use high ze_maxlevels_increment, which will result in very high max-xp that cannot be stored in a variable. To understand, in PAWN any integer number has 4 byte to be stored in. Which mean maximum number that can be stored is nearly 2,147,483,648; 2 billions. The variable will not be able to store more because this number is represented in 32 bits.

When for example you use ze_maxlevels_increment 2.0, and try to set user level to 50, the max-xp exceeds 2,147,483,648 and things get wrong. So in fact this number cannot be reached by a player by any way.

So the solution is to reduce ze_maxlevels_increment to value like 1.1, and with this setting make sure not to exceed level 100.

Practical example, use these settings: If level go higher than 92, the max-xp will exceed the allowed number that can be stored in a variable, and you get wrong results.

If you will use No-MAXXP version then you need to take look at this: viewtopic.php?f=7&t=3422
He who fails to plan is planning to fail

Post Reply

Create an account or sign in to join the discussion

You need to be a member in order to post a reply

Create an account

Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute

Register

Sign in

Who is online

Users browsing this forum: No registered users and 1 guest