GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Damien_Lohier le 21 Décembre 2010, 10:46:20
-
Salut!
J'ai un problème: au moment de choisir mon personnage au démarrage du jeu, je ne vois pas mon personnage....
Voici un bout de script:
public OnGameModeInit()
{
// Spawnpoints
AddPlayerClass(23,404.7494,2476.7190,16.4922,354.6768,0,0,0,0,0,0); // Aéroport abondonné
AddPlayerClass(293,404.7494,2476.7190,16.4922,354.6768,0,0,0,0,0,0);
AddPlayerClass(19,404.7494,2476.7190,16.4922,354.6768,0,0,0,0,0,0);
AddPlayerClass(28,404.7494,2476.7190,16.4922,354.6768,0,0,0,0,0,0);
AddPlayerClass(29,404.7494,2476.7190,16.4922,354.6768,0,0,0,0,0,0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
-
Il y a un sujet, Double Question ou les membres explique comment faire les caméras sinon tu dois utilisé :
SetPlayerCameraPos(playerid,les 3 première coordonées ici);
SetPlayerCameraLookAt(playerid,les 3 première coordonées ici);
Si tu ne comprends pas, prends les premiers code et go le wiki :P
-
Je sais pour le sujet, mais c'est que je ne sais même pas où est situé mon perso xDD
-
Quand tu arrives sur le serveur et au moment ou tu ne vois pas ton personnage, fait /save et regarde ou est le personnage
-
Tes trois fonctions (SetPlayerPos, SetPlayerCameraPos, SetPlayerCameraLookAt) pointe sur la même position, c'est normal que tu ne vois pas ton personnage.
Ton personnage, ta caméra et où la caméra regarde sont sur le même point.
-
Si j'ai bien compris (peut être pas le cas), il faut qu'ils fixent tout les trois le même endroit?
-
Relis bien mon message, c'est le contraire.
-
En gros (preuve que j'ai compris) :
Une position pour la caméra
Puis viens une autre position, juste devant par exemple et tu la met sur les deux codes suivant : SetPlayerCameraLookAt et SetPlayerPos après normalement tu devrais voir ton skin mais il faut retenir un truc si il n'est en position contre la caméra il faut rajouté se code là : SetPlayerFacingAngle mais il y a quatre point repaire :
Nord : 0
Est : 270
Sud : 180
Ouest : 90
Biensûr, si tu veut tu n'est pas obligé de suivre c'est code là, tu peut faire 91.124 mais c'est pour ceux qu'il veulent être très très précis :P.
J'espère que maintenant t'a compris.
-
Euh... Non :blink
Vous pouvez me faire un exemple avec le personnage et la caméra fixé sur la porte du garage de l'aéroport abandonné svp?
-
C'est hyper simple maintenant ^^
// CSL (Caméra Skin Localisation) by ~Julien~
if(classid == 0) // Code qui permet de définir la caméra que l'on va créer au premier skin
{
SetPlayerCameraPos(playerid,404.7822,2462.8738,29.6450); // Ici c'est le lieu de la caméra
SetPlayerCameraLookAt(playerid,404.8136,2454.6189,29.6449); // Ici on dit a la caméra de regarder a cette position
SetPlayerPos(playerid,404.8136,2454.6189,29.6449); // Ici le skin sera mis au lieu ou que la caméra regarde (un peu de logique)
}
Voilà tu as ta caméra mais sa marcheras que au premier skin voici un autre code qui permet de mettre cette caméra au premier skin
public OnPlayerRequestClass(playerid, classid)
{
if(classid == 0)
{
GameTextForPlayer(playerid,"~r~Ton Texte",2000,3);
Team[playerid] = 1;
SetPlayerColor(playerid,0x000000FF);
}// en dessous met la caméra
Mais si tu veut pas faire de classe alors tu fais comme ceci :
{
SetPlayerCameraPos(playerid,404.7822,2462.8738,29.6450); // Ici c'est le lieu de la caméra
SetPlayerCameraLookAt(playerid,404.8136,2454.6189,29.6449); // Ici on dit a la caméra de regarder a cette position
SetPlayerPos(playerid,404.8136,2454.6189,29.6449); // Ici le skin sera mis au lieu ou que la caméra regarde (un peu de logique)
}
Voilà mais un conseil si tu fais un serveur autre que le kill alors prends la solution simple. C'est-a-dire la dernière
J'espère que tu as compris ^^
-
Ou autre part ?
-
Il est sur le toit du hangar
-
Si tu n'avais pas compris, c'est sarcastique.
Il te demande de lui faire, pas de comprendre ce qu'il fait !
-
Moué, ça va je commence à comprendre, mais ya un truck qui me chagrine...
Comment on défini où la caméra regard? :blink
-
La fonction SetPlayerCameraLookAt est là pour ça.
-
Non mais ce que je demande c'est comment trouvé x, y et z...
-
http://wiki.sa-mp.com/wiki/Debug_Guide
-
if(strcmp(cmdtext, "/coord", true) == 0)
{
new tmp[128]; // On crée la variable du texte
new Float:x, Float:y, Float:z; // on crée les variables des coordonnes
GetPlayerPos(playerid, x, y, z); // On prend les coordones du joueur
format(tmp, sizeof(tmp),"Tu est a X= %f Y= %f Z= %f ", x, y, z); // On prepare le texte
SendClientMessage(playerid,0xff0000ff, tmp); // on affiche le texte au joueur
return 1;
}
Sa permet de prendre les coordonnes d'ou tu te trouves . X Y Z
-
Merci Xartrick mais mjlayak si tu m'explique pas ça sert à rien :...