Page 1 sur 1
Naviguer.
Posté : 22 déc. 2010, 20:15
par Karaiq
Salut,
je voulais vous demander si vous vous étiez déjà penché sur la question : naviguer dans Oblivion ?
A vrai dire, j'ai testé le mod "The pirate isles" IG, j'adore ce résultat. Et là j'essaie de voir ce que ça donne au niveau du CS, et je ne pige pas grand chose... J'essaie de fouiller, voir comment c'est foutu. Mais si quelqu'un d'ici avait déjà essayé de voir ça, s'il était possible d'être tuyauté, je suis preneur !
Ou s'il y a un tuto quelque part que j'aurais loupé, je suis pas contre aussi...!
Re: Naviguer.
Posté : 23 déc. 2010, 12:51
par beeratwork
Ouf ! Déjà avec les balais volant je n'ai pas été voir plus loin... j'ai l'impression qu'il y a du calcul vectoriel là-dessous et j'ai pas envie de me prendre la tête avec des noms de variables bizarres...
En gros, tu as besoin de connaître la position de la souri pour orienter ton véhicule dans la direction pointée, de savoir si on appuye sur une touche pour avancer (= accélérer jusqu'à valeur max) et freiner (pas de marche arrière svp) et les flêche pour tourner. En plus il faut vérifier les contrôles du perso et s'assurer que position du perso et du véhicule correspondent.
Mais si tu es sur un balais, comme c'est basé sur le cheval, c'est le même principe que les dragons d'akatosh.
Re: Naviguer.
Posté : 23 déc. 2010, 14:40
par Karaiq
En regardant les différents scripts des différents mods qui permettent de naviguer, j'en ai vu un qui utilisait le placeatme, bon, je ne les ai pas tous épluché... Mais est-ce vraiment judicieux d'utiliser le placeatme dans cette condition :
► Afficher le texte
Begin GameMode
if mode == 10
set button to getbuttonpressed
if button == 0
set mode to 0
set sailref to placeatme CLSSailboatMobile 1
disable
poscell 0,0,0,0,aleswell
set mode to 50
elseif button == 1
set dock to CLSSailboatICMarkp
set map to CLSSailboatICMap
set mode to 20
elseif button == 2
set dock to CLSSailboatBravilMarkp
set map to CLSSailboatBravilMap
set dist to Map.getdistance player
printc "%.0f", dist
set mode to 20
elseif button == 3
set dock to CLSSailboatLeyMarkp
set map to CLSSailboatLeyMap
set dist to Map.getdistance player
printc "%.0f", dist
set mode to 20
elseif button == 4
set dock to CLSSailboatAnvMarkp
set map to CLSSailboatAnvMap
set dist to Map.getdistance player
printc "%.0f", dist
set mode to 20
endif
set button to -1
elseif mode == 20
disableplayercontrols
; if getgodmode == 1
; set gm to 1
; elseif getgodmode == 0
con_TGM
; set gm to 0
; endif
set tscale to TimeScale
set dist to Map.getdistance player
set arivhour to ((dist) / 60/ 60 / 7)
set AthMod to (ArivHour * 5)
set currhour to GameHour
if arivhour + currhour >= 48
set arivday to (gamedayspassed + 2)
elseif arivhour + currhour >= 24
set arivday to (gamedayspassed + 1)
else
set arivday to gamedayspassed
endif
Set TimeScale to 32000
set mode to 24
Message "You sail your way to your destination, carefully avoiding danger..."
elseif mode == 24
If gamedayspassed == arivday
if ArivHour <= GameHour
set mode to 25
disable
endif
Elseif gamedayspassed > arivday
set mode to 25
endif
elseif mode == 25
; if gm == 0
con_TGM
; endif
enableplayercontrols
Set TimeScale to tscale
set mode to 30
elseif mode == 30
set mode to 0
dock.placeatme CLSSailboat
disable
poscell 0,0,0,0,aleswell
CLSSailboatMarker.moveto map
CLSSailboatMarker.enable
ShowMap CLSSailboatMarker
incrementplayerskilluse athletics 1 AthMod
player.moveto map
elseif mode == 50
if wait >= 3
set wait to 0
; sailref.activate player
tapcontrol 5
set mode to 30
else
set wait to wait + 1
endif
endif
if mode == 80
set button to getbuttonpressed
if button == 0
CLSSailboatHoldP.activate player
set mode to 0
elseif button == 1
set mode to 0
player.moveto CLSSailboatDoormat
endif
endif
END
Re: Naviguer.
Posté : 27 déc. 2010, 13:40
par beeratwork
Le placeatme peut-être évité en utilisant une ref persistante. Surtout pour un bateau... Déjà que c'est pas évident de détruire un objet d'inventaire... Les static c'est tout simplement impossible !
Re: Naviguer.
Posté : 29 déc. 2010, 20:14
par Karaiq
Donc ce n'est pas très judicieux...
