EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Tools (https://www.eqemulator.org/forums/forumdisplay.php?f=593)
-   -   PHP Simple Item Editor (https://www.eqemulator.org/forums/showthread.php?t=23403)

Lalolyen 10-03-2007 12:33 PM

spsst!

Code:

function edititem
        (
        $id,
        $name,
        $lore,
        $idfile,
        $ac,
        $hp,
        $mana,
        $endur,
        $str,
        $sta,
        $agi,
        $dex,
        $cha,
        $int,
        $wis,
        $cr,
        $dr,
        $fr,
        $mr,
        $pr,
        $damage,
        $delay,
        $range,
        $reqlevel,
        $reclevel,
        $price,
        $clicktype,
        $clickeffect,
        $clicklevel,
        $clicklevel2,
        $stackable,
        $stacksize,
        $loregroup,
        $classes,
        $deity,
        $races,
        $nodrop,
        $bookid,
        $bookfilename,
        $proctype,
        $proceffect,
        $proclevel,
        $proclevel2,
        $worntype,
        $worneffect,
        $wornlevel,
        $wornlevel2,
        $regen,
        $manaregen,
        $focustype,
        $focuseffect,
        $focuslevel,
        $focuslevel2,
        $haste,
        $itemtype,
        $casttime,
        $icon,
        $slotcharm,
        $slotear1,
        $slothead,
        $slotface,
        $slotear2,
        $slotneck,
        $slotshoulder,
        $slotarms,
        $slotback,
        $slotbracer1,
        $slotbracer2,
        $slotrange,
        $slothands,
        $slotprimary,
        $slotsecondary,
        $slotring1,
        $slotring2,
        $slotchest,
        $slotlegs,
        $slotfeet,
        $slotwaist,
        $slotammo,
        $warrior,
        $cleric,
        $paladin,
        $ranger,
        $shadowknight,
        $druid,
        $monk,
        $bard,
        $rogue,
        $shaman,
        $necromancer,
        $wizard,
        $magician,
        $enchanter,
        $beastlord,
        $berserker,
        $human,
        $barbarian,
        $erudite,
        $woodelf,
        $highelf,
        $darkelf,
        $halfelf,
        $dwarf,
        $troll,
        $ogre,
        $halfling,
        $gnome,
        $iksar,
        $vahshir,
        $froglok,
        $deity1,
        $deity2,
        $deity3,
        $deity4,
        $deity5,
        $deity6,
        $deity7,
        $deity8,
        $deity9,
        $deity10,
        $deity11,
        $deity12,
        $deity13,
        $deity14,
        $deity15,
        $deity16,
        $deity17,
        $magic,
        $artifactflag,
        $norent,
        $procrate
        )

{

        if ($slotcharm == "on") { $slotcharm = 1; } else { $slotcharm = 0; };
        if ($slotear1 == "on") { $slotear1 = 1; } else { $slotear1 = 0; };
        if ($slothead == "on") { $slothead = 1; } else { $slothead = 0; };
        if ($slotface == "on") { $slotface = 1; } else { $slotface = 0; };
        if ($slotear2 == "on") { $slotear2 = 1; } else { $slotear2 = 0; };
        if ($slotneck == "on") { $slotneck = 1; } else { $slotneck = 0; };
        if ($slotshoulder == "on") { $slotshoulder = 1; } else { $slotshoulder = 0; };
        if ($slotarms == "on") { $slotarms = 1; } else { $slotarms = 0; };
        if ($slotback == "on") { $slotback = 1; } else { $slotback = 0; };
        if ($slotbracer1 == "on") { $slotbracer1 = 1; } else { $slotbracer1 = 0; };
        if ($slotbracer2 == "on") { $slotbracer2 = 1; } else { $slotbracer2 = 0; };
        if ($slotrange == "on") { $slotrange = 1; } else { $slotrange = 0; };
        if ($slothands == "on") { $slothands = 1; } else { $slothands = 0; };
        if ($slotprimary == "on") { $slotprimary = 1; } else { $slotprimary = 0; };
        if ($slotsecondary == "on") { $slotsecondary = 1; } else { $slotsecondary = 0; };
        if ($slotring1 == "on") { $slotring1 = 1; } else { $slotring1 = 0; };
        if ($slotring2 == "on") { $slotring2 = 1; } else { $slotring2 = 0; };
        if ($slotchest == "on") { $slotchest = 1; } else { $slotchest = 0; };
        if ($slotlegs == "on") { $slotlegs = 1; } else { $slotlegs = 0; };
        if ($slotfeet == "on") { $slotfeet = 1; } else { $slotfeet = 0; };
        if ($slotwaist == "on") { $slotwaist = 1; } else { $slotwaist = 0; };
        if ($slotammo == "on") { $slotammo = 1; } else { $slotammo = 0; };

Can be trimmed down to:

Code:

function edititem($postitem,$value)
{
if ($value == "on")
  {
  $ret_val = 1;
  } else {
  $ret_val = 0;
  }
$postitem = $ret_val;
return $postitem;
}


Lalolyen 10-03-2007 12:42 PM

BTW, this is why I would like to create an EQEMU mirror =)

Also to call that function while the array results with that function in it... such as...

Code:

while ($somearray['ID'] > 0)
 {
 $convert = edititem($thisItem,$andItsValue);
 echo ($convert);
 }


gernblan 10-03-2007 09:51 PM

Still need a fix for apostrophes though... they must be escaped or item names, etc. can get truncated which would be bad.

Great work on the optimizations, however!!

Lalolyen 10-03-2007 10:29 PM

can do a streplace for ' to ' But you'll have to do the sting replace in quotes instead of apostrophies =).

Something like str_replace("'","'") there should be some other perameters, yes but thats the gist of it.

To make it safe, I'd also do another thats str_replace('"','&quote;') to get rid of any escaping quotes =)

gernblan 10-06-2007 01:04 PM

Yeah but I'm too bad with PHP still to actually do it.

If anyone out there can fix this script up and then post it I know it would help a lot of people.

It's VERY good. It just needs to not destroy item names if they contain an apostrophe.

AndMetal 10-16-2007 08:51 PM

Quote:

Originally Posted by Lalolyen (Post 139103)
can do a streplace for ' to ' But you'll have to do the sting replace in quotes instead of apostrophies =).

Something like str_replace("'","'") there should be some other perameters, yes but thats the gist of it.

To make it safe, I'd also do another thats str_replace('"','&quote;') to get rid of any escaping quotes =)

If magic-quotes-gpc is turned on in your php.ini, you shouldn't have to worry about it. You can turn it on for an individual page by using ini_set("magic-quotes-gpc","On").

This can also be done with the PHP command addslashes() on a per-command basis.

inkubus 08-31-2008 02:45 PM

hi guys, long time no speak. I just noticed loads of you had responded but i didn't even realise!

i'll take your notes and make some changes and release an update next weekend for the latest version

take care

inky

inkubus 09-20-2008 04:38 PM

hey all, went to work on this but was unable to find my backup. Can anyone paste a mirror?

Cheers

Koshoji 11-25-2008 11:39 AM

Anyone have a current link to this file? Thanks!

derekj54 12-01-2008 01:08 PM

I can host it too if someone would send it to me, would like to try it out myself


All times are GMT -4. The time now is 01:31 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.