Accueil > > > PETIT BOT POUR CHAN
PETIT BOT POUR CHAN
Information sur la source
Description
Bon vu qu en ce moment c est la mode des bots d animationns, voila le mien. Bon c est un petit code de bot gerant un rpg, n ayant pas le temps et plus la motivation, je mets le code en open source. Le bot n est donc pas entierement fini (il reste a faire des monstres pour la carte des lvl 120 a 200 ainsi que l equipement, juste des fichiers ini a faire).
Au niveau gameplay, le jeu gere :
-les levels
-l or
-les primes de pk
-les potions (vie/mana)
-les armes/armures
-inventaire pour les armes
-revente des armes
-loot sur les nameds
-2 quetes pour passer a la carte suivante
-3 classes (mage/guerrier/assassin)
-10 competences au total
-les deplacements
-les monstres
-l ia des monstres
-la possibilité de donner de l argent
-creation de clans
-attaque d unchateau avec bonus de prime
Pour toutes les autres infos ( http://rpgmollusque.free.fr/help.php )
Source
- Petit exemple du code ( gestion des items notamment ) :
-
- alias item {
- if ( $1 = use && $2 = vie && $3 ) {
- if ( $hget($nick,pvie) > 0 ) {
- hadd $nick pvie $calc($hget($nick,pvie) - $3 )
- if ( $calc($hget($nick,hp) + $3 * ( 45 * ($hget($nick,lvl) / 5)) ) >= $hget($nick,maxhp) ) {
- hadd $nick hp $hget($nick,maxhp)
- }
- else {
- hadd $nick hp $calc($hget($nick,hp) + $3 * ( 45 * ($hget($nick,lvl) / 5)) )
- }
- msg # 0,14 $nick se regenere de $calc( $3 * ( 45 * ($hget($nick,lvl) / 5)) ) points de vie
- }
- else { msg # 0,14 $nick tu n as plus de potion de vie ! tape !item buy vie pour en racheter ! }
- }
- if ( $1 = use && ($2 = mana || $2 = endu) && $3 ) {
- if ( $hget($nick,pmana) > 0 ) {
- hadd $nick pmana $calc($hget($nick,pmana) - $3)
- if ( $calc($hget($nick,sp1) + $3 * ( 5 * $hget($nick,lvl)) ) >= $hget($nick,maxsp1) ) {
- hadd $nick sp1 $hget($nick,maxsp1)
- }
- else {
- hadd $nick sp1 $calc($hget($nick,sp1) + $3 * ( 5 * $hget($nick,lvl)) )
- msg # 0,14 $nick se regenere de 6,14 $calc( $3 * ( 5 * $hget($nick,lvl)) ) de mana/endu
- }
- }
- else { msg # 0,14 $nick tu n as plus de potion de mana/endurance ! tape !item buy mana pour en racheter ! }
- }
- if ( $1 = see && !$2 ) {
- ;; if ( $hget($nick,item) ) hdel $nick item
- msg # 0,14 $nick 1,14 : 7,14 $hget($nick,pvie) 1,14potions vie - 7,14 $hget($nick,pmana) 1,14potions de mana - Arme :12,14 $gettok($hget($nick,arme),1,46) 1,14(P:8,14 $gettok($hget($nick,arme),2,46) $+ 1,14 $+ % $+ ) (Vit:8,14 $calc($gettok($hget($nick,arme),3,46) * 2) $+ 1,14 $+ s $+ ) - Armure :12,14 $gettok($hget($nick,armure),1,46) 1,14(def:7,14 $gettok($hget($nick,armure),2,46) $+ 1,14%)1,14 - Item:9,14 $hget($nick,item) -1,14Quete:8,14 $hget($nick,quete)
- }
- if ( $1 = see && $2 = arme ) {
- var %l
- if ( $hget($nick,classe) = mage ) %l = 1
- else if ( $hget($nick,classe) = guerrier ) %l = 15
- else { %l = 29 }
- var %m = %l
- var %ll = $calc(%l + 1)
- msg # 1,14 $read(rpg\armes.ini, %l)
- while ( %ll < $calc(%m + 3) ) {
- var %arme = $read(rpg\armes.ini, %ll)
- msg # 12,14 $gettok(%arme,1,61) 1,14- Power:7,14 $gettok($gettok(%arme,2,61),1,46) 1,14% - Vitesse :6,14 $calc( $gettok($gettok(%arme,2,61),2,46) * 2 ) $+ 1,14 sec - Prix :8,14 $gettok($gettok(%arme,2,61),3,46) ors
- inc %ll
- }
- msg # 1,14 Suite: 9,14 http://rpgmollusque.free.fr/armes.txt }
- if ( $1 = see && $2 = armure ) {
- var %l
- if ( $hget($nick,classe) = mage ) %l = 1
- else if ( $hget($nick,classe) = guerrier ) %l = 8
- else {
- %l = 15
- }
- var %m = %l
- var %ll = $calc(%l + 1)
- msg # 1,14 $read(rpg\armure.ini, %l)
- while ( %ll < $calc(%m + 7) ) {
- var %arme = $read(rpg\armure.ini, %ll)
- msg # 12,14 $gettok(%arme,1,61) 1,14- def:7,14 $gettok($gettok(%arme,2,61),1,46) 1,14% - Prix :8,14 $gettok($gettok(%arme,2,61),2,46) ors
- inc %ll
- }
- }
- if ( $1 = see && $2 = prime ) {
- if (!$hget($nick,pf)) hadd $nick pf 1
- if (!$hget($nick,pd)) hadd $nick pd 1
- if (!$hget($nick,pv)) hadd $nick pv 1
-
- msg # 0,14 Boutique de prime :
- msg # 0,14 Force amelioré (8,143%0,14) : 11,14 $calc(500 * $hget($nick,pf)) 0,14primes.
- msg # 0,14 Defense amelioré (8,143%0,14) : 11,14200 0,14primes.
- msg # 0,14 Vie amelioré (8,143%0,14) : 11,14200 0,14primes.
- msg # 0,14 Science du Crystal mystique (8,14restore 60% mana0,14) : 11,141500 0primes
- }
- if ( $hget($nick,pos) == 5 || $hget($nick,pos) == 90 ) {
- if ( $1 = buy && $2 = vie && $3 ) {
- if ( $hget($nick,or) > $calc(29 * $3) ) {
- hadd $nick pvie $calc($hget($nick,pvie) + $$3)
- hadd $nick or $calc($hget($nick,or) - (30 * $$3))
- msg # 0,14 $nick 1,14vient d acheter 9,14 $3 1,14 potion de vie
- }
- else { msg # 0,14 $nick 1,14il faut 8,14 $calc(30 * $3) or 1,14pour acheter des potions !! }
- }
- if ( $1 = buy && $2 = mana || $2 = endu && $3) {
- if ( $hget($nick,or) > $calc(29 * $3) ) {
- hadd $nick pmana $calc($hget($nick,pmana) + $$3)
- hadd $nick or $calc($hget($nick,or) - 30 * $$3)
- msg # 4 $nick 1vient d acheter 3 $3 1,0 potion de mana/endu
- }
- else { msg # 0,14 $nick 1,14il faut 8,14 $calc(30 * $3) or 1,14pour acheter des potions !! }
- }
- if ( ($1 = buy) && ($2 = arme) ) {
- var %item = $readini(rpg\armes.ini,$hget($nick,classe),$3)
- if ( $hget($nick,or) >= $gettok(%item,3,46) ) {
- hadd $nick item $hget($nick,item) $+ / $+ $3 $+ . $+ %item
- hadd $nick or $calc($hget($nick,or) - $gettok(%item,3,46))
- msg # 4 $nick 1vient d acheter 3 $3 1,0
- }
- else { msg # 0,14 $nick 1,14il faut 8,14 $gettok(%item,3,46) or 1,14pour acheter $3 !! }
- }
- if ( ($1 = sell) && ($2 = arme) ) {
- var %item = $readini(rpg\armes.ini,$hget($nick,classe),$3)
- var %arme = $3 $+ . $+ %item
- if ( $3 isin $hget($nick,item) ) {
- hadd $nick item $remtok($hget($nick,item),%arme,47)
- hadd $nick or $calc($hget($nick,or) + ( $gettok(%item,3,46) / 4) )
- msg # 4 $nick 1vient de vendre 3 $3 1,0
- }
- else { msg # 0,14 $nick 1,14il faut 9,14 $3 1,14pour vendre 9 $3 !! }
- }
-
- if ( $1 = buy && $2 = armure ) {
- var %item = $readini(rpg\armure.ini,$hget($nick,classe),$3)
- if ( $hget($nick,or) >= $gettok(%item,2,46) ) {
- hadd $nick armure $3 $+ . $+ %item
- hadd $nick or $calc($hget($nick,or) - $gettok(%item,2,46))
- msg # 4 $nick 1vient d acheter 3 $3 1,0
- }
- else { msg # 0,14 $nick 1,14il faut 8,14 $gettok(%item,3,46) or 1,14pour acheter $3 !! }
- }
- if ( $1 = buy && $2 = prime && $3 ) {
- if (!$hget($nick,pf)) hadd $nick pf 1
- if (!$hget($nick,pd)) hadd $nick pd 1
- if (!$hget($nick,pv)) hadd $nick pv 1
- if ( $3 == force ) {
- if ( $hget($nick,rp) >= $calc( 500 * $hget($nick,pf) ) ) {
- echo -a rp : $hget($nick,rp) cout : $calc( 500 * $hget($nick,pf) )
- hadd $nick p $calc($hget($nick,p) * 1.03)
- hadd $nick rp $calc($hget($nick,rp) - 500 * $hget($nick,pf) )
- hinc $nick pf
- msg # 0,14 $nick 1,14voit sa puissance augmenter !
- }
- }
- elseif ( $hget($nick,rp) >= $calc( 200 * $hget($nick,pd) ) && $3 == defense ) {
- hadd $nick def $calc($hget($nick,def) * 1.03)
- hadd $nick rp $calc($hget($nick,rp) - 500 * $hget($nick,pd) )
- hinc $nick pd
- msg # 0,14 $nick 1,14voit sa puissance augmenter !
- }
- elseif ( $hget($nick,rp) >= $calc( 200 * $hget($nick,pv) ) && $3 == vie ) {
- hadd $nick maxhp $calc($hget($nick,maxhp) * 1.03)
- hadd $nick rp $calc($hget($nick,rp) - 500 * $hget($nick,pv) )
- hinc $nick pv
- msg # 0,14 $nick 1,14voit sa puissance augmenter !
- }
- else { msg # 0,14Stfu Nub ! Va rp peon ! PwN3d ! }
- }
- }
- else { msg # 0,14 $+ $nick 1tu dois etre a la 8Boutique 1pour acheter des objets! }
- }
Petit exemple du code ( gestion des items notamment ) :
alias item {
if ( $1 = use && $2 = vie && $3 ) {
if ( $hget($nick,pvie) > 0 ) {
hadd $nick pvie $calc($hget($nick,pvie) - $3 )
if ( $calc($hget($nick,hp) + $3 * ( 45 * ($hget($nick,lvl) / 5)) ) >= $hget($nick,maxhp) ) {
hadd $nick hp $hget($nick,maxhp)
}
else {
hadd $nick hp $calc($hget($nick,hp) + $3 * ( 45 * ($hget($nick,lvl) / 5)) )
}
msg # 0,14 $nick se regenere de $calc( $3 * ( 45 * ($hget($nick,lvl) / 5)) ) points de vie
}
else { msg # 0,14 $nick tu n as plus de potion de vie ! tape !item buy vie pour en racheter ! }
}
if ( $1 = use && ($2 = mana || $2 = endu) && $3 ) {
if ( $hget($nick,pmana) > 0 ) {
hadd $nick pmana $calc($hget($nick,pmana) - $3)
if ( $calc($hget($nick,sp1) + $3 * ( 5 * $hget($nick,lvl)) ) >= $hget($nick,maxsp1) ) {
hadd $nick sp1 $hget($nick,maxsp1)
}
else {
hadd $nick sp1 $calc($hget($nick,sp1) + $3 * ( 5 * $hget($nick,lvl)) )
msg # 0,14 $nick se regenere de 6,14 $calc( $3 * ( 5 * $hget($nick,lvl)) ) de mana/endu
}
}
else { msg # 0,14 $nick tu n as plus de potion de mana/endurance ! tape !item buy mana pour en racheter ! }
}
if ( $1 = see && !$2 ) {
;; if ( $hget($nick,item) ) hdel $nick item
msg # 0,14 $nick 1,14 : 7,14 $hget($nick,pvie) 1,14potions vie - 7,14 $hget($nick,pmana) 1,14potions de mana - Arme :12,14 $gettok($hget($nick,arme),1,46) 1,14(P:8,14 $gettok($hget($nick,arme),2,46) $+ 1,14 $+ % $+ ) (Vit:8,14 $calc($gettok($hget($nick,arme),3,46) * 2) $+ 1,14 $+ s $+ ) - Armure :12,14 $gettok($hget($nick,armure),1,46) 1,14(def:7,14 $gettok($hget($nick,armure),2,46) $+ 1,14%)1,14 - Item:9,14 $hget($nick,item) -1,14Quete:8,14 $hget($nick,quete)
}
if ( $1 = see && $2 = arme ) {
var %l
if ( $hget($nick,classe) = mage ) %l = 1
else if ( $hget($nick,classe) = guerrier ) %l = 15
else { %l = 29 }
var %m = %l
var %ll = $calc(%l + 1)
msg # 1,14 $read(rpg\armes.ini, %l)
while ( %ll < $calc(%m + 3) ) {
var %arme = $read(rpg\armes.ini, %ll)
msg # 12,14 $gettok(%arme,1,61) 1,14- Power:7,14 $gettok($gettok(%arme,2,61),1,46) 1,14% - Vitesse :6,14 $calc( $gettok($gettok(%arme,2,61),2,46) * 2 ) $+ 1,14 sec - Prix :8,14 $gettok($gettok(%arme,2,61),3,46) ors
inc %ll
}
msg # 1,14 Suite: 9,14 http://rpgmollusque.free.fr/armes.txt }
if ( $1 = see && $2 = armure ) {
var %l
if ( $hget($nick,classe) = mage ) %l = 1
else if ( $hget($nick,classe) = guerrier ) %l = 8
else {
%l = 15
}
var %m = %l
var %ll = $calc(%l + 1)
msg # 1,14 $read(rpg\armure.ini, %l)
while ( %ll < $calc(%m + 7) ) {
var %arme = $read(rpg\armure.ini, %ll)
msg # 12,14 $gettok(%arme,1,61) 1,14- def:7,14 $gettok($gettok(%arme,2,61),1,46) 1,14% - Prix :8,14 $gettok($gettok(%arme,2,61),2,46) ors
inc %ll
}
}
if ( $1 = see && $2 = prime ) {
if (!$hget($nick,pf)) hadd $nick pf 1
if (!$hget($nick,pd)) hadd $nick pd 1
if (!$hget($nick,pv)) hadd $nick pv 1
msg # 0,14 Boutique de prime :
msg # 0,14 Force amelioré (8,143%0,14) : 11,14 $calc(500 * $hget($nick,pf)) 0,14primes.
msg # 0,14 Defense amelioré (8,143%0,14) : 11,14200 0,14primes.
msg # 0,14 Vie amelioré (8,143%0,14) : 11,14200 0,14primes.
msg # 0,14 Science du Crystal mystique (8,14restore 60% mana0,14) : 11,141500 0primes
}
if ( $hget($nick,pos) == 5 || $hget($nick,pos) == 90 ) {
if ( $1 = buy && $2 = vie && $3 ) {
if ( $hget($nick,or) > $calc(29 * $3) ) {
hadd $nick pvie $calc($hget($nick,pvie) + $$3)
hadd $nick or $calc($hget($nick,or) - (30 * $$3))
msg # 0,14 $nick 1,14vient d acheter 9,14 $3 1,14 potion de vie
}
else { msg # 0,14 $nick 1,14il faut 8,14 $calc(30 * $3) or 1,14pour acheter des potions !! }
}
if ( $1 = buy && $2 = mana || $2 = endu && $3) {
if ( $hget($nick,or) > $calc(29 * $3) ) {
hadd $nick pmana $calc($hget($nick,pmana) + $$3)
hadd $nick or $calc($hget($nick,or) - 30 * $$3)
msg # 4 $nick 1vient d acheter 3 $3 1,0 potion de mana/endu
}
else { msg # 0,14 $nick 1,14il faut 8,14 $calc(30 * $3) or 1,14pour acheter des potions !! }
}
if ( ($1 = buy) && ($2 = arme) ) {
var %item = $readini(rpg\armes.ini,$hget($nick,classe),$3)
if ( $hget($nick,or) >= $gettok(%item,3,46) ) {
hadd $nick item $hget($nick,item) $+ / $+ $3 $+ . $+ %item
hadd $nick or $calc($hget($nick,or) - $gettok(%item,3,46))
msg # 4 $nick 1vient d acheter 3 $3 1,0
}
else { msg # 0,14 $nick 1,14il faut 8,14 $gettok(%item,3,46) or 1,14pour acheter $3 !! }
}
if ( ($1 = sell) && ($2 = arme) ) {
var %item = $readini(rpg\armes.ini,$hget($nick,classe),$3)
var %arme = $3 $+ . $+ %item
if ( $3 isin $hget($nick,item) ) {
hadd $nick item $remtok($hget($nick,item),%arme,47)
hadd $nick or $calc($hget($nick,or) + ( $gettok(%item,3,46) / 4) )
msg # 4 $nick 1vient de vendre 3 $3 1,0
}
else { msg # 0,14 $nick 1,14il faut 9,14 $3 1,14pour vendre 9 $3 !! }
}
if ( $1 = buy && $2 = armure ) {
var %item = $readini(rpg\armure.ini,$hget($nick,classe),$3)
if ( $hget($nick,or) >= $gettok(%item,2,46) ) {
hadd $nick armure $3 $+ . $+ %item
hadd $nick or $calc($hget($nick,or) - $gettok(%item,2,46))
msg # 4 $nick 1vient d acheter 3 $3 1,0
}
else { msg # 0,14 $nick 1,14il faut 8,14 $gettok(%item,3,46) or 1,14pour acheter $3 !! }
}
if ( $1 = buy && $2 = prime && $3 ) {
if (!$hget($nick,pf)) hadd $nick pf 1
if (!$hget($nick,pd)) hadd $nick pd 1
if (!$hget($nick,pv)) hadd $nick pv 1
if ( $3 == force ) {
if ( $hget($nick,rp) >= $calc( 500 * $hget($nick,pf) ) ) {
echo -a rp : $hget($nick,rp) cout : $calc( 500 * $hget($nick,pf) )
hadd $nick p $calc($hget($nick,p) * 1.03)
hadd $nick rp $calc($hget($nick,rp) - 500 * $hget($nick,pf) )
hinc $nick pf
msg # 0,14 $nick 1,14voit sa puissance augmenter !
}
}
elseif ( $hget($nick,rp) >= $calc( 200 * $hget($nick,pd) ) && $3 == defense ) {
hadd $nick def $calc($hget($nick,def) * 1.03)
hadd $nick rp $calc($hget($nick,rp) - 500 * $hget($nick,pd) )
hinc $nick pd
msg # 0,14 $nick 1,14voit sa puissance augmenter !
}
elseif ( $hget($nick,rp) >= $calc( 200 * $hget($nick,pv) ) && $3 == vie ) {
hadd $nick maxhp $calc($hget($nick,maxhp) * 1.03)
hadd $nick rp $calc($hget($nick,rp) - 500 * $hget($nick,pv) )
hinc $nick pv
msg # 0,14 $nick 1,14voit sa puissance augmenter !
}
else { msg # 0,14Stfu Nub ! Va rp peon ! PwN3d ! }
}
}
else { msg # 0,14 $+ $nick 1tu dois etre a la 8Boutique 1pour acheter des objets! }
}
Conclusion
Bon, ce n est pas superement optimisé, loin s en faut, mais le code reste tres rapide (merci les hashtables) et helas non exempté de bugs (il y en a un ou 2 qui traine , mais rien d alarmant ) . Voila vous pouvez utiliser le code a votre guise, je ne demande en retour que des infos sur vos modification , ou les chans + serveurs ou vous utilisez le bot, histoire de pouvoir mettre a jour la source ici presente. je continuerais un peu le developpement cet ete. Voila bon jeu !
Historique
- 18 juillet 2005 16:13:53 :
- Hum j avais mis e:\mirc\rpg en tant que chemin de recherche dans le $findfile...
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : ON RAWMODERE : ON RAWMODE par WorldDMT
Cliquez pour lire la suite par WorldDMT AVERTISSMENT ET KIKKAVERTISSMENT ET KIKK par mouhcine951990
Cliquez pour lire la suite par mouhcine951990
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|