• Anmelden

Red Jack

Unterstütztes Projekt: Soldiers Legacy

  • »Red Jack« ist der Autor dieses Themas
  • Nachricht senden

1

Sonntag, 30. Mai 2010, 11:12

if (Actor hat Waffe mit der ID 93)... ?

Hallo liebe Community,
ich bin leider ein blutiger anfänger.. aber brauche einen kurzen rgss fetzen.

und zwar möchte ich, dass dir exp, die man nach einem kampf bekommt, verdoppelt werden, wenn einer der Partymember die Waffe mit der ID 93 trägt.

in Game_Enemy habe ich folgendes gefunden:

Zitat


def exp
return $data_enemies[@enemy_id].exp
end


Wenn man da sowas macht, wie ich durch ausprobieren herausgedfunden habe, verdoppeln sich die exp:

Zitat


def exp
return ($data_enemies[@enemy_id].exp * 2)
end



jetzt brächte ich eine bedingung, die überprüft, ob einer der actors die waffe ID93 trägt...
sowas wie:

Zitat


def exp
if (Einer der Partymember trägt waffe 93)
return ($data_enemies[@enemy_id].exp * 2)
else
return $data_enemies[@enemy_id].exp
end
end


wer kann mir da weiterhelfen?

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

2

Sonntag, 30. Mai 2010, 11:20

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Game_Enemy
 alias_method :doublexp_ninetythree, :exp
 def exp
  doublexp_ninetythree * $game_party.exp_multiplicator
 end
end
 
class Game_Party
 def exp_multiplicator
  if self.actors.any? {|i| i.weapon_id == 93}
   return 2
  end
  return 1
 end
end


Sollte klappen.
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

Red Jack

Unterstütztes Projekt: Soldiers Legacy

  • »Red Jack« ist der Autor dieses Themas
  • Nachricht senden

3

Sonntag, 30. Mai 2010, 11:28

tut es, vielen dank :)

Social Bookmarks