Author Topic: ZitroFUN-Heavy  (Read 5504 times)

0 Members and 1 Guest are viewing this topic.

Offline smurf22a

  • Major(1)
  • Posts: 5
ZitroFUN-Heavy
« on: December 31, 2014, 06:08:24 am »
Script Name: ZitroFUN-Heavy
Script Description: Stats + Rank + Registration + Other Features.
Version: 1.0.0 (Final release)
Author: dominikkk26
Compile Test: Passed
Core Version: 2.7.7+
Script Language: English
Point System: Formula ELO 50/1+10k-v/1000
Player Rate System: Formula (Accuracy% * (Kills/Death) * (Win/Lose) * Precision) / TT)
Download: Attachment! Click here to download the latest version.
Code script: Click to view
Full Description:
Statistics are assigned to the players NAME.
Script is contatybile with all gamemode!


Script Featuring:
  • Player stats, Map stats, Server stats
  • Ranks, Map ranks
  • Anty major statystic, Anty bugs stats, Anty several same player in the game
  • Script for ZitroFUN (inter alia generate HWID tracker list)
  • You can check the last time I played there anyone here with friends
  • Register, login, changepass, changenick etc. system features
  • Auto Register, Auto Login
  • Search player if you have forgotten nickname friend or other
  • Smart and ultra-efficient

Featuring player statystic: Rank, Points, K/D, Kills, Death, Selfkills, Teamkills, Killed By Friend, Flag Grab, Flag Return, Flag Score, Flag Drop, Alpha Caps, Bravo Caps, Alpha Points, Bravo Points, Kill Flager, Shots, Hits, Mishit, Accuracy: %, Friendly shoots, Savior kill, Revenge, Assist, Posthumous Kill, Wins, Lose, Draws, Win/Lose ratio, AlphaWin, AlphaLose, BrawoWin, BrawoLose, CharlieWin, CharlieLose, DeltaWin, DeltaLose.
Featuring map statystic: Kills, Deatch, Selfkills, Teamkills, Flag Caps, Flag Grabs, Flag Returns, Flag Drop, Games played, Map Rank, Players Joined, Players Left, Players Kicked.
Featuring server statystic: Joins to alpha, Joins to bravo, Joins to charlie, Joins to delta, Joins to spec, Server Visit, Kills, Teamkills, Deaths, Selfkills, Kick of Game.

CommandsParameters   Description
!reginfoNone   List all commands related statistics and registration.
!loginNone   Shows how to login.
!voteupdateNone   Vote for statistics update.
!topNone   Shows the top 10 best players.
!top <Number><Number>: How many player has to be in the list of top   Shows indicated number of top players. The maximum number of players to display this top 30.
!topmapsNone   View top map list/most often played.
!ss !serverstatsNone   Displays server statistics.
!mapstatsNone   View map statistics.
!mapstats <MapName><MapName>Map name   Displays statistics indicated maps.
!statsNone   View your statistics.
!stats <ID|FullName|PartName><ID>Player ID
<FullName>You must specify the full nickname if the player offline
<PartName>: Part name player
   Player statistics display indicated.
!flagstatsNone   View player statistics related to flag.
!flagstats <ID|FullName|PartName><ID>Player ID
<FullName>You must specify the full nickname if the player offline
<PartName>: Part name player
   View player statistics related to flag, indicated player.
!otherstatsNone   Displaying the rest of your statistics.
!otherstats <ID|FullName|PartName><ID>Player ID
<FullName>You must specify the full nickname if the player offline
<PartName>: Part name player
   View other statistics indicated player.
!winstatsNone   Displays statistics on wins and losses.
!winstats <ID|FullName|PartName><ID>Player ID
<FullName>You must specify the full nickname if the player offline
<PartName>: Part name player
   Displays statistics on wins and losses, indicated player.
!search <Name><Name>Name|Partname search player   Searches for players.
!rankNone   Shows on which ranking you are, and how many points you have.
!rank<ID|FullName|PartName><ID>Player ID
<FullName>You must specify the full nickname if the player offline
<PartName>: Part name player
   Shows where the position is designated player, and his points.
!rankid <Number><Number>Rank number   Shows who is on the specified position in the ranking and how many points have.
!zitroNone   Displays information about the author, touch, version of the script and the number of registered players.
/create <Password><Password>Password   Register a new account.
/addpassword <Password><Password>Password   Adding a password only when you will be automatically registered.
/deletemyacc <Password><Password>Password   Removes your account forever.
/login <Password><Password>Password   Logging on account.
/autologin <Type><Type>HWID, IP, NICK, OFF   Changing the type of autologon or disable it.
/logoutNone   Logout of your account.
/resetstatsNone   Restart all of your statistics.
/changepass <Old_pass> <New_pass><Old_pass>Old password
<New_pass>New password
   Changing the password for the new.
/changenick <Pass> <New_nick><Pass>Password
<New_nick>New nickname
   Changing to a new nickname, the correct change attach again with a new nickname.
/lastplayed <ID|FullName|PartName><ID>Player ID
<FullName>You must specify the full nickname if the player offline
<PartName>: Part name player
   Check when the player was last on the server.

AdminCommandsParameters   Description
/ResetStatsID <ID><ID>: Indicated ID player   Reset other player stats.
/DeleteAcc <ID><ID>: Indicated ID player   Delete of a player account (ID).
/AdminCommandsNone   Show all Admins Commands.
/UpdateStatsNone   Quick update statistics.
/ResetRanksNone   Restarts ranks.
/ResetAllPlayerStatsNone   Restarts all players stats.
/ResetAllMapStatsNone   Restarts all maps stats.
/ResetServerStatsNone   Restarts the server statistics.
/ResetMapTopNone   Restarts top maps.
/ReloadSettingsNone   Reloads settings.

Code: (How edit settings.ini) [Select]
[Colors] - Colors settings.
ColorGOOD=$EE00FF00         - Color for correct messages. Default is green.
ColorBAD=$ff0033 - Color for incorrect messages. Default is red.

[Vote] - Vote Settings.
Vote=75 - Percentage needed for vote to pass. Default 75.
VoteTime=30 - Duration of the voting. Default 30 (in seconds).
VoteTimeAdd=7         - Time that extends duration of voting when someone vote. Default 7. (In seconds)

[Default] - Default Values.
DefaultAutoLogin=HWID         - Default type of auto logging. (Values OFF|NICK|IP|HWID).
PointsForStart=1000 - Point for start if a player registers or restart stats etc.
MaxPointGive=50 - The max number of points awarded.

[Stats]
Multiplier=100 - Multiplier, Default 100. Accuracy of this assessment the player by the server.
LimitKills=25 - Limit of player kills that are needed to see statistic.
TopLines=10 - Number of Players and Maps in !top and !topmaps.
UpdateRanksRealTime=ON - Realtime statistic update, recommended for better servers. (Values ON|OFF)
MinimalKills=15 - The minimum number of killings, scored the server to win in gamestyle DEATHMATCH etc.

[Accounts]
AutoRegister=ON   - Enable or dissable auto auto registration. (Values ON|OFF)
KickTime=15 - Time after which player will be kicked when don't login. Default 15. (In seconds)
KickTimeON=OFF   - Enable or dissable KickTime. (Values ON|OFF)
AntyMajorStats=ON   - Enable or dissable Major statistics. Default ON. (Values ON|OFF)
AntyMulti=ON - Enable or dissable MultiAccound at the same time. Prevent bugs statistics.

[Messages]
WriteLnSpam=OFF   - AntySpam in console when players didn't login. Default OFF [Do not change]. (Values ON|OFF)
TimeMesON=ON   - Enable or dissable info messages. Default ON. (Values ON|OFF)
TimeMes=1 - Time which this messages should appear in console. (In minutes)
YouInfoHere=Script Forum: - Your info displayed in command !credit !zitro etc.

[MapStats]
MapStatsON=ON   - Enable or dissable map statistics. Default ON. (Values ON|OFF)
TopMapsON=ON   - Enable or dissable top map list/most often played. Default ON. Remember that topmaps need enabled mapstats. (Values ON|OFF)

[EnableStats]   - Enable or dissable creting statistics and rankings. Dissable statistics also disable commands. (Values ON|OFF)

[EnableCommands]   - Enable or dissable selected commands. (Values ON|OFF)

[PublicDisplayStats]   - Choose with statistic should be visible in public. Eg !stats(Stats) is visible but !stats <name>(StatsOther) is not. (Values ON|OFF)

If you previously use beta 1.0.0 and want to use this version without losing the old data? You will need to simply call this script  "UpdateOldPlayerListToNew();". This is not necessary, but you should do if you want to !search function correctly. This will generate a new list (players2.db) remove the old players.db and rename players2.db to players.db and restart server.
Patch:=nickreg/server/


Credits and thanks:
Thanks to you! DorkeyDear & CurryWurst (as Explode2 and MD5Issue).
homerofgods and Akinaro (as translating).
kicikici (for all the support ideas and solutions).
Nedi (as WowSuchASpeed and WowItsEvenFaster).
Also, all those who have contributed to the development of beta and, in particular
administrators who used the beta version on their servers.
(Leo, skrx, Jotemi, JumpTestLong Servers, Kali servers, Zabijaka OWN server and other group and players)


More recent my scripts you can find here.

Offline soldat-game

  • Camper
  • ***
  • Posts: 407
Re: ZitroFUN-Heavy
« Reply #1 on: March 05, 2017, 08:18:56 am »
By Dominik
Description:
Someone asked me about the procedure that generates a multi accounts.
Procedure generator  file hwid tracer.
How use:
1. Go to nickreg folder and press shit and right click. Now click "Open command window here".
2. Paste it: dir /b > nickreg/server/players.db and press enter.
3. Open script and add Procedure Generate(); in code.
4. Call this procedure. To start when the server starts add this code in:
Code: [Select]
procedure ActivateServer();
var b: byte; Temp: TStringList;
begin
Generate();
....

Code Procedure:
Code: [Select]
Procedure Generate();
var PlayerList,PlayerTemp,MultiAccount,MultiAccountClear: TStringList; i,b,c:int64; findmulti:boolean; kd:double; licznik:integer;
begin
PlayerList := File.CreateStringListFromFile('nickreg/server/players.db');
MultiAccount := File.CreateStringList();
MultiAccountClear :=  File.CreateStringList(); c:=0;
for i := 0 to PlayerList.Count-1 do begin
if (File.Exists('nickreg/'+PlayerList[i])) then begin
PlayerTemp := File.CreateStringListFromFile('nickreg/'+PlayerList[i]);
WriteLn('---------------------------------------------------');
WriteLn('Player: '+PlayerList[i]);
WriteLn('HWID:   '+PlayerTemp[3]);
if (MultiAccount.Count>0) then begin
findmulti:=false;
for b := 0 to MultiAccount.Count-1 do begin
if (GetPiece(MultiAccount[b],' [¶:¶] ',0) = PlayerTemp[3]) then begin
if not (ContainsString(MultiAccount[b],PlayerTemp[0])) then begin
MultiAccount[b] := MultiAccount[b]+' [¶] '+PlayerTemp[0];
findmulti:=true;
end;
end;
end;
if (findmulti) then WriteLn('[+] Find multiaccounts!') else begin
MultiAccount.Append(PlayerTemp[3]+' [¶:¶] '+PlayerTemp[0]);
WriteLn('[-] Dont find multiaccounts.');
end;
end else
begin
MultiAccount.Append(PlayerTemp[3]+' [¶:¶] '+PlayerTemp[0]);
WriteLn('[-] Dont find multiaccounts.');
licznik:=licznik+1;
end;
PlayerTemp.Free;
end;
kd:=(i*100/(PlayerList.Count-1)); c:=c+1;
if (c=Round(0.2*(PlayerList.Count-1))) then begin
WriteLn('            --------- '+formatfloat('0.00',kd)+'% ---------');
Sleep(800); c:=0;
end;
end;
if (MultiAccount.Count>0) then begin
WriteLn('--------------- FINALIZATION RESULT ---------------'); c:=0;
for i := 0 to MultiAccount.Count-1 do begin
kd:=(i*100/(MultiAccount.Count-1)); c:=c+1;
if (c=Round(0.2*(MultiAccount.Count-1))) then begin
WriteLn('            --------- '+formatfloat('0.00',kd)+'% ---------');
Sleep(250); c:=0;
end;
if (ContainsString(MultiAccount[i],' [¶] ')) then MultiAccountClear.Append(MultiAccount[i]);
end;
WriteLn('--------- Go to nickreg/server/players.db ---------');
WriteLn(' '); WriteLn(' ');
end;
if (MultiAccountClear.Count>0) then MultiAccountClear.SaveToFile('nickreg/server/HWIDLIST.db');
PlayerList.Free;
MultiAccount.Free;
MultiAccountClear.Free;
end;
Preview:

Generated MULTI ACCOUNT list : http://pastebin.com/ifKny4ZH
In attach big database 2708 accounts. And generated find multiaccounts.

Offline soldat-game

  • Camper
  • ***
  • Posts: 407
Re: ZitroFUN-Heavy
« Reply #2 on: March 09, 2017, 12:04:29 pm »
Now !top is now very clear:

Now remove !rankid <num>
Now add !top <num> u write !top 20 u see Top 10-30 or write !top 50 u see top 40-60 if u change top display to 10 u now see top 45-55.
Add new paramets:
   BonusPrecentForCapperPlayer = 10.0;
   MaxPointGivesFromFlagCap = 85;
   Top1PlayerC = $FFD700;
   Top2PlayerC = $C0C0C0;
   Top3PlayerC = $cc6633;
   YourPosCollorInTop = $33FF33;
   MidEndCollor = $99FF99;
   IndicatedCollor = $99FF00;
   DzielnaEloForFlag = 1000;      //Formuła ELO. Punkty = MaxPointGive / (MinimalElo + (DzielnaElox2 ^ ((Player_Winner_Points - Player_Loser_Points) / DzielnaElo)))
   DzielnaElox2ForFlag = 10;      //
   MinimalEloForFlag = 1;         //Może nie tykaj
This work sum all teampoint and use elo system and give +10% for caper player points code 1909-1939.
Code: [Select]
if (GameStyle = 3) then begin
for i := 1 to 32 do if (Players[i].Active) then begin
if (Players[i].Team=1) then begin
if (PlayerInfo[i].NickStatus) then T1:=T1+strtoint(PlayerStats[i].Points) else T1:=T1+strtoint(PointsForStart);
end;
if (Players[i].Team=2) then begin
if (PlayerInfo[i].NickStatus) then T2:=T2+strtoint(PlayerStats[i].Points) else T2:=T2+strtoint(PointsForStart);
end;
end;
FullPoint:=Give(iif(Players[id].Team=1,T1,T2),iif(Players[id].Team=1,T2,T1));
FullPoint:=Round(FullPoint/Trunc((Game.Teams[1].Count+Game.Teams[2].Count)/2));
for i := 1 to 32 do if (Players[i].Active) then begin
if (PlayerInfo[i].NickStatus) then begin
if (Players[id].Team=Players[i].Team) then begin
if (id=i) then begin
PlayerStats[i].Points:=inttostr(strtoint(PlayerStats[i].Points)+FullPoint+Trunc((BonusPrecentForCapperPlayer*FullPoint)/100.0));
Players[i].WriteConsole('You capture flag you get '+inttostr(FullPoint)+' pts. + '+inttostr(Trunc((BonusPrecentForCapperPlayer*FullPoint)/100.0)+' bonus for your cap.',GOOD);
end else
begin
PlayerStats[i].Points:=inttostr(strtoint(PlayerStats[i].Points)+FullPoint);
Players[i].WriteConsole('Your team capture flag you get '+inttostr(FullPoint)+' pts.',GOOD);
end;
end else if (Players[i].Team<3) then begin PlayerStats[i].Points:=inttostr(strtoint(PlayerStats[i].Points)-FullPoint); Players[i].WriteConsole('Enemy capture the flag you lost '+inttostr(FullPoint)+' pts.',BAD); end;
UpdateNickname(i);
if (lowercase(EnableTop) = lowercase('ON')) then begin
if (GetPlayerStat(i, 'Human')) then UpdateRanks(i);
SaveRanks();
end;
end;
end;
end;