Voici, en a peu près dix minutes de codage, le même script avec une possibilité de revenir en arrière parce que la c'est un pur et simple "destroy" des données, sans retour possible (sauf en remplaçant la table bien évidemment).
Patch pour rendre les objets indestructibles :
Code :
/*
* Description : Ce script sauvegarde toutes les durabilités des objets puis réinitialise
* celles actuelles à 0 pour rendre les objets indestructibles
*
* Aucun droit réservé, vous pouvez distribuer, modifier et vous approprier ce patch
* pour faire ensuite semblant de l'avoir fait :)
*
* Amicalement, Nicø
*
* Enjoy :p
*/
/* Procédure de sauvegarde */
DROP TABLE IF EXISTS `backup_durability`;
CREATE TABLE `backup_durability` (
`entry` INT( 11 ) NOT NULL ,
`MaxDurability` INT( 3 ) NOT NULL ,
PRIMARY KEY ( `entry` )
) ENGINE = MYISAM ;
INSERT INTO `backup_durability` (`entry`, `MaxDurability`) SELECT `entry`, `MaxDurability` FROM `item_template`;
/* *********************** */
/* Procédure de modification */
UPDATE `item_template` SET `MaxDurability` = 0;
/* ************************* */
Patch pour restaurer toutes les durabilités :
Code :
/*
* Description : Ce script permet de restaurer les durabilités des objets après avoir exécuté le patch
* d'indestructibilité
*
* Aucun droit réservé, vous pouvez distribuer, modifier et vous approprier ce patch
* pour faire ensuite semblant de l'avoir fait :)
*
* Amicalement, Nicø
*
* Enjoy :p
*/
/* Procédure de restauration */
UPDATE `item_template`, `backup_durability`
SET `item_template`.`MaxDurability` = `backup_durability`.`MaxDurability`
WHERE `item_template`.`entry` = `backup_durability`.`entry`;
/* ************************* */
/* Suppression de la table inutile */
DROP TABLE `backup_durability`;
/* ******************************* */
Path pour rendre les objets gratuits (ce qui n'était pas fait dans ton patch à moins que mon écran ne me cache des choses, le tien rend juste les sorts gratuits, pas les objets... ) :
Code :
/*
* Description : Ce script sauvegarde tous les prix des objets puis réinitialise
* ceux actuels à 0 pour rendre les objets gratuits
*
* Aucun droit réservé, vous pouvez distribuer, modifier et vous approprier ce patch
* pour faire ensuite semblant de l'avoir fait :)
*
* Amicalement, Nicø
*
* Enjoy :p
*/
/* Procédure de sauvegarde */
CREATE TABLE `backup_itemprices` (
`entry` INT( 11 ) NOT NULL ,
`BuyPrice` INT( 11 ) NOT NULL ,
`SellPrice` INT( 11 ) NOT NULL ,
PRIMARY KEY ( `entry` )
) ENGINE = MYISAM ;
INSERT INTO `backup_itemprices` (`entry`, `BuyPrice`, `SellPrice`) SELECT `entry`, `BuyPrice`, `SellPrice` FROM `item_template`;
/* *********************** */
/* Procédure de modification */
UPDATE `item_template` SET `BuyPrice` = 0, `SellPrice` = 0;
/* ************************* */
Avec bien entendu son patch de restauration :
Code :
/*
* Description : Ce script permet de restaurer les prix des objets après avoir exécuté le patch
* de gratuité des objets
*
* Aucun droit réservé, vous pouvez distribuer, modifier et vous approprier ce patch
* pour faire ensuite semblant de l'avoir fait :)
*
* Amicalement, Nicø
*
* Enjoy :p
*/
/* Procédure de restauration */
UPDATE `item_template`, `backup_itemprices`
SET `item_template`.`BuyPrice` = `backup_itemprices`.`BuyPrice`, `item_template`.`SellPrice` = `backup_itemprices`.`SellPrice`
WHERE `item_template`.`entry` = `backup_itemprices`.`entry`;
/* ************************* */
/* Suppression de la table inutile */
DROP TABLE `backup_itemprices`;
/* ******************************* */
Et enfin le patch pour les sorts gratuits :
Code :
/*
* Description : Ce script sauvegarde tous les prix des sorts puis réinitialise
* ceux actuels à 0 pour rendre les sorts gratuits
*
* Aucun droit réservé, vous pouvez distribuer, modifier et vous approprier ce patch
* pour faire ensuite semblant de l'avoir fait :)
*
* Amicalement, Nicø
*
* Enjoy :p
*/
/* Procédure de sauvegarde */
CREATE TABLE `backup_spellcost` (
`entry` INT( 11 ) NOT NULL ,
`spell` INT( 11 ) NOT NULL ,
`spellcost` INT( 11 ) NOT NULL ,
PRIMARY KEY ( `entry` , `spell` )
) ENGINE = MYISAM ;
INSERT INTO `backup_spellcost` (`entry`, `spell`, `spellcost`) SELECT `entry`, `spell`, `spellcost` FROM `npc_trainer`;
/* *********************** */
/* Procédure de modification */
UPDATE `npc_trainer` SET `spellcost` = 0;
/* ************************* */
Et le patch de restauration qui va avec :
Code :
/*
* Description : Ce script permet de restaurer les prix des sorts après avoir exécuté le patch
* de gratuité des sorts
*
* Aucun droit réservé, vous pouvez distribuer, modifier et vous approprier ce patch
* pour faire ensuite semblant de l'avoir fait :)
*
* Amicalement, Nicø
*
* Enjoy :p
*/
/* Procédure de restauration */
UPDATE `npc_trainer`, `backup_spellcost`
SET `npc_trainer`.`spellcost` = `backup_spellcost`.`spellcost`
WHERE `npc_trainer`.`entry` = `backup_spellcost`.`entry` AND `npc_trainer`.`spell` = `backup_spellcost`.`spell`;
/* *********************** */
/* Suppression de la table inutile */
DROP TABLE `backup_spellcost`;
/* ************************* */
Si ça vous plaît mettez un +1 ( ironie
)
Bref...