GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: kikite02 le 06 Avril 2008, 14:48:33
-
Bonjour a tous
pour les voitures c'est removeplayerfromvehicle
mais dans une zone ?
comment faire pour que le player ne depasse pas certaine zone ?
pour qu'il soit ejecter comme les voitures ?
-
Il faut que tu utilise
SetPlayerWorldBounds(playerid, Float:x_max, Float:x_min, Float:y_max, Float:y_min);
-
Est il se passera quoi a cette zone ?
-
si je pence bien
ça va créé un mur invisible autour de ta zone (suis pas sur)
+
-
C'est ce que je voulais merci !
est pour enlever cette protection ? une commands inverse :)
-
Pour enlever cette protection tu utilise :
SetPlayerWorldBounds(playerid, 20000.0000,-20000.0000,20000.0000,-20000.0000);
Tu ne modifi pas ce que j'ai mit en rouge, c'est les coordonées qu'il faut mettre dans le SetPlayerWorldBounds pour désactiver la protection.
-
Oua t'est un pro :)
merci bien
est un dernier truks :) comment mettre un message ? quand on arrive dans cette zone svp
-
On ne peut pas mettre de message (Il aura un text par default en anglais qui sera la...) Sinon faut tout coder nous même. ;)
-
Merci :)
sinon vous auriez un exemple ?
car dans mon gm j'ai peur de erreurs etc
edit : Cela ne marche pas
comment faire ?
-
Met dans le pastebin la commande où tu a mit le SetPlayerWorldBounds stp.
-
Ha il marche dans le playerSpawn mais les joueurs nage :(
tu peux me preparer la commandes ? pour que je voit a peut prés comment faire pour bloker un endroit a tout le monde
-
le SetPlayerWorldBounds tu veus le mettre dans une commande ?
-
Je ne sais pas
car je veut juste que personne ne puisse aller dans cette zone ! tant que je n'ai pas fini certaine chose :(
a 'laide ! help !
-
Tout d'abord tu défini ta zone en x_max, x_min, y_max, y_min.
Ensuite tu remplace au bon endroit :
SetPlayerWorldBounds(playerid, Float:x_max, Float:x_min, Float:y_max, Float:y_min);
Pour terminer tu met le SetPlayerWorldBounds dans public OnGameModeInit()
-
probléme de playerid ! help plz
-
Tu dit problème de playerid sans donner l'erreur donne l'erreur et on règle ça.
-
C:\DOCUME~1\ééé\Bureau\SERVER~1\GAMEMO~1\ééé2.pwn(231) : error 017: undefined symbol "playerid"
C:\DOCUME~1\ééé\Bureau\SERVER~1\GAMEMO~1\ééé2.pwn(233) : error 017: undefined symbol "playerid"
SetPlayerWorldBounds(playerid, 1716.6462, -1625.5944, 20.2061, 179.4309);
SetPlayerWorldBounds(playerid, 1728.2798, -1625.6500, 20.2118, 179.1175);
-
Salut,
Donne nous la ligne 231 et 233 pour bien voir l'erreur car comme ca on ne pourra pas t'aider
Coridalement Franky Patou
-
il la fait, il a juste a ajouter au début de sa fonction :
new playerid;
^^
-
toujour des erreurs
-
toujour des erreurs
Donne toujours les erreurs car on n'est pas devin... :dry
-
elle sont marquer en plusieur fois !!! regarde ce que j'ai marquer avant
-
mAn a dit qu'il fallait juste rajouter new playerid;
-
Oui, ou tu a mis t'es SetPlayerWorldBounds(playerid, 1716.6462, -1625.5944, 20.2061, 179.4309); tu doit aussi mettre au debut
new playerid;
Cordialement
-
Salut,
Un new playerid; seulement ne marchera pas. IL faut que se "new" définisse quelque chose non? Essaye avec:
for(new i=0;i<MAX_PLAYERS;i++)
{
Setworld...(i, x, y, z, "az");
}
return 1;
Tu peut modifier le "I" mais c'est pas important ;).
En esperant ne pas t'indiquer le mauvais chemin ^^.
++
-
Salut,
Un new playerid; seulement ne marchera pas. IL faut que se "new" définisse quelque chose non? Essaye avec:
for(new i=0;i<MAX_PLAYERS;i++)
{
Setworld...(i, x, y, z, "az");
}
return 1;
Tu peut modifier le "I" mais c'est pas important ;).
En esperant ne pas t'indiquer le mauvais chemin ^^.
++
Pourquoi tu veut qu'il fasse une boucle ?
-
Bonjour
IL est préférable de utilisée le SetPlayerWorldBounds dans Public OnPlayerSpawn(playerid) {
Parce que dans le public OnGameModeInit() le playerid n'est pas déclarée alors que dans Public OnPlayerSpawn(playerid) {
Il est déclarée. donc pas besoin de new playerid; ou de boucle ou je sais pas quoi !!!
Voici le code:
Public OnPlayerSpawn(playerid)
{
SetPlayerWorldBounds(playerid, Float:x_max, Float:x_min, Float:y_max, Float:y_min);
return 1;
}
Moi c'est comme sa que je procède, j'espère que sa vous aidera Bon journée :happy
++ Dadou
-
Tous simplement parceque dans le forward/public GameModeInit il n'y a pas le playerid de definit. La si tu met juste: new playerid; , c'est comme si tu metais new riendutout; playerid n'est pas definit (cf: erreur de compile = undefined symbol "playerid") alors comment veut-tu que le playerid definissent le(s) joueur(s)? la se que vous avez mis n'est rien d'autre qu'une variable qui sert a rien. A moins d'aller dans l'include et de modifier le forward gamemodeinit je voit pas comment tu peut definir le joueur autrement qu'avec le "for". A moins qu'il fasse une activation au niveau du spawn mais de la facon que tu a repondut pour moi c'est un déclenchement au modeinit.
Tout d'abord tu défini ta zone en x_max, x_min, y_max, y_min.
Ensuite tu remplace au bon endroit :
SetPlayerWorldBounds(playerid, Float:x_max, Float:x_min, Float:y_max, Float:y_min);
Pour terminer tu met le SetPlayerWorldBounds dans public OnGameModeInit()
EDIT: arf on m'a devancé ^^ mais ca me rassure, ca confirme se que je disait :).
-
Quand j'ai mis dans playerspawn les joueurs volé