anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Neuer Mod Die Bankräuber https://anpera.dyndns.org/phpbb3/viewtopic.php?f=43&t=977 |
Seite 1 von 2 |
Autor: | drakarr [ Di 15 Feb, 2005 19:08 ] | ||
Betreff des Beitrags: | Neuer Mod Die Bankräuber | ||
Bitte um Verschiebung in den Mods Bereich - danke ![]() So, der Plüschdrache hat wieder mal was neues für euch. Bei uns schon länger im Einsatz und sehr beliebt bei den Usern, wurde dieses Skript heute komplett überarbeitet und ist nun auch zur Veröffentlichung bereit ![]() Kurzbeschreibung: Durch ein Special werden zufällig die bankräuber ausgelöst. Diese klauen alles Gold von der Bank und solange die Räuber da sind, kann auch keine Bankaktion durchgeführt werden. In dieser Form kommen Useranzahl/2 Bankräuber bei auslösung. Die Spieler können jeweils pro Spieltag 2 Räuber erlegen. Wenn alle Räuber erledigt sind, kommt das Gold zurück auf die Bank. Datenbank Teil: $this->bbcode_second_pass_code('', ' ALTER TABLE `accounts` ADD `stolengold` INT( 11 ) DEFAULT '0' NOT NULL AFTER `goldinbank` ; ALTER TABLE `accounts` ADD `robberfights` INT( 11 ) DEFAULT '0' NOT NULL AFTER `stolengold` ; ') Neue Dateien: siehe Anhang. Die bankrobber.php in das root Verzeichnis, die bankrobberstart.php in den Specials Ordner kopieren. Dateiänderungen: [php] //öffne bank.php //finde output("`^`c`bDie alte Stadtbank`b`c`6"); //danach einfügen if (getsetting("bankrobber","0")>0){ checkday(); output("Ein kleiner Mann in einem makellosen Anzug mit Lesebrille grüßt dich.`n`n"); output("Die Bank wurde überfallen!!!`n`n Solange das Gold nicht zurück ist kann ich leider keinerlei Bankgeschäfte abwickeln. `n`n"); output("Die Diebesbande hat im Wald Ihr Lager aufgeschlagen...`n doch wer ist so wahnsinnig und holt das Gold zurück? `n"); addnav("Zu den Räubern","bankrobber.php"); addnav("Zurück"); addnav("Zurück ins Dorf","village.php"); } else{ //finde page_footer(); //davor einfügen } //#################################### //öffne common.php //finde addnav("N?Nervenkitzel suchen","forest.php?op=search&type=thrill"); //danach einfügen if (getsetting("bankrobber",0)>0){addnav("R?Zu den Räubern","bankrobber.php");} //#################################### //öffne newday.php //finde $session['user']['fedmount'] = 0; //danach einfügen $session['user']['robberfights']=0; [/php] Wenn ihr noch eine andere Art von Bank habt, solltet ihr diese auch anpassen wie die normale Bank! Aber es ist eine Sicherheitsabfrage drin. Falls Gold durch ein Skript direkt auf die Bank kommt, wird dieses später nicht mit dem stolengold-Wert überschrieben, sondern wird dazuaddiert! Wenn Fragen oder Probleme sind, bitte hier posten. Um Feedback freue ich mich natürlich auch ![]()
|
Autor: | Molly [ Di 15 Feb, 2005 19:48 ] |
Betreff des Beitrags: | |
Absolut schönes Mod...habe es auf plüschie schon in Aktion gesehen und werde es jetzt gleich mal einbauen *g* Edit: Eingebaut und ausprobiert...funzt *daumenhoch* |
Autor: | drakarr [ Di 15 Feb, 2005 19:59 ] |
Betreff des Beitrags: | |
naja, du hast noch die alte version gesehen ![]() |
Autor: | Molly [ Di 15 Feb, 2005 20:24 ] |
Betreff des Beitrags: | |
Was wurde überarbeitet? Habe kaum unterschiede gesehen. Klappt jedenfalls super und mache auf Düster gleich ein 'Einführungsevent' *g* |
Autor: | Devilzimti [ Di 15 Feb, 2005 20:53 ] |
Betreff des Beitrags: | |
Jeah die user sind begeistert! Big Thx! |
Autor: | Meteora [ Di 15 Feb, 2005 21:25 ] |
Betreff des Beitrags: | |
nettes addon, hatte ich auch im sinn, jedoch erleichtert mir das die arbeit ![]() |
Autor: | drakarr [ Di 15 Feb, 2005 21:27 ] |
Betreff des Beitrags: | |
Naja verändert wurde hauptsächlich die Technik des Skriptes. Vorher lief alles über die DB (war eines unserer ersten Skripte) und der Kampf war auch ziemlich buggy. Wurde von daher komplett überarbeitet und läuft nun über die settings. Deswegen siehst du an den Texten nicht viel, aber der Code ist so ziemlich komplett umgeschrieben worden ![]() Freut mich, dass es fehlerfrei einzubauen war )habe gehofft nix zu übersehen... *g*) |
Autor: | teruk [ Di 15 Feb, 2005 23:06 ] |
Betreff des Beitrags: | Re: Neuer Mod Die Bankräuber |
drakarr hat geschrieben: Die Spieler können jeweils pro Spieltag 2 Räuber erlegen.
ich mag das jetzt zwar überlesen haben, aber irgendwie müsste da doch noch ein befehl in die newday.php? [php]$session['user']['robberfights'] = 0;[/php] im großen und ganzen, ein sehr nettes addon |
Autor: | drakarr [ Di 15 Feb, 2005 23:17 ] |
Betreff des Beitrags: | |
stimmt, das habe ich total vergessen ![]() die einbauanleitung oben ist korrigiert! |
Autor: | joerka [ Mi 16 Feb, 2005 17:32 ] |
Betreff des Beitrags: | |
geht super, drakar, mehr von solchen sachen bitte ![]() ich hab das ganze noch in meinen adlerfelsen/schnellbank eingebaut, sonst geht alles, wirklich sehr lustiges script! |
Autor: | drakarr [ Do 17 Feb, 2005 16:57 ] |
Betreff des Beitrags: | |
hm kann ich hier keine Dateianhänge aktualisieren oder posten? Ich hätte da eine etwas überarbeitete Version, bei denen die Bankräuber dynamisch erzeugt werden, da manchen die Bankräuber zu leicht und manchen zu schwer waren... Na dann halt per Code: Speicher folgenden Code in bankrobber.php und ersetze die alte Version aus dem Archiv [php]<?php /********************************************** *Diese Box darf nicht entfernt werden! * *------------------------------------- * *Bankräuber von deZent und draKarr * *www.plueschdrache.de * **********************************************/ //benötigte Dateien: bankrobber.php, bankrobberstart.php; //Datenbankänderungen: // ALTER TABLE `accounts` ADD `stolengold` INT( 11 ) DEFAULT '0' NOT NULL AFTER `goldinbank` ; // ALTER TABLE `accounts` ADD `robberfights` INT( 11 ) DEFAULT '0' NOT NULL AFTER `stolengold` ; require_once "common.php"; checkday(); page_header("Bankräuber"); output("`c`b`&Bankräuber stellen`0`b`c`n`n"); if (($session[user][robberfights])<2) { if ($HTTP_GET_VARS[op] == ""){ output("`7Du hast das Lager der Bankräuber gefunden. Es ist eine wilde Horde von Söldnern. "); output("Viele Mitglieder der Band sitzen um das Lagerfeuer und betrinken sich. Manche der Bankräuber liegen abseits des Lagerfeuers und schlafen ihren Rausch aus.`n`n"); output("Du zählst an die `2 ".getsetting("bankrobber","0")." Bankräuber`7, viele von ihnen sind kleine Halunken, es sind jedoch auch ein paar starke Söldner unter ihnen`n "); output("Besonders mit dem Anführer möchtest du dich nicht gleich messen.`n"); output("Weit abseits des Feuers siehst du einen einzelnen Schurken der gerade sein erbeutetes Gold zählt..... `n`nDeine Chance!"); addnav("Angriff"); addnav("Bankräuber angreifen","bankrobber.php?op=angriff"); addnav("Rückzug"); addnav("Zurück in den Wald","forest.php"); } if ($HTTP_GET_VARS[op] == "angriff"){ switch($session[user][level]){ case 1: case 2: $creaturename = "`@kleiner Räuber Lümmel`0"; $creatureweapon = "Besenstiel"; break; case 3: case 4: $creaturename = "`@Räuber Lümmel`0"; $creatureweapon = "Keule"; break; case 5: case 6: $creaturename = "`@ausgewachsener Bankräuber`0"; $creatureweapon = "Messer"; break; case 7: case 8: $creaturename = "`@gemeiner Bankräuber`0"; $creatureweapon = "Lanze"; break; case 9: case 10: $creaturename = "`@Söldner`0"; $creatureweapon = "Kurzschwert"; break; case 11: case 12: $creaturename = "`@großer Haudegen`0"; $creatureweapon = "Breitschwert"; break; case 13: case 14: case 15: $creaturename = "`@Anführer der Bande`0"; $creatureweapon = "scharfes Breitschwert"; break; } $goldraeuber = round($session[user][level]*50); $creaturegold=e_rand($goldraeuber,$goldraeuber*2); $expraeuber = round($session[user][level]*20); $creatureexp=e_rand($expraeuber,$expraeuber*2); $dk = $session[user][dragonkills]; $badguy = array( "creaturename"=>$creaturename ,"creaturelevel"=>$session[user][level] ,"creatureweapon"=>$creatureweapon ,"creatureattack"=>$session[user][attack] ,"creaturedefense"=>$session[user][defence] ,"creaturehealth"=>$session[user][maxhitpoints] ,"creaturegold"=>$creaturegold ,"creatureexp"=>$creatureexp ,"diddamage"=>0 ); $badguy[creaturehealth]+=e_rand(0,$dk*2); $session[user][badguy]=createstring($badguy); $HTTP_GET_VARS[op]="prefight"; } // hier endet die start if bedingung in der die Gegnerstärke eingestellt wird ;-) if ($HTTP_GET_VARS[op] == "prefight"){ output("`#Du hast etwas abseits einen einzelnen Bankräuber gefunden, der gerade etwas abgelenkt ist.`n"); output("`#Das ist deine Chance um das Gold der Bank zurückzuholen.`n"); output("Der ".$badguy[creaturename]." `#bemerkt dich und stürzt sich auf dich!`n `$ - Der Kampf beginnt -.`n"); $HTTP_GET_VARS[op]="fight"; } if ($HTTP_GET_VARS[op] == "fight"){ $battle=true; } if ($battle){ include_once("battle.php"); if ($victory){ addnews("`5".$session[user][name]."`8 hat einen Bankräuber `8 gestellt!"); $kaempfername=($session[user][name]); $session[user][robberfights]++; $anzahl = getsetting("bankrobber","0"); if($anzahl>1) { savesetting("bankrobber",$anzahl-1); } elseif ($anzahl==1) { $HTTP_GET_VARS[op]= "ende"; } else { output("`n`n`\$Komisch, wie mir scheint hast du gerade einen Räuber erschlagen, obwohl gar keine mehr da waren. Da muss dir doch glatt einer den letzten Schlag geklaut haben!`n`n"); } if ($badguy['diddamage']!=1){ $goldwin=$badguy[creaturegold]*2; $expwin = $badguy[creatureexp]*2; output("`7Ausgezeichneter Kampf! Du verteidigst dein Gold wirklich als ob es Gold wert wäre!`n Der Räuber hatte einen kleinen Teil der Beute in der Tasche. `n Du nimmst ihm sein Gold ab! `n"); $session[user][gold]+=$goldwin; $session[user][experience]+=$expwin; output("`^ `n`nDu findest `$ $goldwin `^Gold `n"); output("`^Du erhältst `$ $expwin `^Erfahrung `n"); } else { $goldwin=$badguy[creaturegold]; $expwin = $badguy[creatureexp]; output("`7 Du hast dein bestes getan um dein Gold zurück zu erobern.`n `n Doch du weisst dass du wohl erst dein Gold wieder bekommen wirst sobald die ganze Bande besiegt wurde.`n wenigstens findest du etwas Gold in den Taschen des Räubers"); $session[user][gold]+=$goldwin; $session[user][experience]+=$expwin; output("`^ `n`nDu findest `$ $goldwin `^Gold `n"); output("`^Du erhältst `$ $expwin `^Erfahrung `n"); } if ($session[user][robberfights] < 2 && getsetting("bankrobber","0") > 1) { addnav("Nochmal zum Lager","bankrobber.php"); addnav("Zurück"); addnav("Zurück zum Wald","forest.php"); } else { addnav("Zurück"); addnav("Zurück zum Wald","forest.php"); } $badguy=array(); }elseif ($defeat){ addnews("`5".$session[user][name]."`8 wurde von einem Bankräuber niedergeschlagen!"); $session[user][robberfights]++; $session[user][alive]=0; $session[user][hitpoints]=0; $session[user][gold]=0; output("`b`&Du wurdest von `%$badguy[creaturename]`& niedergemetzelt!!!`n"); output("`4Dein ganzes Gold wurde dir abgenommen!`n"); output("Du kannst morgen weiter kämpfen."); addnav("Tägliche News","news.php"); $session[user][badguy]=""; }else{ fightnav(true,false); output("`n"); switch(e_rand(1,11)){ case 1: output("`b".$badguy[creaturename]."`4 versucht einen billigen Trick.`b`n"); break; case 2: break; case 3: break; case 4: output("`b".$badguy[creaturename]." knurrt dich an.`b`n"); break; case 5: output("`b".$badguy[creaturename]." versucht, dir ein Ohr abzubeissen!`b`n"); break; case 6: output("`b".$badguy[creaturename]." schimpft dich einen Feigling!`b`n"); break; case 7: break; case 8: output("`b".$badguy[creaturename]." behauptet, deine Oma kämpft besser!`b`n"); break; case 9: output("`b".$badguy[creaturename]." sagt, du kämpfst wie ein Kind!`b`n"); break; case 10: output("`b".$badguy[creaturename]." sagt, dass du häslich bist und dass dir deine Mami komische Sachen zum Anziehen gibt!`b`n"); break; case 11: break; } } } // Ende des Bankraubs if ($HTTP_GET_VARS[op] == "ende"){ $sql = "SELECT acctid, goldinbank, stolengold from accounts"; $result = db_query($sql) or die(db_error(LINK)); $row = db_fetch_assoc($result); while ($row = mysql_fetch_assoc($result)) { $accountid= $row['acctid']; $stolengold= ($row['stolengold'])+($row['goldinbank']); $goldinbank= $row['goldinbank']; $sql = "UPDATE accounts SET goldinbank = $stolengold, stolengold= 0 WHERE acctid=$accountid;"; db_query($sql); } $session['user']['goldinbank']=$session['user']['goldinbank']+$session['user']['stolengold']; $session['user']['stolengold']=0; addnews("`&".$session[user][name]."`0 erledigte den letzten Bankräuber und hat das `^Gold zurückgebracht`0!"); output("`n`n`n Du hast den letzten Bankräuber erledigt, und bringst das ganze Gold zurück zur Bank.`n Das ganze Gold selbstlos den eigentlichen Besitzern zurückzugeben wirkt auf das andere Geschlecht sicherlich sehr anziehend.`nAls du dir den ganzen Haufen Gold so anschaust stellst du fest, dass an die 1000 Goldstücke zuviel in den Truhen sind.`n`n"); $session[user][charm]+=5; $session[user][experience]+=500; $session[user][robberfights]=2; $session[user][gold]+=1000; savesetting("bankrobber","0"); } } else { output("`n Du hast heute schon gegen 2 Bankräuber gekämpft!`n Du bist dir sicher, dass du es nicht schaffst noch ein drittes mal davon zu kommen,`n ohne dass es gleich die ganze Bande hört!"); addnav("Zurück"); addnav("Zurück zum Wald","forest.php"); } page_footer(); ?>[/php] |
Autor: | Artemis1988 [ Di 22 Feb, 2005 12:57 ] |
Betreff des Beitrags: | |
Wenn ich das testen will, dann geht das nicht! Ich klicke dann im Wald auf bankrobberstart.php aber danach passiert nicht außer, dass ich danach für 15 Runden besoffen bin! |
Autor: | Kevz [ Di 22 Feb, 2005 13:22 ] |
Betreff des Beitrags: | |
das is normal so...~spamm nicht so durchs forum... ![]() |
Autor: | Artemis1988 [ Di 22 Feb, 2005 14:38 ] |
Betreff des Beitrags: | |
Ja, entschuldigung! Aber ich bin in der Sache da neu! Ich will das schnell lernen wie HTML! Aber ist das der Sinn des Scripts? Ich dachte es würde sich ein neuer Link im Wald auftun? |
Autor: | teruk [ Di 22 Feb, 2005 15:43 ] |
Betreff des Beitrags: | |
Artemis1988 hat geschrieben: Wenn ich das testen will, dann geht das nicht!
Ich klicke dann im Wald auf bankrobberstart.php aber danach passiert nicht außer, dass ich danach für 15 Runden besoffen bin! allein das anklicken reicht nicht, es wird durch eine zufallszahl entschieden ob das ereignis ausgelöst wird oder nicht. [php]$ueberfall = e_rand(2,52); //chance if ((getsetting("bankrobber","0")<=0) && ($ueberfall==42)){[/php] diese zeilen entscheiden darüber am besten du suchst in der tabelle settings nach dem eintrag bankrobber und setzt den wert auf 2 |
Autor: | Artemis1988 [ Di 22 Feb, 2005 16:00 ] |
Betreff des Beitrags: | |
Ach so! Das ist ein Zufallsereignis! Ok! Dann ist es ok! *uff* Dachte, dass ich schon wieder etwas falsch gemacht hätte! |
Autor: | DarkAngel [ Mi 23 Mär, 2005 11:13 ] |
Betreff des Beitrags: | |
Also ist echt ein nice Hack, allerdings habe ich nun ein Problem. Und zwar habe ich diesen hack eingebaut und es funktionierte alles klasse. Danach hab ich noch das Edelsteinschließfach mit eingefügt. Seitdem ich das nun drinne habe erscheint nur noch eine weiße seite wenn due bankräuber zuschlagen. Wenn alle besiegt worden sind geht die bank wieder ganz normal. Sprich die Meldung von wegen "Es können keine bankgeschäfte mom gemacht werden wegen den bankräubern" taucht nicht mehr auf an dessen stelle kommt nur ne weiße seite. Hab schon einiges ausprobiert bisher aber ohne erfolg vielleicht weiss einer von euch ja an was es liegen könnte. |
Autor: | Hecki [ Mi 23 Mär, 2005 14:32 ] |
Betreff des Beitrags: | |
Ehm welche Schliessfachversion hast du denn drauf gemacht? |
Autor: | DarkAngel [ Mi 23 Mär, 2005 15:24 ] |
Betreff des Beitrags: | |
* Version: 15.05.2004 * Author: lordraven * Email: logd@anpera.de diese hier |
Autor: | deZent [ Mi 04 Mai, 2005 11:03 ] |
Betreff des Beitrags: | |
Sorry, genau das ist der Grund, warum wir nur einen kleinen Teil unserer Skripte veröffentlichen können. Wir haben so ziemlich alle Skripte an unsere Version angepasst. Daher sind unsere Skripte meistens auch mit relativ viel Handarbeit beim Einbau verbunden. Schick mir mal deine bank.php, ich schaus mir mal an. werbung_at_onetimepad_dot_de |
Seite 1 von 2 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |