|
You last visited: Today at 14:20
Advertisement
[Release] New Flyff Website
Discussion on [Release] New Flyff Website within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.
10/22/2015, 12:55
|
#16
|
elite*gold: 0
Join Date: Aug 2009
Posts: 228
Received Thanks: 26
|
@xsrf
It's easy convert web to other games or is too dependent to FlyFF?
|
|
|
10/22/2015, 13:19
|
#17
|
elite*gold: 0
Join Date: May 2012
Posts: 871
Received Thanks: 642
|
Step by Step:
1: Change your authority in your Database -> WebAccount to Z.
2: Logout and login again.
3: Click on the link "Administration Panel".
4. Take the Code for your Authority expamle: Z out of your database -> SecurityKey
5. Type in your key and submit.
6. Reload the site oder just reload the userpanel in the sidebar an click on the link again.
@ julioclitwin
It's quiet diffcult. On the one hand you can take my website as a basic website for new projects. but using this site for other games is not possible.
If you want to create your own website just add me in Skype and may i can help your without any payments, but i can't promise it.
If i can't help you without a payment i'll let know it before i start my work (:
|
|
|
10/22/2015, 15:06
|
#18
|
elite*gold: 0
Join Date: Apr 2013
Posts: 24
Received Thanks: 0
|
Right, I followed your steps and it worked. Thanks,
I completely wiped everything and started fresh, and now this is showing up:
** FIXED **
Turns out I just clicked the error code showing and it started to work. Thanks for all your help xsrf I do appreciate it!
|
|
|
10/23/2015, 14:54
|
#19
|
elite*gold: 0
Join Date: Sep 2009
Posts: 228
Received Thanks: 42
|
Habe da ein kleines problem:
Channel1-1 ist auch eigentlich online, port stimmt auch
Edit: irgendwie scheint er hiermit ein problem zu haben
Code:
return $player['Result'][1]['m_szName'];
|
|
|
10/24/2015, 16:48
|
#20
|
elite*gold: 0
Join Date: Apr 2013
Posts: 24
Received Thanks: 0
|
Is there anyway in which you can remove the PaySafeCard payment option and insert a PayPal form instead?
Wanted to know if its possible or not, I should be able to implement it myself but thought I would ask first before trying in case I ruin what I have done so far.
Also how do I go about getting the server 'online/offline' to work correctly? It states its offline all the time yet my server has not been down for over 2 weeks.
cheers
Josh
|
|
|
10/25/2015, 18:46
|
#21
|
elite*gold: 0
Join Date: Mar 2008
Posts: 665
Received Thanks: 230
|
Quote:
Originally Posted by joshua.green
Is there anyway in which you can remove the PaySafeCard payment option and insert a PayPal form instead?
Wanted to know if its possible or not, I should be able to implement it myself but thought I would ask first before trying in case I ruin what I have done so far.
Also how do I go about getting the server 'online/offline' to work correctly? It states its offline all the time yet my server has not been down for over 2 weeks.
cheers
Josh
|
Yes, it's possible.
|
|
|
10/28/2015, 16:00
|
#22
|
elite*gold: 0
Join Date: Apr 2013
Posts: 24
Received Thanks: 0
|
How do I get the Server 'offline' changed to 'online'. Reason I ask is that in the Ajax code it says its looking at the server IP and then its Port. The IP Address works and the Port is open and viewable. Any ideas on how to make this happen?
- sorry for all the questions. Better to ask and learn.
Thanks
****Edit****
Got it to work, incase anyone else end up having an issue with this here is what I did:
In the file Stats.Controller.php you will see this code:
Code:
private function PingServerChannel($port, $ip){
if(@fsockopen($ip, $port, $errno, $errstr, 0.15) >= 0.15) {
return true;
}
else {
return false;
}
}
I did the following:
Code:
private function PingServerChannel($ip, $port){
if(@fsockopen($ip, $port, $errno, $errstr, 0.45) >= 0.45) {
return true;
}
else {
return false;
}
}
Incase you can't see it, I swithced the $port and the $ip arround, i then changed the 0.15 to 0.45 (personal choice, it won't affect you if you change this or not)
|
|
|
10/31/2015, 16:54
|
#23
|
elite*gold: 0
Join Date: May 2012
Posts: 871
Received Thanks: 642
|
Lordfix:
Stats.Controller.php
PHP Code:
private function CraftPlayerID($playerID){ $responseLength = 7; $valueLength = strlen($playerID); $valueLengthExtension = null; for($i = 1;$i <= $responseLength-$valueLength;$i++){ $valueLengthExtension .= 0; }; $mPlayerID = $valueLengthExtension.$playerID; $player = self::Select(array('m_szName'), 'Character', 'CHARACTER_TBL', array('m_idPlayer' => $mPlayerID), null, 'TOP 1 '); return $player; }
private function GetServerLord(){ $lord = self::Select(array('idElection', 'idLord'), 'Character', 'tblLord', null, ' ORDER BY [idElection] DESC', 'TOP 1'); if($lord['Rows'] > 0){ $lord = $lord['Result'][1]['idLord']; $player = self::CraftPlayerID($lord); $player['Rows'] != null ? $player = $player['Result'][1]['m_szName'] : $player = null; return $player; }else { return 'None'; } }
Vote:
- Add lastvote (int) in WebAccount Table in your website database.
- Write an ajax request (look at other files and call the vote function
Add this to Donate.Controller.php:
PHP Code:
public function SetVoteCoins() { global $cfg; $vote = self::Select(array('vcoins', 'lastvote'), 'Website', 'WebAccount', array('username' => $_SESSION['user'])); $last = $vote['Result'][1]['lastvote']; $coins = (int)$vote['Result'][1]['vcoins']; if($last == NULL || $last <= time()){ $nextvote = time()+1*(int)$cfg['set_vote_pause']*60*60; $newcoins = $coins + (int)$cfg['set_vote_coins']; self::Update(array('vcoins' => $newcoins), array('username' => $_SESSION['user']), 'Website', 'WebAccount'); self::Update(array('lastvote' => $nextvote), array('username' => $_SESSION['user']), 'Website', 'WebAccount'); return array('success', 'Vote success. Please refresh your panel to see your vote coins.'); }else { return array('danger', 'Can not vote now. New vote at: ' . date('d.m.Y h:i:s a')); } }
|
|
|
10/31/2015, 17:50
|
#24
|
elite*gold: 0
Join Date: Apr 2013
Posts: 24
Received Thanks: 0
|
Xsrf, how did you get the 'players online' stat working? Mine says 0 players all the time.
|
|
|
11/01/2015, 19:00
|
#25
|
elite*gold: 0
Join Date: Jul 2010
Posts: 176
Received Thanks: 13
|
Erstmal echt tolle Seite und prima Release
@xsrf
Wie kann ich das denn beheben, dass alle Spieler als Arcanist angezeigt werden als Job?
|
|
|
11/01/2015, 19:38
|
#26
|
elite*gold: 0
Join Date: May 2012
Posts: 871
Received Thanks: 642
|
My Ranking Controller:
PHP Code:
<?php
class Ranking extends Database {
/* Player Ranking Functions */
public static function GetClassIcon($classID) {
$class = Flyff::GetClassName($classID);
if(!$class[1]){
$class = $class[0];
}else {
$class = $class[0] . ' ' . $class[1];;
}
return $class;
}
public static function GetClassName($classID) {
$class = Flyff::GetClassName($classID);
$class = $class[0];
return $class;
}
public function GetPlayerList($limit) {
$get = self::Select(array('m_szName', 'm_nJob', 'm_nLevel', 'TotalPlayTime'), 'Character', 'CHARACTER_TBL', array('m_chAuthority' => 'F', 'isblock' => 'F'), ' ORDER BY [m_nLevel] DESC, [m_nJob] DESC, [TotalPlayTime] DESC', 'TOP '.$limit.' ', 0 , array('=', '='));
if($get['Rows'] > 0){
$get['bool'] = true;
return $get;
}else {
$get['bool'] = false;
return array('danger', 'There are no ranked players yet.');
}
}
public function SelectGuildIDByPlayer($player){
$guildID = self::Select(array('m_idGuild'), 'Character', 'GUILD_MEMBER_TBL', array('m_idPlayer' => $player), null);
if($guildID['Rows'] > 0){
$guildID = $guildID['Result'][1]['m_idGuild'];
}else {
$guildID = 'Guildless';
}
return $guildID;
}
private function SelectGuildNameByGuildID($guildID){
$guildName = $guildID;
if($guildName !== 'Guildless'){
$guildName = self::Select(array('m_szGuild'), 'Character', 'GUILD_TBL', array('m_idGuild' => $guildID), null);
$guildName = $guildName['Result'][1]['m_szGuild'];
}
return $guildName;
}
private function SetMultiserverView($multiserver){
if($multiserver === '1'){
return 'Online';
}else {
return 'Offline';
}
}
public function GetPlayerRanking($limit){
if(gettype($limit) === 'integer'){
$player = self::Select(array('m_idPlayer', 'm_szName', 'm_nJob', 'm_nLevel', 'TotalPlayTime', 'Multiserver'), 'Character', 'CHARACTER_TBL', array('m_chAuthority' => 'F', 'isblock' => 'F'), ' ORDER BY [m_nLevel] DESC, [m_nJob] DESC, [TotalPlayTime] DESC', 'TOP '.$limit.' ', 0, array('=', '='));
$rows = $player['Rows'];
if($rows > 0){
$player = $player['Result'];
for($i = 1;$i <= $rows;$i++){
$player[$i]['m_szGuild'] = self::SelectGuildNameByGuildID(self::SelectGuildIDByPlayer($player[$i]['m_idPlayer']));
$player[$i]['Multiserver'] = self::SetMultiserverView($player[$i]['Multiserver'] );
}
$player['bool'] = true;
return $player;
}else {
return array('danger', 'Actually we have no registered players.', 'bool' => false, );
}
}else {
return array('danger', 'Please stop forging the values.', 'bool' => false, );
}
}
/* Guild Ranking Functions */
private function CheckGuildMemberAuthority($guildID){
$response = 1;
$playerID = self::Select(array('m_idPlayer'), 'Character', 'GUILD_MEMBER_TBL', array('m_idGuild' => $guildID));
$authority = array();
for($i = 1;$i <= $playerID['Rows'];$i++){
$authority[$i] = self::Select(array('m_chAuthority'), 'Character', 'CHARACTER_TBL', array('m_idPlayer' => $playerID['Result'][$i]['m_idPlayer']));
if($authority[$i]['Result'][1]['m_chAuthority'] !== 'F'){
$response = 0;
}
}
return $response;
}
private function SelectLeaderNameByGuildID($leaderID){
$leaderName = self::Select(array('m_szName'), 'Character', 'CHARACTER_TBL', array('m_idPlayer' => $leaderID), null, 'TOP 1 ');
return $leaderName['Result'][1]['m_szName'];
}
private function BetterGuildCreateFormat($creationDate, $monthList){
$creationDate = substr($creationDate, 0, strlen($creationDate)-12);
$creationDate = explode('-', $creationDate);
$creationDate[1] = $monthList[$creationDate[1]-1];
$creationDate = $creationDate[1] . ', ' . $creationDate[0];
return $creationDate;
}
private function GetGuildMemberAmount($guildID){
$amount = self::Select(array('m_idPlayer'), 'Character', 'GUILD_MEMBER_TBL', array('m_idGuild' => $guildID));
return $amount['Rows'];
}
private function GetGuildLeader($guildID){
$leader = self::Select(array('m_idPlayer', 'm_nMemberLv'), 'Character', 'GUILD_MEMBER_TBL', array('m_idGuild' => $guildID), ' ORDER by [m_nMemberLv]', 'TOP 1 ');
$leader = self::SelectLeaderNameByGuildID($leader['Result'][1]['m_idPlayer']);
return $leader;
}
//in relation to slot amount + farbcodes
private function SplitSlotValues($slots, $amount){
$unit = $slots / 4;
if($amount <= $unit){
return '50d3a9';
}
elseif($amount <= ($unit * 2)){
return '7bd350';
}
elseif($amount <= ($unit * 3)){
return 'd3b050';
}
elseif($amount <= ($unit * 4)){
return 'd35050';
}
}
public function GetGuildRanking($limit, $monthList, $slots){
if(gettype($limit) === 'integer'){
$guild = self::Select(array('m_idGuild', 'm_szGuild', 'm_nLevel', 'CreateTime'), 'Character', 'GUILD_TBL', null, ' ORDER BY [m_nLevel] DESC, [CreateTime] DESC', 'TOP '.$limit. ' ');
$rows = $guild['Rows'];
if($rows > 0){
$guild = $guild['Result'];
$a = 0;
for($i = 1;$i <= $rows;$i++){
$guild[$i]['Authority'] = self::CheckGuildMemberAuthority($guild[$i]['m_idGuild']);
if($guild[$i]['Authority'] === 1){
$guild[$i]['MemberAmount'] = self::GetGuildMemberAmount($guild[$i]['m_idGuild']);
$guild[$i]['CreateTime'] = self::BetterGuildCreateFormat($guild[$i]['CreateTime'],$monthList);
$guild[$i]['GuildLeader'] = self::GetGuildLeader($guild[$i]['m_idGuild']);
$guild[$i]['SlotSplitter'] = self::SplitSlotValues($slots, $guild[$i]['MemberAmount']);
$a++;
}else {
unset($guild[$i]);
}
}
$mirror = array();
foreach($guild as $key => $value){
$mirror[] = $guild[$key];
}
$mirror['bool'] = true;
$mirror['hide'] = $a;
return $mirror;
}else {
return array('bool' => false, 'danger', 'There are actually none registered guilds.');
}
}
}
}
|
|
|
11/01/2015, 20:25
|
#27
|
elite*gold: 0
Join Date: Jul 2010
Posts: 176
Received Thanks: 13
|
Ok danke ^-^ funktioniert.
|
|
|
11/02/2015, 11:29
|
#28
|
elite*gold: 0
Join Date: May 2012
Posts: 871
Received Thanks: 642
|
Entschuldige, hier ist der wirkliche fix:
PHP Code:
<?php
class Ranking extends Database { /* Player Ranking Functions */ public static function GetClassIcon($classID) { $class = Flyff::GetClassName($classID); if(!$class[1]){ $class = $class[0]; }else { $class = $class[0] . ' ' . $class[1];; } return $class; } public static function GetClassName($classID) { $class = Flyff::GetClassName($classID); $class = $class[0]; return $class; } public function GetPlayerList($limit) { $get = self::Select(array('m_szName', 'm_nJob', 'm_nLevel', 'TotalPlayTime'), 'Character', 'CHARACTER_TBL', array('m_chAuthority' => 'F', 'isblock' => 'F'), ' ORDER BY [m_nLevel] DESC, [TotalPlayTime] DESC', 'TOP '.$limit.' ', 0 , array('=', '=')); if($get['Rows'] > 0){ $get['bool'] = true; return $get; }else { $get['bool'] = false; return array('danger', 'There are no ranked players yet.'); } } public function SelectGuildIDByPlayer($player){ $guildID = self::Select(array('m_idGuild'), 'Character', 'GUILD_MEMBER_TBL', array('m_idPlayer' => $player), null); if($guildID['Rows'] > 0){ $guildID = $guildID['Result'][1]['m_idGuild']; }else { $guildID = 'Guildless'; } return $guildID; } private function SelectGuildNameByGuildID($guildID){ $guildName = $guildID; if($guildName !== 'Guildless'){ $guildName = self::Select(array('m_szGuild'), 'Character', 'GUILD_TBL', array('m_idGuild' => $guildID), null); $guildName = $guildName['Result'][1]['m_szGuild']; } return $guildName; } private function SetMultiserverView($multiserver){ if($multiserver === '1'){ return 'Online'; }else { return 'Offline'; } } public function GetPlayerRanking($limit){ if(gettype($limit) === 'integer'){ $player = self::Select(array('m_idPlayer', 'm_szName', 'm_nJob', 'm_nLevel', 'TotalPlayTime', 'Multiserver'), 'Character', 'CHARACTER_TBL', array('m_chAuthority' => 'F', 'isblock' => 'F'), ' ORDER BY [m_nLevel] DESC, [TotalPlayTime] DESC', 'TOP '.$limit.' ', 0, array('=', '=')); $rows = $player['Rows']; if($rows > 0){ $player = $player['Result']; for($i = 1;$i <= $rows;$i++){ $player[$i]['m_szGuild'] = self::SelectGuildNameByGuildID(self::SelectGuildIDByPlayer($player[$i]['m_idPlayer'])); $player[$i]['Multiserver'] = self::SetMultiserverView($player[$i]['Multiserver'] ); } $player['bool'] = true; return $player; }else { return array('danger', 'Actually we have no registered players.', 'bool' => false, ); } }else { return array('danger', 'Please stop forging the values.', 'bool' => false, ); } } /* Guild Ranking Functions */ private function CheckGuildMemberAuthority($guildID){ $response = 1; $playerID = self::Select(array('m_idPlayer'), 'Character', 'GUILD_MEMBER_TBL', array('m_idGuild' => $guildID)); $authority = array(); for($i = 1;$i <= $playerID['Rows'];$i++){ $authority[$i] = self::Select(array('m_chAuthority'), 'Character', 'CHARACTER_TBL', array('m_idPlayer' => $playerID['Result'][$i]['m_idPlayer'])); if($authority[$i]['Result'][1]['m_chAuthority'] !== 'F'){ $response = 0; } } return $response; } private function SelectLeaderNameByGuildID($leaderID){ $leaderName = self::Select(array('m_szName'), 'Character', 'CHARACTER_TBL', array('m_idPlayer' => $leaderID), null, 'TOP 1 '); return $leaderName['Result'][1]['m_szName']; } private function BetterGuildCreateFormat($creationDate, $monthList){ $creationDate = substr($creationDate, 0, strlen($creationDate)-12); $creationDate = explode('-', $creationDate); $creationDate[1] = $monthList[$creationDate[1]-1]; $creationDate = $creationDate[1] . ', ' . $creationDate[0]; return $creationDate; } private function GetGuildMemberAmount($guildID){ $amount = self::Select(array('m_idPlayer'), 'Character', 'GUILD_MEMBER_TBL', array('m_idGuild' => $guildID)); return $amount['Rows']; } private function GetGuildLeader($guildID){ $leader = self::Select(array('m_idPlayer', 'm_nMemberLv'), 'Character', 'GUILD_MEMBER_TBL', array('m_idGuild' => $guildID), ' ORDER by [m_nMemberLv]', 'TOP 1 '); $leader = self::SelectLeaderNameByGuildID($leader['Result'][1]['m_idPlayer']); return $leader; } //in relation to slot amount + farbcodes private function SplitSlotValues($slots, $amount){ $unit = $slots / 4; if($amount <= $unit){ return '50d3a9'; } elseif($amount <= ($unit * 2)){ return '7bd350'; } elseif($amount <= ($unit * 3)){ return 'd3b050'; } elseif($amount <= ($unit * 4)){ return 'd35050'; } } public function GetGuildRanking($limit, $monthList, $slots){ if(gettype($limit) === 'integer'){ $guild = self::Select(array('m_idGuild', 'm_szGuild', 'm_nLevel', 'CreateTime'), 'Character', 'GUILD_TBL', null, ' ORDER BY [m_nLevel] DESC, [CreateTime] DESC', 'TOP '.$limit. ' '); $rows = $guild['Rows']; if($rows > 0){ $guild = $guild['Result']; $a = 0; for($i = 1;$i <= $rows;$i++){ $guild[$i]['Authority'] = self::CheckGuildMemberAuthority($guild[$i]['m_idGuild']); if($guild[$i]['Authority'] === 1){ $guild[$i]['MemberAmount'] = self::GetGuildMemberAmount($guild[$i]['m_idGuild']); $guild[$i]['CreateTime'] = self::BetterGuildCreateFormat($guild[$i]['CreateTime'],$monthList); $guild[$i]['GuildLeader'] = self::GetGuildLeader($guild[$i]['m_idGuild']); $guild[$i]['SlotSplitter'] = self::SplitSlotValues($slots, $guild[$i]['MemberAmount']); $a++; }else { unset($guild[$i]); } } $mirror = array(); foreach($guild as $key => $value){ $mirror[] = $guild[$key]; } $mirror['bool'] = true; $mirror['hide'] = $a; return $mirror; }else { return array('bool' => false, 'danger', 'There are actually none registered guilds.'); } } } }
|
|
|
11/02/2015, 20:34
|
#29
|
elite*gold: 0
Join Date: Jan 2014
Posts: 32
Received Thanks: 1
|
can you please upload a db for mssql 2008?
|
|
|
11/02/2015, 20:40
|
#30
|
elite*gold: 0
Join Date: May 2012
Posts: 871
Received Thanks: 642
|
No sorry, just look at my database and create it in 2008. It's not so hard.
|
|
|
All times are GMT +1. The time now is 14:24.
|
|