GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Soravani le 23 Septembre 2009, 11:47:59
-
Bonjour !
J'ai un petit problème.
Du moin, c'est quelque chose dont je ne sais pas faire...
Je suis entrein de modifier un Gamemode RPG ( GodFather exactement ).
Devant les portes ( comme le comisseria par exemple ) des flêches de couleurs jaune sont devant, pour entrer. Mais, je voudrez les modifiers/supprimer, en un autre pickup.
Comment faire ?
Merci bien,
au revoir !
-
deja repondu fonction recherche du forum la prochaine fois
dans le ongamemodeinit() ajoute
DisableInteriorEnterExits();
puis voila un exemple pour entre dans le commissariat de sf
declare les variables
new ppolice;
new epolice;
puis voila un exemple pour entre dans le commissariat de sf
dans le ongamemodeinit() ajoute
ppolice = CreatePickup ( 1272, 23,-1605.0853, 711.2844, 13.8672);
epolice = CreatePickup ( 1272, 23,246.2027, 108.9426, 1003.2188);
dans le public OnPlayerPickUpPickup(playerid, pickupid)
if (pickupid == ppolice)
{
TpJ(playerid, 248.6728, 109.2128, 1003.2188, 9.4001, 10,0);
}
if (pickupid == epolice)
{
TpJ(playerid, -1606.7971, 711.7957, 13.8672, 1.2533, 0,0);
}
je vais expliquer la fonction TpJ
deja voila sa fonction
TpJ (playerid, Float:X, Float:Y, Float:Z, Float:zAngle, Int,world)
{
new vehicleid;
if (IsPlayerInAnyVehicle (playerid))//si dans un vehicule
{
vehicleid = GetPlayerVehicleId (playerid);
SetPlayerInterior(playerid, Ints);//on met le joueur dans l'interieure citer
SetPlayerPos (playerid, X, Y, Z);//on place le joueur au coordonne citer
LinkVehicleToInterior(vehicleid,Int);//on place le vehicule dans l'interieure citer
SetVehiclepos (vehicleid, X, Y, Z);//on place le vehicule dans la position citer
SetVehicleZAngle (vehicleid, zAngle);//on le met dans l'angle citer
SetVehicleVirtualWorld(vehicleid, world);//on place le vehicule dans le virtualworld citer
SetPlayerVirtualWorld(playerid,world);// on place le joueur dans le virtualworld citer
PutPlayerInVehicle (playerid, vehicleid, 0);//on entrer le joueur dans le vehicule
SetCameraBehindPlayer (playerid);// on place la camera
}
else//sinon
{
SetPlayerPos (playerid, X, Y, Z);//on place le joueur au position souhaiter
SetPlayerInterior(playerid, Int);//on place le joueur dans l'interieur citer
SetCameraBehindPlayer (playerid);//on place la camera
SetPlayerVirtualWorld(playerid,world);//on place le joueur dans le virtual world souhaiter
}
}
desormer comment ajouter une teleportation ben facilement comme ceci
TpJ(playerid,POSX, POSY, POSZ, ANGLE, INTERIOR,VIRTUALWORLD);
en gros j'aimerais que mon joueur se teleporte dans l'interior 17 un magazin 24/7 je met ceci
TpJ(playerid,-25.88,-185.87,1003.55,playerid,17,0);
pour l'angle je met playerid mais si on veut forcer le joueur a avoir un angle different vous pouvez entrer les coordonee d'un angle a votre guize
voila j'espere que je repond a ta question je remercie Syg car ce code est dans un de ces tuto il faut juste lire la rubrique TUTO (http://www.gtaonline.fr/forums/index.php/board,75.0.html)
Volontairement je fais des erreurs dans la fonction TpJ afin que vous chercher a comprend le code :)
-
Ok, merci, mais ca ne repond que 50% de ma question ;)
Comment les EFFACERS sans nouveau pickup ? faut en faire un quand même ?
merci
++
-
Si tu appelles la fonction DisableInteriorEnterExits();, plus personne ne pourra entrer dans aucun intérieur.
Si c'est ce que tu veux, l'appel à la fonction ci-dessus suffit.
Par contre, si tu veux que l'on puisse toujours accéder aux intérieurs, il faut que tu fasses comme cristab t'a dit.
++
Syg
-
Merci Syg ! ;)
Vous pouvez clore le sujet, merci encore.
EDIT: Savez vous ou je peux trouver les ID's des pickups de la MINI MAP ?
-
pour la map ce sont des MapIcon
-
Oui je sais je sais, mais les ID, car il en existe plusieur !
Merci++
-
http://wiki.sa-mp.com/wiki/SetPlayerMapIcon (http://wiki.sa-mp.com/wiki/SetPlayerMapIcon)
++
FS'
-
Merci beaucoup, vous povuez cette fois look le sujet ;)
Merci encore :cheers