anpera.net https://anpera.dyndns.org/phpbb3/ |
|
The Pest https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=3658 |
Seite 1 von 2 |
Autor: | MySql [ Fr 25 Mai, 2007 11:32 ] |
Betreff des Beitrags: | The Pest |
Hallo, Ich hab mich mal hin gesetzt (5 minuten) und so einen kleinen Pest-Mod gemacht. Naja was heist Mod ist eher ein kleiner codeschnipsel für das village.php script. Es ist nicht besonders dolle aber es funtz. Wen das irgendwas ist was verschoben werden muss dann : Verschieben & Wen ich gut genug bin auch rechte geben. ![]() MySql: $this->bbcode_second_pass_code('', ' ALTER TABLE `accounts` ADD `pest` INT( 11 ) DEFAULT '0' NOT NULL ;') PHP: [php]if ($session['user']['pest']==0){ if (e_rand(1,7)==3){ output('`n`nOhh du ärmster. Du wurdest von einer Ratte gebissen. Und diese Ratte hatte die Pest. Natürlich hast auch du jetzt die Pest.'); $session['user']['pest']=1; $session[bufflist][thepest] = array("name"=>"`4Die Pest","rounds"=>75,"wearoff"=>"Wie durch ein wunder ist die Pest vergangen!","atkmod"=>0.5,"defmod"=>0.5,"roundmsg"=>"Die Pest schwächt deinen Angriff!","activate"=>"offense","activate"=>"defense"); } } [/php] wer dies auch noch in die user.php ein beziehen will: PHP: [php] "pest"=>"Hat der Spieler die Pest?,enum,0,Nein,1,Ja",[/php] Viel Spaß.[/php] |
Autor: | dragonslayer [ Fr 25 Mai, 2007 12:12 ] |
Betreff des Beitrags: | |
Ich mag die Idee den Usern zufällig ein paar negative Buffs zu geben. Aber wozu brauchst du da den Eintrag in der DB? Deine User werden in diesem Fall ganz genau einmal pro DK die Pest bekommen... ist das so gewünscht? Ich würde vorschlagen: lass den DB Eintrag weg und schraub die Wahrscheinlichkeit stark runter. Auf meinem Dorfplatz machen sich 0,7% immer als ganz guter wert, damit es nciht so oft vorkommt und nervt. In der If Abfrage kannst du ja dann noch überprüfen ob der Buff schon gesetzt wurde und ihn nur setzen wenn er noch nicht existiert |
Autor: | MySql [ Fr 25 Mai, 2007 12:41 ] |
Betreff des Beitrags: | |
Das ist schonr ichtig so. Die sollen des nur einmal pro dk bekommen! Ich mein es ist unrealistisch alle 2 minuten mit einer neuen Pest da zu stehen... |
Autor: | dragonslayer [ Fr 25 Mai, 2007 13:25 ] |
Betreff des Beitrags: | |
Deswegen sagte ich ja: Wahrscheinlichkeit runter schrauben. ich überleg mir immer dreimal ob ich ein neues Feld in der DB brauche oder ob's nicht auch so geht. So wie es nämlich momentan aussieht hat der User dein Special stets am ersten Tag nach dem Drachenkill! Niemals im 15. Level, versprochen! |
Autor: | MySql [ Fr 25 Mai, 2007 13:27 ] |
Betreff des Beitrags: | |
So im ersten post ist es nun eine 1 zu 7 warscheinlich keit. |
Autor: | dragonslayer [ Sa 26 Mai, 2007 12:22 ] |
Betreff des Beitrags: | |
Ich dachte eher so: [php] if (!is_array($session['bufflist']['thepest'])){ if (e_rand(1,1000)<7){ output('`n`nOhh du ärmster. Du wurdest von einer Ratte gebissen. Und diese Ratte hatte die Pest. Natürlich hast auch du jetzt die Pest.'); $session['bufflist']['thepest'] = array("name"=>"`4Die Pest","rounds"=>75,"wearoff"=>"Wie durch ein wunder ist die Pest vergangen!","atkmod"=>0.5,"defmod"=>0.5,"roundmsg"=>"Die Pest schwächt deinen Angriff!","activate"=>"offense"); } } [/php] Außerdem war in deinem Buff ein Fehler. Entweder es wird beim offense aktiviert oder beim defense, beides geht leider nicht. |
Autor: | MySql [ Sa 26 Mai, 2007 12:32 ] |
Betreff des Beitrags: | |
Es geht beides, er wird bei beidem schwächer habe es doch selbst getestet. |
Autor: | Eliwood [ Sa 26 Mai, 2007 13:04 ] |
Betreff des Beitrags: | |
Beides seperat - ja. Aber so, wie du es geschrieben hast, geht es auf jeden Fall nicht miteinander. Du überschreibst "offense" mit "defense". Das kann man allerdings ändern, in dem du es so schreibst: [php]#[...] 'activate' => 'offense, defense', #[...][/php] |
Autor: | newbi [ Fr 08 Jun, 2007 13:47 ] |
Betreff des Beitrags: | |
hi:) hab hier auch mal eine Frage zu^^ wenn ich möchte, das wenn ein user schwanger ist und die Pest bekommt, das Kind verliert, was muss ich dann schreiben? ( ja ich weis^^ ich bin lA"stig;) aber Nur wo Newbi draufsteht is auch Newbi drinne^^) danke |
Autor: | Rikkarda [ Fr 08 Jun, 2007 14:27 ] |
Betreff des Beitrags: | |
newbi hat geschrieben: hi:) hab hier auch mal eine Frage zu^^
wenn ich möchte, das wenn ein user schwanger ist und die Pest bekommt, das Kind verliert, was muss ich dann schreiben? ( ja ich weis^^ ich bin lA"stig;) aber Nur wo Newbi draufsteht is auch Newbi drinne^^) danke mal abgesehen davon, dass es wohl logisch richtig wäre, wenn ein spieler der die pest bekommt sein kind wohl verlieren würde, möchte ich dir nur raten davon abzusehen. Viele rollenspieler strengen sich echt an um schwanger zu werden, weil sie das kind nicht nur in der bio stehen haben mögen weils schick aussieht und dazu gehört, sondern weil ihr rp dadurch positiv beeinflusst wird, und gefördert. Wenn ich jetzt in deinem Dorf sein würde, und ich wäre schwanger, und ich wüsste, dass ich bei betreten des dorfplatzes eine und sei sie noch so geringe Möglichkeit habe, mein kind, was ich haben mag zu verlieren, würde ich die zeit der schwangerschaft nur n och im haus verbleiben. ergo wäre das öffentliche RP sehr eingeschränkt.. weiss net ob das so toll wäre zur eigentlichen frage.. mach eine abfrage ob der jenige den pestbuff hat, falls ja setzt du den schwangerschaftsstatus wieder auf 0 restzeit etc natürlich auch. also alles das, was AKTIV wurde, als der spieler schwanger wurde ![]() lg |
Autor: | Harthas [ Fr 08 Jun, 2007 14:43 ] |
Betreff des Beitrags: | |
[php]if (isset($session['bufflist']['thepest'])) { //... Hier die betreffenden Felder jeweils auf 0 setzen lassen }[/php] Bin da allerdings derselben Meinung wie Rikkarda. |
Autor: | newbi [ Fr 08 Jun, 2007 23:35 ] |
Betreff des Beitrags: | |
das müsste dann doch eigendlich so lauten oder? Zitat: $sql = "UPDATE accounts SET ssstatus=='0', ssmonat =='0'";
obwohl nein kann nciht^^ dann würds gehen^^ |
Autor: | Harthas [ Fr 08 Jun, 2007 23:38 ] |
Betreff des Beitrags: | |
Machs über die Session. ;-) |
Autor: | Drazaar [ Sa 09 Jun, 2007 02:20 ] |
Betreff des Beitrags: | |
[php]if (isset($session['bufflist']['thepest'])) { $session['user']['ssstatus'] = 0; $session['user']['ssmonat'] = 0; }[/php] Müsste dann wohl gehen. Ich kenne mich allerdings nicht aus mit dem Kindersystem und ich finde die Idee wie meine Vorredner schon nicht so prickelnd. Aber ich mag das ganze Kindersystem nicht, von daher...^^; |
Autor: | newbi [ Sa 09 Jun, 2007 08:00 ] |
Betreff des Beitrags: | |
guten Morgen:), ja werds auch nicht in die Pest mit reinnehmen, sondern ne engelsmacherin versuchen, hab eure Eure Antworten nachgedacht und festgestellt das ihr wohl recht habt^^. danke erst Mal für die Hilfe. Newbi |
Autor: | Rikkarda [ Sa 09 Jun, 2007 11:07 ] |
Betreff des Beitrags: | |
ne Engelsmacherin gibts hier im Forum auch für das Kindersystem von -DoM hab die damals geschrieben, weil einige Männer wild drauflos ihre Frauen geschwängert hatten^^ |
Autor: | Drazaar [ Sa 09 Jun, 2007 11:25 ] |
Betreff des Beitrags: | |
Welch unzüchtiges Verhalten *tztz* ![]() Hier die Engelsmacherin. |
Autor: | newbi [ Sa 09 Jun, 2007 21:05 ] |
Betreff des Beitrags: | |
...heist das ich habe mir gestern nacht und heute den Morgen um die Ohren geschlagen..umsonst? Ich hätte das gar nicht schreiben müssen, weils das hier schon gab?? *heul* ^^ macht nix, behalt das was ich mir zusammengebastelt hab, es läuft und erfüllt seinen Sinn, auch wenn sich wohl jeder der nen bischenw as von dem zeug heir versteht sich drüber kaputtlachen würde^^ |
Autor: | MySql [ So 10 Jun, 2007 12:00 ] |
Betreff des Beitrags: | |
Hay, so nach dem 2ten versuch ging es dann doch ;D village.php öffnen: suchen: [php]if (!is_array($session['bufflist']['thepest'])){[/php] ersetzten durch [php]if (!is_array(session['bufflist']['thepest'] || $session['bufflist']['womenpest'])){[/php] und im Pest-Code dieses php stück einfügen: [php] if ($session['user']['sex']==1 || $session['user']['ssstatus']>=1) { output('`bDie Pest`b`n Als du auf den Dorfplatz kommst, siehst du eine große, fette und eklige Ratte. Du denkst dir das du sie vertreiben musst, daher hier auch kleine Kinder spielen. Deshalb gehst du auf die Ratte zu, und versuchst sie mit deiner Waffe '.$session['user']['weapon'].' zu vertreiben. `n`n Vergebens die Ratte hat dich gebissen!!`n Du wirst ohnmächtig und wachst erst wider im Krankenhaus der Stadt auf. Einer der Ärzte sagt dir das du nun die Pest hast.`n Traurig gehst du wider deines weges.'); $session['bufflist']['womanpest'] = array( 'name'=>'`&Die Pest' ,'rounds'=>15 ,'wearoff'=>'Wie durch ein Wunder ist die Pest verfolgen.' ,'atkmod'=>0.5 ,'defmod'=>0.5 ,'roundmsg'=>'Die Pest raubt dir sehr viel Kraft.' ,'activate'=>'offense' ,'activate' =>'defense' ); }[/php] Der code muss dan vom kern her noch mit den "Abfragen" verändert werden , dürfte nicht alt zu schwer sein.. Lg |
Autor: | Drazaar [ So 10 Jun, 2007 22:27 ] |
Betreff des Beitrags: | |
MySql hat geschrieben: [php]if (!is_array($session['user']['thepest'])){[/php]
Daraus werde ich nicht klug. Was soll das bringen? oO Und wo stand das vorher irgendwo im Code? |
Seite 1 von 2 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |