Hey Leute,
ihr seht doch sicherlich in anderen Gamemodes das die Waffen zb. wie bei KoG|lvl bei der Shotgun
ein Radius von ca. 170° hat. Vielleicht denkt ihr euch ja "Das will ich auch haben, aber wie mache ich das nu?" und
hier habe ich eine Lösung dazu. Ich finde das, dass spreaden nicht schwer ist.
Mann muss aber auf manche Sachen achten und Mathe können.
Was ihr braucht:
Die character.cpp findet ihr hier:
teeworlds-0.6.x-source/src/game/server/entities/chracter.cpp
Ich werde euch zuerst das spreaden der Shotgun zeigen. Weitere
folgen dann wenn ich Zeit und Lust habe euch zu zeigen wie das geht.
Ihr öffnet character.cpp und sucht per Suchfunktion eures Editors diesen Code:
Jetzt müsstet ihr den Code von der Shotgun sehen. Doch wo müsst ihr etwas ändern
um den Radius der Shotgun zu erhöhen?
Das ist eig. sehr simple.
Ihr müsst nun diesen Codeabschnitt bearbeiten:
So, nun wollte ihr zb. nicht nur 5 Munition die aufeinmal rauskommt, sondern 7 Kugeln.
Ihr fragt euch Sicherlich wie ich auf die 5 gekommen bin.
Also, Msg.AddInt(ShotSpread*2+1); nimmt die Ziffer aus int ShotSpread = 2; das wäre dann die 2.
Sprich: 2*2+1= 5
So jetzt wollt ihr 7 Kugeln haben. Zuerst müsst ihr den Code
int ShotSpread = 2; so umändern das nachher Msg.AddInt(ShotSpread*2+1); gleich 7 ergibt.
Hier müsst ihr auch eine 3 einsetzten:
So jetzt fehlt das wichtigste:
Ihr seht Zahlen mit einem f am ende.
Bei jeder Zahl müsst ihr dann 0.070f dazurechnen.
Dieser Code:
Aufgabe:
Ihr gebt der Shotgun 9 Kugeln. Wie das geht habe ich euch beschrieben.
Wenn ich Hilfe braucht etc. schreibt mir.
~moritz.
PS: Falls ihr fehler findet, bitte sagt es mir ;)
ihr seht doch sicherlich in anderen Gamemodes das die Waffen zb. wie bei KoG|lvl bei der Shotgun
ein Radius von ca. 170° hat. Vielleicht denkt ihr euch ja "Das will ich auch haben, aber wie mache ich das nu?" und
hier habe ich eine Lösung dazu. Ich finde das, dass spreaden nicht schwer ist.
Mann muss aber auf manche Sachen achten und Mathe können.
Was ihr braucht:
- character.cpp
- Mathe
- Lust
Die character.cpp findet ihr hier:
teeworlds-0.6.x-source/src/game/server/entities/chracter.cpp
Ich werde euch zuerst das spreaden der Shotgun zeigen. Weitere
folgen dann wenn ich Zeit und Lust habe euch zu zeigen wie das geht.
Ihr öffnet character.cpp und sucht per Suchfunktion eures Editors diesen Code:
Jetzt müsstet ihr den Code von der Shotgun sehen. Doch wo müsst ihr etwas ändern
um den Radius der Shotgun zu erhöhen?
Das ist eig. sehr simple.
Ihr müsst nun diesen Codeabschnitt bearbeiten:
Quellcode
- int ShotSpread = 2;
- CMsgPacker Msg(NETMSGTYPE_SV_EXTRAPROJECTILE); //Hier nichts ändern
- Msg.AddInt(ShotSpread*2+1); //Hier nichts ändern
- for(int i = -ShotSpread; i <= ShotSpread; ++i) //Hier nichts ändern
- {
- float Spreading[] = {-0.185f, -0.070f, 0, 0.070f, 0.185f};
- float a = GetAngle(Direction); //Hier nichts ändern
- a += Spreading[i+2];
So, nun wollte ihr zb. nicht nur 5 Munition die aufeinmal rauskommt, sondern 7 Kugeln.
Ihr fragt euch Sicherlich wie ich auf die 5 gekommen bin.
Also, Msg.AddInt(ShotSpread*2+1); nimmt die Ziffer aus int ShotSpread = 2; das wäre dann die 2.
Sprich: 2*2+1= 5
So jetzt wollt ihr 7 Kugeln haben. Zuerst müsst ihr den Code
int ShotSpread = 2; so umändern das nachher Msg.AddInt(ShotSpread*2+1); gleich 7 ergibt.
Hier müsst ihr auch eine 3 einsetzten:
So jetzt fehlt das wichtigste:
Ihr seht Zahlen mit einem f am ende.
Bei jeder Zahl müsst ihr dann 0.070f dazurechnen.
Dieser Code:
Aufgabe:
Ihr gebt der Shotgun 9 Kugeln. Wie das geht habe ich euch beschrieben.
Wenn ich Hilfe braucht etc. schreibt mir.
~moritz.
PS: Falls ihr fehler findet, bitte sagt es mir ;)
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von moritz. ()