thanks Raheem all work i'am forget updateRaheem wrote: ↑5 years ago Make sure that level system plugin installed and latest version: viewtopic.php?f=15&t=72
Level Rank/Top Systems
-
- Member
- Posts: 32
- Joined: 6 years ago
- Location: Россия,Крым
- Contact:
When i do /lvlrank nothing happens but im the only player ever in server does this matter?
When i do /myrank i get a chat message <seems this works>
[Zombie Escape] Your rank is 1 of 1.
When i do /myrank i get a chat message <seems this works>
[Zombie Escape] Your rank is 1 of 1.
-
- Veteran Member
- Posts: 598
- Joined: 7 years ago
- Contact:
So how to say, at least 10 or 15 players (depends of the cvar) should join your server to make it working
compile with 1.4, i get this error.
Code: Select all
//// ze_frost_m4a1.sma
//
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(7) : error 017: undefined symbol "get_user_msgid"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(13) : error 017: undefined symbol "get_member_game"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(14) : error 017: undefined symbol "numargs"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(19) : error 017: undefined symbol "is_user_connected"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(29) : error 017: undefined symbol "getarg"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(34) : error 017: undefined symbol "getarg"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(35) : error 017: undefined symbol "GetLangTransKey"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(37) : error 017: undefined symbol "setarg"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(45) : error 017: undefined symbol "vformat"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(46) : error 017: undefined symbol "format"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(48) : error 017: undefined symbol "replace_all"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(49) : error 017: undefined symbol "replace_all"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(50) : error 017: undefined symbol "replace_all"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(53) : error 017: undefined symbol "message_begin"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(53) : warning 215: expression has no effect
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(53) : error 029: invalid expression, assumed zero
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(53) : error 029: invalid expression, assumed zero
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(53) : fatal error 107: too many error messages on one line
//
// Compilation aborted.
// 17 Errors.
// Could not locate output file C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\compiled\ze_frost_m4a1.amx (compile failed).
//
// Compilation Time: 0.11 sec
// ----------------------------------------
Can u post the source code u try to compile?
He who fails to plan is planning to fail
error
source code
Code: Select all
//AMXXPC compile.exe
// by the AMX Mod X Dev Team
//// ze_levels_rank_top.sma
//
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(7) : error 017: undefined symbol "get_user_msgid"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(7) : warning 215: expression has no effect
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(7) : error 001: expected token: ";", but found ")"
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(7) : error 029: invalid expression, assumed zero
// C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\include\zombie_escape.inc(7) : fatal error 107: too many error messages on one line
//
// Compilation aborted.
// 4 Errors.
// Could not locate output file C:\Users\Dell\Desktop\amxx 1.8.3 5169\amxmodx-1.8.3-dev-git5169-base-windows\addons\amxmodx\scripting\compiled\ze_levels_rank_top.amx (compile failed).
//
// Compilation Time: 0.23 sec
// ----------------------------------------
Press enter to exit ...
Code: Select all
#include <zombie_escape>
#include <nvault_util>
#include <ze_levels>
// Constants
new const g_szLevelsVault[] = "Levels"
new const g_szRanksVault[] = "Ranks"
// Variables
new g_iLevelsVault, g_iRanksVault
// Cvars
new g_pCvarEnableTop, g_pCvarLevelsToShow, g_pCvarEnableRank
public plugin_init()
{
register_plugin("[ZE] Level Top/Rank", "1.1", "Raheem")
// Commands
register_clcmd("say /lvlrank", "Cmd_Top")
register_clcmd("say_team /lvlrank", "Cmd_Top")
register_clcmd("say /myrank", "Cmd_Rank")
register_clcmd("say_team /myrank", "Cmd_Rank")
// Cvars
g_pCvarEnableTop = register_cvar("ze_enable_top_system", "1")
g_pCvarLevelsToShow = register_cvar("ze_levels_top_number", "10")
g_pCvarEnableRank = register_cvar("ze_enable_rank_system", "1")
}
public Cmd_Top(id)
{
if (get_pcvar_num(g_pCvarEnableTop) == 0)
return
// Open the two vaults using UTIL functions
new iLevelsVault = nvault_util_open(g_szLevelsVault)
new iRanksVault = nvault_util_open(g_szRanksVault)
// Open Vaults
g_iLevelsVault = nvault_open(g_szLevelsVault)
g_iRanksVault = nvault_open(g_szRanksVault)
// Max elements in Levels.vault and Rank.vault (They are same)
new iTotal = nvault_util_count(iLevelsVault)
new szKeyLevelSteam[32], // To hold SteamID from Levels.vault
szDataLevel[64], // To hold Levels, XP, MaxXP from Levels.vault
szKeyRankSteam[32], // To hold SteamID from Ranks.vault
szDataRank[64] // To hold Names from Ranks.vault
new Array:g_szMaxXP // Dynamic Array to hold all MaxXP (szData) from Levels.vault
// Useless Variables
new szVal[64], iTimeStamp
// Create Our Arrays with proper lengths [As we don't know iTotal Length so we use Dynamic]
g_szMaxXP = ArrayCreate(70)
// Tries
new Trie:g_Level_MaxXP,
Trie:g_XP_MaxXP,
Trie:g_SteamID_MaxXP,
Trie:g_Name_SteamID
g_Level_MaxXP = TrieCreate()
g_XP_MaxXP = TrieCreate()
g_SteamID_MaxXP = TrieCreate()
g_Name_SteamID = TrieCreate()
// Some integer counters to be used down
new i, iPos1 = 0, iPos2 = 0
// Format motd Header
new szMotd[1501], iLen
iLen = formatex(szMotd, charsmax(szMotd), "<body bgcolor=#000000><font color=#CBA50B><h3><pre>")
iLen += formatex(szMotd[iLen], charsmax(szMotd) - iLen, "%-3s %-32s %-11s %s^n", "#", "Name", "# Level", "# XP")
// Loop through all elements in our Levels.vault and Rank.vault
for(i = 0; i < iTotal; i++)
{
// Get SteamID from Levels.vault and save to szKey
iPos1 = nvault_util_read(iLevelsVault, iPos1, szKeyLevelSteam, charsmax(szKeyLevelSteam), szVal, charsmax(szVal), iTimeStamp)
// Get Levels, XP for every SteamID from Levels.vault and save to szData
nvault_lookup(g_iLevelsVault, szKeyLevelSteam, szDataLevel, charsmax(szDataLevel), iTimeStamp)
// Get SteamID from Ranks.vault and save to szKeyRank
iPos2 = nvault_util_read(iRanksVault, iPos2, szKeyRankSteam, charsmax(szKeyRankSteam), szVal, charsmax(szVal), iTimeStamp)
// Get Name from Ranks.vault and save to szDataRank
nvault_lookup(g_iRanksVault, szKeyRankSteam, szDataRank, charsmax(szDataRank), iTimeStamp)
// Spliting szData to Level and XP and Save them
new szLevel[32], szXP[32], szMaxXP[70]
parse(szDataLevel, szLevel, charsmax(szLevel), szXP, charsmax(szXP), szMaxXP, charsmax(szMaxXP))
// Add XP+MAXXP+SteamID to be unique for every player
formatex(szMaxXP, charsmax(szMaxXP), "%i %s", str_to_num(szMaxXP) + str_to_num(szXP), szKeyRankSteam)
// Save MAX-XP As Key, Level as Key Value
TrieSetCell(g_Level_MaxXP, szMaxXP, str_to_num(szLevel))
// Save MAX-XP As Key, XP as Key Value
TrieSetCell(g_XP_MaxXP, szMaxXP, str_to_num(szXP))
// Save MAX-XP As Key, SteamID as Value
TrieSetString(g_SteamID_MaxXP, szMaxXP, szKeyLevelSteam)
// Save SteamID As Key, Name as Value
TrieSetString(g_Name_SteamID, szKeyRankSteam, szDataRank)
// Save our MaxXP to Dynamic Array
ArrayPushString(g_szMaxXP, szMaxXP)
}
// Rank Max-XP + SteamID
ArraySortEx(g_szMaxXP, "TopSorting")
// Get Top Players Data
for (i = 0; i < get_pcvar_num(g_pCvarLevelsToShow); i++)
{
// MaxXP+SteamID As Key
new szMaxXP[70]
ArrayGetString(g_szMaxXP, i, szMaxXP, charsmax(szMaxXP))
// Get Level
new Level; TrieGetCell(g_Level_MaxXP, szMaxXP, Level)
// Get XP
new XP; TrieGetCell(g_XP_MaxXP, szMaxXP, XP)
// Get SteamID
new szSteamID[36]; TrieGetString(g_SteamID_MaxXP, szMaxXP, szSteamID, charsmax(szSteamID))
// Get Name
new szName[32]; TrieGetString(g_Name_SteamID, szSteamID, szName, charsmax(szName))
for (new j = 0; j < charsmax(szName); j++)
{
if (is_char_mb(szName[j]) > 0 || szName[j] == '<' || szName[j] == '>')
{
szName[j] = ' '
}
}
// Format Player
iLen += formatex(szMotd[iLen], charsmax(szMotd) - iLen, "%-3d %-32s %-11d %d^n", i + 1, szName, Level, XP)
}
// Format end of motd
iLen += formatex(szMotd[iLen], charsmax(szMotd) - iLen, "</body></font></h3></pre>")
// Finally Show motd to the player
show_motd(id, szMotd, "Levels Rank")
// Free our memory
ArrayDestroy(g_szMaxXP)
TrieDestroy(g_Level_MaxXP)
TrieDestroy(g_XP_MaxXP)
TrieDestroy(g_SteamID_MaxXP)
TrieDestroy(g_Name_SteamID)
// Closing UTIL Vaults
nvault_util_close(iLevelsVault)
nvault_util_close(iRanksVault)
// Close Vaults
nvault_close(g_iLevelsVault)
nvault_close(g_iRanksVault)
}
public Cmd_Rank(id)
{
if (get_pcvar_num(g_pCvarEnableRank) == 0)
return
// Open Levels vault via UTIL function
new iLevelsVault = nvault_util_open(g_szLevelsVault)
// Open Vault
g_iLevelsVault = nvault_open(g_szLevelsVault)
// Max elements in Levels.vault and Rank.vault (They are same)
new iTotal = nvault_util_count(iLevelsVault)
new szKey[32], // To hold SteamID from Levels.vault
szData[64] // To hold Levels, XP from Levels.vault
new Array:iMaxXP // Dynamic Array to hold all MaxXP (szData) from Levels.vault
// Useless Variables
new szVal[64], iTimeStamp
// Create Our Arrays with proper lengths [As we don't iTotal Length so we use Dynamic]
iMaxXP = ArrayCreate(1)
// Some integer counters to be used down
new i, iPos = 0
// Loop through all elements in our Levels.vault and Rank.vault
for(i = 0; i < iTotal; i++)
{
// Get SteamID from Levels.vault and save to szKey
iPos = nvault_util_read(iLevelsVault, iPos, szKey, charsmax(szKey), szVal, charsmax(szVal), iTimeStamp)
// Get Levels, XP for every SteamID from Levels.vault and save to szData
nvault_lookup(g_iLevelsVault, szKey, szData, charsmax(szData), iTimeStamp)
// Spliting szData to Level and XP and Save them
new szLevel[32], szXP[32], szMaxXP[32]
parse(szData, szLevel, 31, szXP, 31, szMaxXP, 31)
// Save our MaxXP to Dynamic Array
ArrayPushCell(iMaxXP, str_to_num(szMaxXP) + str_to_num(szXP))
}
// Rank Max-XP
ArraySortEx(iMaxXP, "RankSorting")
// Get Player rank
new iIndex = 0;
for (i = 0; i < ArraySize(iMaxXP); i++)
{
if (ArrayGetCell(iMaxXP, i) == (ze_get_user_max_xp(id) + ze_get_user_xp(id)))
{
iIndex = i
break;
}
}
ze_colored_print(id, "!tYour rank is !g%i !tof !g%i!y.", iIndex + 1, iTotal - 1)
// Free our memory
ArrayDestroy(iMaxXP)
// Closing UTIL Vault
nvault_util_close(iLevelsVault)
// Close Vaults
nvault_close(g_iLevelsVault)
}
public TopSorting(Array:g_szMaxXP, szItem1[], szItem2[])
{
// 2D arrays to hold max-xp and steam id for both item1 and item2
new szMaxXP[2][32], szSteamID[2][36]
// Split item1 to Max-XP and SteamID, same for item 2
parse(szItem1, szMaxXP[0], 31, szSteamID[0], 36)
parse(szItem2, szMaxXP[1], 31, szSteamID[1], 36)
// Start ranking
if (str_to_num(szMaxXP[0]) > str_to_num(szMaxXP[1]))
{
return -1
}
else if (str_to_num(szMaxXP[0]) < str_to_num(szMaxXP[1]))
{
return 1
}
return 0
}
public RankSorting(Array:iMaxXP, iItem1, iItem2)
{
if (iItem1 > iItem2)
{
return -1
}
else if (iItem1 < iItem2)
{
return 1
}
return 0
}
Compile with me without any erros, make sure to use this compiler: viewtopic.php?f=6&t=221
Also post your zombie_escape.inc file.
Also post your zombie_escape.inc file.
He who fails to plan is planning to fail
Raheem is there a PHP version to put on the website to show in-game ranking?
-
- Veteran Member
- Posts: 407
- Joined: 5 years ago
- Contact:
Why is it on trash?
Trashed because it's not working and not safe to use it.
I don't release a MySQL version, it's easy because it will be a php+html+mysql and many scripts exist online for this purpose.
I don't release a MySQL version, it's easy because it will be a php+html+mysql and many scripts exist online for this purpose.
He who fails to plan is planning to fail
-
- Veteran Member
- Posts: 407
- Joined: 5 years ago
- Contact:
ik its not working but i asking if he mean like this
-
- Veteran Member
- Posts: 407
- Joined: 5 years ago
- Contact:
No, I want to put it on the website.Muhammet20 wrote: ↑4 years agoare you mean like this? :
https://forums.alliedmods.net/showthread.php?t=198774
-
- Veteran Member
- Posts: 407
- Joined: 5 years ago
- Contact:
you mean like this but with Level system? :imSpartan wrote: ↑4 years agoNo, I want to put it on the website.Muhammet20 wrote: ↑4 years agoare you mean like this? :
https://forums.alliedmods.net/showthread.php?t=198774
YesMuhammet20 wrote: ↑4 years agoyou mean like this but with Level system? :imSpartan wrote: ↑4 years agoNo, I want to put it on the website.Muhammet20 wrote: ↑4 years ago
are you mean like this? :
https://forums.alliedmods.net/showthread.php?t=198774
s.png
-
- Veteran Member
- Posts: 407
- Joined: 5 years ago
- Contact:
ok thank youMuhammet20 wrote: ↑4 years agoi think that is hard but i will try to help
Will ask jack if he got time to do php page.
He who fails to plan is planning to fail
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
Sign in
Who is online
Users browsing this forum: No registered users and 1 guest