Register for your free account! | Forgot your password?

You last visited: Today at 17:38

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] ItemArray (PHP)

Discussion on [Release] ItemArray (PHP) within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.

Reply
 
Old   #1
 
xsrf's Avatar
 
elite*gold: 0
Join Date: May 2012
Posts: 870
Received Thanks: 642
[Release] ItemArray (PHP)

Hier mal das Array der PropItem.txt.

Es ist nur das Array kein fertiger Code. Wer ein wenig Ahnung hat wird es verwenden können, es soll den Leuten die es benutzen nur ein wenig Arbeit ersparen.

PHP:

PHP Code:
public function getItemStats($intItemId){
             
        
$valueArray $this->openFile;
        
$getLine explode("\t"trim($valueArray[$intItemId]));

        
$copyArray = array(
            
'ver6' => $getLine[0],
            
'dwID' => $getLine[1],
            
'szName' => $getLine[2],
            
'dwNum' => $getLine[3],
            
'dwPackMax' => $getLine[4],
            
'dwItemKind1' => $getLine[5],
            
'dwItemKind2' => $getLine[6],
            
'dwItemKind3' => $getLine[7],
            
'dwItemJob' => str_replace('_'' 'str_replace('JOB_'null$getLine[8])),
            
'bPermanence' => $getLine[9],
            
'dwUseable' => $getLine[10],
            
'dwItemsex' => $getLine[11],
            
'dwCost' => $getLine[12],
            
'dwEndurance' => $getLine[13],
            
'nAbrasion' => $getLine[14],
            
'nMaxRepair' => $getLine[15],
            
'dwHanded' => $getLine[16],
            
'dwFlag' => $getLine[17],
            
'dwParts' => $getLine[18],
            
'dwPartsub' => $getLine[19],
            
'bPartFile' => $getLine[20],
            
'dwExclusive' => $getLine[21],
            
'dwBasePartsIgnore' => $getLine[22],
            
'dwItemLV' => $getLine[23],
            
'dwItemRare' => $getLine[24],
            
'dwShopAble' => $getLine[25],
            
'bLog' => $getLine[26],
            
'bCharged' => $getLine[27],
            
'dwLinkKindBullet' => $getLine[28],
            
'dwLinkKind' => $getLine[29],
            
'dwAbilityMin' => $getLine[30],
            
'eItemType' => $getLine[31],
            
'wItemEAtk' => $getLine[32],
            
'dwParry' => $getLine[33],
            
'dwBlockRating' => $getLine[34],
            
'dwUseable' => $getLine[35],
            
'dwAddSkillMin' => $getLine[36],
            
'dwAddSkillMax' => $getLine[37],
            
'dwAtkStyle' => $getLine[38],
            
'dwWeaponType' => $getLine[39],
            
'dwItemAtkOrder1' => $getLine[40],
            
'dwItemAtkOrder2' => $getLine[41],
            
'dwItemAtkOrder3' => $getLine[42],
            
'dwItemAtkOrder4' => $getLine[43],
            
'bContinuousPain' => $getLine[44],
            
'dwShellQuantity' => $getLine[45],
            
'dwRecoil' => $getLine[46],
            
'dwLoadingTime' => $getLine[47],
            
'nAdjHitRate' => $getLine[48],
            
'dwAttackSpeed' => $getLine[49],
            
'dwDmgShift' => $getLine[50],
            
'dwAttackRange' => $getLine[51],
            
'dwProbability' => $getLine[52],
            
'dwDestParam1' => $getLine[53],
            
'dwDestParam2' => $getLine[54],
            
'dwDestParam3' => $getLine[55],
            
'nAdjParamVal1' => $getLine[56],
            
'nAdjParamVal2' => $getLine[57],
            
'nAdjParamVal3' => $getLine[58],
            
'dwChgParamVal1' => $getLine[59],
            
'dwChgParamVal2' => $getLine[60],
            
'dwChgParamVal3' => $getLine[61],
            
'dwdestData1' => $getLine[62],
            
'dwdestData2' => $getLine[63],
            
'dwdestData3' => $getLine[64],
            
'dwactiveskill' => $getLine[65],
            
'dwactiveskillLv' => $getLine[66],
            
'dwactiveskillper' => $getLine[67],
            
'dwReqMp' => $getLine[68],
            
'dwRepFp' => $getLine[69],
            
'dwReqDisLV' => $getLine[70],
            
'dwReSkill1' => $getLine[71],
            
'dwReSkillLevel1' => $getLine[72],
            
'dwReSkill2' => $getLine[73],
            
'dwReSkillLevel2' => $getLine[74],
            
'dwSkillReadyType' => $getLine[75],
            
'dwSkillReady' => $getLine[76],
            
'dwSkillRange' => $getLine[77],
            
'dwSfxElemental' => $getLine[78],
            
'dwSfxObj' => $getLine[79],
            
'dwSfxObj2' => $getLine[80],
            
'dwSfxObj3' => $getLine[81],
            
'dwSfxObj4' => $getLine[82],
            
'dwSfxObj5' => $getLine[83],
            
'wUseMotion' => $getLine[84],
            
'dwCircleTime' => $getLine[85],
            
'dwSkillTime' => $getLine[86],
            
'dwExeTarget' => $getLine[87],
            
'dwUseChance' => $getLine[88],
            
'dwSpellRegion' => $getLine[89],
            
'dwSpellType' => $getLine[90],
            
'dwReferStat1' => $getLine[91],
            
'dwReferStat2' => $getLine[92],
            
'dwReferTarget1' => $getLine[93],
            
'dwReferTarget2' => $getLine[94],
            
'dwReferValue1' => $getLine[95],
            
'dwReferValue2' => $getLine[96],
            
'dwSkillType' => $getLine[97],
            
'fItemResistElecricity' => $getLine[98],
            
'fItemResistFire' => $getLine[99],
            
'fItemResistWind' => $getLine[100],
            
'fItemResistWater' => $getLine[101],
            
'fItemResistEarth' => $getLine[102],
            
'nEvildoing' => $getLine[103],
            
'dwExpertLV' => $getLine[104],
            
'ExpertMax' => $getLine[105],
            
'dwSubDefine' => $getLine[106],
            
'dwExp' => $getLine[107],
            
'dwComboStyle' => $getLine[108],
            
'fFlightSpeed' => $getLine[109],
            
'fFlightLRAngle' => $getLine[110],
            
'fFlightTBAngle' => $getLine[111],
            
'dwFlightLimit' => $getLine[112],
            
'dwFFuelReMax' => $getLine[113],
            
'dwAFuelReMax' => $getLine[114],
            
'dwFuelRe' => $getLine[115],
            
'dwLimitLevel1' => $getLine[116],
            
'dwReflect' => $getLine[117],
            
'dwSndAttack1' => $getLine[118],
            
'dwSndAttack2' => $getLine[119],
            
'szIcon' => $getLine[120],
            
'dwQuestID' => $getLine[121],
            
'szTextFile' => $getLine[122],
            
'szComment' => $getLine[123],
            
'szIconPNG' => str_replace('dds''png'str_replace('"'null$getLine[120]))

            
        );
        
        return 
$copyArray;
           
    } 
Output:

Code:
Array
(
    [ver6] => 6
    [dwID] => II_ARM_M_ACR_SUIT0101
    [szName] => IDS_PROPITEM_TXT_002164
    [dwNum] => 1
    [dwPackMax] => 1
    [dwItemKind1] => IK1_ARMOR
    [dwItemKind2] => IK2_ARMOR
    [dwItemKind3] => IK3_SUIT
    [dwItemJob] => JOB_ACROBAT
    [bPermanence] => TRUE
    [dwUseable] => 0
    [dwItemsex] => SEX_MALE
    [dwCost] => 3895
    [dwEndurance] => 9000000
    [nAbrasion] => 100
    [nMaxRepair] => 180
    [dwHanded] => =
    [dwFlag] => =
    [dwParts] => PARTS_UPPER_BODY
    [dwPartsub] => =
    [bPartFile] => 1
    [dwExclusive] => PARTS_LOWER_BODY
    [dwBasePartsIgnore] => =
    [dwItemLV] => 18
    [dwItemRare] => 18
    [dwShopAble] => 1
    [bLog] => 1
    [bCharged] => =
    [dwLinkKindBullet] => =
    [dwLinkKind] => =
    [dwAbilityMin] => 135
    [eItemType] => 137
    [wItemEAtk] => _NONE
    [dwParry] => 0
    [dwBlockRating] => 0
    [dwAddSkillMin] => =
    [dwAddSkillMax] => =
    [dwAtkStyle] => =
    [dwWeaponType] => =
    [dwItemAtkOrder1] => =
    [dwItemAtkOrder2] => =
    [dwItemAtkOrder3] => =
    [dwItemAtkOrder4] => =
    [bContinuousPain] => =
    [dwShellQuantity] => =
    [dwRecoil] => =
    [dwLoadingTime] => =
    [nAdjHitRate] => =
    [dwAttackSpeed] => =
    [dwDmgShift] => =
    [dwAttackRange] => =
    [dwProbability] => =
    [dwDestParam1] => DST_FP_MAX
    [dwDestParam2] => =
    [dwDestParam3] => =
    [nAdjParamVal1] => 20
    [nAdjParamVal2] => =
    [nAdjParamVal3] => =
    [dwChgParamVal1] => =
    [dwChgParamVal2] => =
    [dwChgParamVal3] => =
    [dwdestData1] => =
    [dwdestData2] => =
    [dwdestData3] => =
    [dwactiveskill] => =
    [dwactiveskillLv] => =
    [dwactiveskillper] => =
    [dwReqMp] => =
    [dwRepFp] => =
    [dwReqDisLV] => =
    [dwReSkill1] => =
    [dwReSkillLevel1] => =
    [dwReSkill2] => =
    [dwReSkillLevel2] => =
    [dwSkillReadyType] => =
    [dwSkillReady] => =
    [dwSkillRange] => =
    [dwSfxElemental] => =
    [dwSfxObj] => =
    [dwSfxObj2] => =
    [dwSfxObj3] => =
    [dwSfxObj4] => =
    [dwSfxObj5] => =
    [wUseMotion] => =
    [dwCircleTime] => =
    [dwSkillTime] => =
    [dwExeTarget] => =
    [dwUseChance] => =
    [dwSpellRegion] => =
    [dwSpellType] => =
    [dwReferStat1] => =
    [dwReferStat2] => =
    [dwReferTarget1] => =
    [dwReferTarget2] => =
    [dwReferValue1] => =
    [dwReferValue2] => =
    [dwSkillType] => =
    [fItemResistElecricity] => 0
    [fItemResistFire] => 0
    [fItemResistWind] => 0
    [fItemResistWater] => 0
    [fItemResistEarth] => 0
    [nEvildoing] => 0
    [dwExpertLV] => =
    [ExpertMax] => =
    [dwSubDefine] => =
    [dwExp] => =
    [dwComboStyle] => =
    [fFlightSpeed] => =
    [fFlightLRAngle] => =
    [fFlightTBAngle] => =
    [dwFlightLimit] => =
    [dwFFuelReMax] => =
    [dwAFuelReMax] => =
    [dwFuelRe] => =
    [dwLimitLevel1] => 15
    [dwReflect] => =
    [dwSndAttack1] => =
    [dwSndAttack2] => =
    [szIcon] => """itm_mAcr01Upper.dds"""
    [dwQuestID] => 0
    [szTextFile] => """"""
    [szComment] => IDS_PROPITEM_TXT_002165
xsrf is offline  
Old 06/29/2015, 22:41   #2



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
Die Datenbank hat bereit eine Funktion die alle items aktuell hält und mit einem select Befehl hat man schneller alles als die Dateien durchzu laden
Sedrika is offline  
Thanks
5 Users
Old 06/29/2015, 23:43   #3
 
xTwiLightx's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,739
Received Thanks: 1,669
Ohne $getLine überhaupt irgendwie zu erstellen, pastest du hier nen Array.Echt jetzt?
xTwiLightx is offline  
Thanks
1 User
Old 06/30/2015, 05:39   #4
 
xsrf's Avatar
 
elite*gold: 0
Join Date: May 2012
Posts: 870
Received Thanks: 642
Ja TwiLight echt jetzt. Es ging lediglich um nutzlose Schreibarbeit. Ich wusste nicht, dass es in der Datenbank eine Funktion für die Items gibt, daher erstellte ich dieses Array. Wenn jemand also die PropItem.php auslesen möchte kann er diese direkt in einem asiozativen Array speichern. Es ist keine schwierige Arbeit aber relativ nervig. Mit dem Array hat man einen guten Überblick und das auslesen sollte man selbst können, da es nur 2 Zeilen sind die man hinzufügen muss. Man kann nun direkt mit 2 weitereb Zeilen das Arrwy durchsuchen und benötigt dafür nichtmal eine Datenbankverbindung. Es ist Ansichtssache allerdings vermeide ich Datenbanken wo s nur geht. Du kannst mithilfe des Array die Datein auch leicht in eine Datenbank parsen.

#function added
xsrf is offline  
Old 07/02/2015, 21:10   #5
 
elite*gold: 59
Join Date: Oct 2012
Posts: 716
Received Thanks: 465
Quote:
Originally Posted by Sedrika View Post
Die Datenbank hat bereit eine Funktion die alle items aktuell hält und mit einem select Befehl hat man schneller alles als die Dateien durchzu laden
Währe super wenn du die Funktion auch beim Namen nennst sonst hat dein post wieder 0 Inhalt.
FlyCraft.TobiLap is offline  
Old 07/02/2015, 22:22   #6
 
xTwiLightx's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,739
Received Thanks: 1,669
Quote:
Originally Posted by FlyCraft.TobiLap View Post
Währe super wenn du die Funktion auch beim Namen nennst sonst hat dein post wieder 1,3cm ePenis aber 0 Inhalt.
Er hat die Datenbank dazu sogar in seinem WebShop mit released.

ITEM_DBF -> ITEM_STR


ITEMUPDATE in der DatabaseServer.ini setzen und go.
xTwiLightx is offline  
Thanks
1 User
Old 07/02/2015, 23:21   #7
 
xsrf's Avatar
 
elite*gold: 0
Join Date: May 2012
Posts: 870
Received Thanks: 642
Dann bin ich schonmal etwas schlauer als vorher. Ich habe mir die Flyff Datenbank bisher nicht genau angesehen.

Das Array ist allerdings trotzdem ziemlich nützlich, auch wenn du es direkt parsen könntest, da du somit die Resource Dateien leichter bearbeiten und vergleichen kannst.

Ich werde mir die Prozedur mal ansehen und eventuell meinen Code ersetzen, je nachdem ob sie mir zusagt oder nicht
xsrf is offline  
Old 07/03/2015, 17:24   #8
 
xTwiLightx's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,739
Received Thanks: 1,669
Quote:
Originally Posted by AMAZEN View Post
Dann bin ich schonmal etwas schlauer als vorher. Ich habe mir die Flyff Datenbank bisher nicht genau angesehen.

Das Array ist allerdings trotzdem ziemlich nützlich, auch wenn du es direkt parsen könntest, da du somit die Resource Dateien leichter bearbeiten und vergleichen kannst.

Ich werde mir die Prozedur mal ansehen und eventuell meinen Code ersetzen, je nachdem ob sie mir zusagt oder nicht
Man muss nichts parsen, weil der Server der Prozedur direkt alles als einzelne Parameter übergibt.
xTwiLightx is offline  
Reply




All times are GMT +2. The time now is 17:38.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.