HomeDownloadsForumGalerieLinks

 

ForenübersichtPOL - EntwicklungsforumGargoyles und fliegen *verzweifel*

Gargoyles und fliegen *verzweifel*

Mitglied-336015.03.2015, 04:09 Uhr
mahlzeit :)

ich versuche schon seit stunden diesen fly mode bei pol99 und dem 7er SA client zum laufen zu bringen.
im polforum steht wohl das man das wohl nur clientseitig aktivieren kann, muss am server irgendwas gemacht werden?

ein kurzes selbstgebasteltes script bringt nichts
Code:
function flymode (who)

var trg := Target (who, TGTOPT_NOCHECK_LOS);
trg.race:= RACE_GARGOYLE;
SendSysMessage (who, "race: "+trg.race);
trg.movemode := "F";

endfunction


in der servspecopt.cfg hab ich
Code:
UOFeatureEnable=0x1a0


Account Expansion steht ebenfalls auf "SA" und entsprechende tiles sind auch mit "hoverover" gepatcht.

hat von euch einer ne idee die mir nen lichtblick verschaffen kann?
Mitglied-229115.03.2015, 20:04 Uhr
Mitglied-3360 hat geschrieben:mahlzeit :)

ich versuche schon seit stunden diesen fly mode bei pol99 und dem 7er SA client zum laufen zu bringen.
im polforum steht wohl das man das wohl nur clientseitig aktivieren kann, muss am server irgendwas gemacht werden?

ein kurzes selbstgebasteltes script bringt nichts
Code:
function flymode (who)

var trg := Target (who, TGTOPT_NOCHECK_LOS);
trg.race:= RACE_GARGOYLE;
SendSysMessage (who, "race: "+trg.race);
trg.movemode := "F";

endfunction


in der servspecopt.cfg hab ich
Code:
UOFeatureEnable=0x1a0


Account Expansion steht ebenfalls auf "SA" und entsprechende tiles sind auch mit "hoverover" gepatcht.

hat von euch einer ne idee die mir nen lichtblick verschaffen kann?

Hallo,

Information kommt von hier: http://forums.polserver.com/viewtopic.php?f=7&t=3157&p=15685&hilit=gargoyles+flying#p15685

Der 'movemode' den dein Script ändern will, ist read only, und kann nicht geändert werden, nicht vom Server aus.

Entwickler Turley meint dazu:

clientside...with 7.x/UOSA client "toggle flying" macro
movemode is readonly http://docs.polserver.com/pol099/objref.php#Character

Also muss man das am client einschalten, und das macht auch Sinn, da der Spieler ja selbst entscheiden will, ob er er fliegt oder nicht.

Horus
Freeshard Oldworld - http://www.theow.de
Mitglied-336015.03.2015, 20:47 Uhr
den togglegargoyleflying macro "oder wie der grad geschrieben wird, haben wir schon getestet (hätte ich auch erwähnen sollen, sorry)
leider ohne erfolg
*edit sagt:
irgendetwas scheint bei uns zu fehlen, in diesem buch wo man das "fly" auch aktivieren kann, steht überall invalid. benötigen wir einen bestimmten skill oder ein packet das abfragt race und dem gump sagt zeig das und das an etc?
edit die 2. sagt:

fehler gefunden.
Code:
/*
0 BYTE[1] cmd
1 BYTE[2] packet length
3 BYTE[4] player id
7 BYTE[30] playerName
37 BYTE[2] currentHitpoints
39 BYTE[2] maxHitpoints
41 BYTE[1] name change flag (0x1 = allowed, 0 = not allowed)
42 BYTE[1] flag (0x00 – no more data following (end of packet here).
0x01 – more data after this flag following,
0x03: like 1, extended info,
0x04: even more extended info (client 4.0 and above),
0x05: Unknown, UOML introduced. Maybe to do with introduced at client 5.0?
43 BYTE[1] sex (0=male, 1=female)
44 BYTE[2] str
46 BYTE[2] dex
48 BYTE[2] int
50 BYTE[2] currentStamina
52 BYTE[2] maxStamina
54 BYTE[2] currentMana
56 BYTE[2] maxMana
58 BYTE[4] gold
62 BYTE[2] armor class
64 BYTE[2] weight
66 BYTE[1] Unknown * UOML Introduced?

If (flag == 3 or flag == 4)
66 · BYTE[2] statcap
68 · BYTE[1] pets current
69 · BYTE[1] pets max
If (flag == 4)
70 · BYTE[2] fireresist
72 · BYTE[2] coldresist
74 · BYTE[2] poisonresist
76 · BYTE[2] energyresist
78 · BYTE[2] luck
80 · BYTE[2] damage minimum
82 · BYTE[2] damage maximum
84 · BYTE[4] titching points
*/

use cfgfile;
use uo;

include "include/taming";
include "include/attributes";

program Install()

Print ("INSTALLING: Outgoing statusbar ...");
return 1;

endprogram



exported function aktualisieren(who, byref packet)

// flag=4, even more extended info
packet.SetInt8 (42, 4);

// bei den Stats werden die Grundwerte angezeigt
//packet.SetInt16 (44, GetBaseStrength(who));
//packet.SetInt16 (46, GetBaseDexterity(who));
//packet.SetInt16 (48, GetBaseIntelligence(who));

// stat cap
packet.SetInt16 (66, 225);

// Petslots lesen
var petslots:= GetObjProperty (who, "pets");

if (!petslots ||
(petslots < 0))
petslots:= 0;
elseif (petslots > 255)
petslots:= 255;
endif

packet.SetInt8 (68, petslots);
packet.SetInt8 (69, MAX_PET_COUNTER);

// Waffenschaden ermitteln
var schaden:= array {0, 0};

foreach inhand in {GetEquipmentByLayer (who, 2), GetEquipmentByLayer (who, 1)}
if (inhand.isA (POLCLASS_WEAPON))
var cfgElem:= ReadConfigFile (":combat:itemdesc")[inhand.objtype];

if (cfgElem.MinDam &&
cfgElem.MaxDam)
schaden:= {cfgElem.MinDam + inhand.dmg_mod, cfgElem.MaxDam + inhand.dmg_mod};
endif

break;
endif
endforeach

// packet.SetInt16 (81, schaden[1]);
// packet.SetInt16 (83, schaden[2]);

// Feuerresistenz
packet.SetInt16 (70, GetObjProperty(who,"fire_resist"));

// Kälteresistenz
packet.SetInt16 (72, GetObjProperty(who,"ice_resist"));

// Giftresistenz
packet.SetInt16 (74, GetObjProperty(who,"poison_resist"));

// Energieresistenz
packet.SetInt16 (76, GetObjProperty(who,"energy_resist"));

// Angstresistenz
packet.SetInt16 (78, GetObjProperty(who,"fear_resist"));

packet.SetInt16 (80, schaden[1]);
packet.SetInt16 (82, schaden[2]);

return 0;

endfunction


dieses script blockt da irgendwie ab -.- hat evntl einer ahnung von packets und hat nen dirty fix dafür?
Mitglied-229116.03.2015, 22:59 Uhr
Hallo,

der Script sieht aus, wie ein Script, der am Status-Packet was macht. Als 'exported function' wird er vom Core direkt aufgerufen - wo er drin ist, weiss ich nicht. Eventuell bei bestimmten Paketen?

Jedenfalls muss ich da leider passen - wir verwenden hier ja UO-ML, also kenne ich mich nicht wirklich mit Client 7.x Features aus..

Generell findest du auf der POL-Seite eine wirklich gute Liste mit allen Packets, auch mit Kommentaren. Dort solltest du mal nachsehen, denn in den Kommentaren steht möglicherweise was dazu.

Horus
Mitglied-336016.03.2015, 23:29 Uhr
ok dennoch besten dank erstmal :)
UO World – Archiv-Neuauflage 2026 · Impressum · Datenschutz