GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: rapido le 10 Août 2010, 21:47:35
-
Hum , Salut Voila J'ai une Nouvelle Question Pour Amélioré Mon serveur :)
En Esperant une Réponse positif :)
La voici :
Voila Dans mon GM j'ai Un /s (Save Position ) /r (Return A sa position saved) Et Voila J'ai le FS Frace Mais mon Probleme c'est que je ne c'est
pas quoi faire pour que quand une course et lancer /s et /r ne sois plus disponnible ( "Vous êtes en Course Action Impossible")
Voila j'espert m'être Bien Exprimé dans ma demande d'aide (Je c pas 8))
A bientôt
++
-
Au début du script
new course = 0;
quand la course commence
course = 1;
quand elle fini
course = 0;
/r
si course == 0
on dit qu'il peu pas le faire
ou
ta cmd
même chose pour le /s
-
Désoler de te dire sa mais j'ai rien compris :(
-
Ton problème est un peu plus compliqué que le laisse sous entendre scott.
Ton système de course est dans un FS et il n'est pas possible d'échanger directement des données entre un FS et le Gamemode.
Ce qui rend la solution de scott impossible à mettre ne œuvre pour toi.
La solution est de passer par les fonctions SetPVarInt (http://wiki.sa-mp.com/wiki/SetPVarInt (http://wiki.sa-mp.com/wiki/SetPVarInt)) et GetPVarInt (http://wiki.sa-mp.com/wiki/GetPVarInt (http://wiki.sa-mp.com/wiki/GetPVarInt)).
++
Syg
-
Mais enfaite si Regarde De AOD a Mon GM Sim ma aider a faire Passez :
Dans mon GM j'ai une cmd /open Mais réserver qu'au Anim et dans mon GM ya pas les Renseignement nécessaire Allor il ma passez une fonction
Qui passe Tout vers le FS Regarde :
#define GetAdminLevel(%0) CallRemoteFunction("core_GetPlayerLevel", "i", %0)
-
Salut :),
Ou le plus simple serrait d'intégré le FilterScript au GM en correspendant chaque CallBacks du GM aux CallBacks du FS :-\
:dejadehors
++
Tux
-
Mais Nn Cela Ne sert a rien Sinon je fait pas de CMD Dans le GM
-
Ce que je voulais dire, c'était d'intégré le FS de Course au GM, puis d'intégré ce qu'a dit Scott à tes commandes ;).
-
La solution de Sim date d'avant la création des fonctions que j'ai citées (car ces fonctions n'existent pas dans les versions 0.2 de SAMP).
De plus, cette solution oblige à créer des fonctions dans ton GM (par exemple core_GetPlayerLevel) qui seront appelées dans ton FS.
L'utilisation de SetPVarInt et GetPVarInt est très simple et très avantageuse.
Dans le GM :
Au moment de la connexion du joueur playerid on fait
SetPVarInt (playerid, "EnCourse", 0);Ceci a pour effet de créer une variable interne nommée EnCourse et associée au joueur playerid.
NB : Cette variable sera détruite automatiquement au moment de la déconnexion du joueur.
Dans le FS :
Lorsque le joueur rejoint la course on fait :
SetPVarInt (playerid, "EnCourse", 1);Et lorsque le joueur termine la course on fait :
SetPVarInt (playerid, "EnCourse", 0);
Dans le GM :
On ajoute au tout début des commandes /s et /r :
if (GetPVarInt (playerid, "EnCourse") == 1)
{
SendClientMessage (playerid, 0xFF000000, "Vous êtes en course, commande interdite");
return 1;
}NB : Le bout de code ci-dessus peut-être facilement transformé en fonction.
++
Syg
-
:D Merci Syg C'est Rapide et Maintenant je pourrai le faire en plusieurs manière dans d'autre Script
Merci Encore :)
-
L'utilisation peut être encore plus économique car tant que tu modifie pas la variable elle ne se crée pas et quand elle n'est pas créé elle renvoie directement '0'
Donc tu as juste a remplacé dans le FS quand le joueur quitte la course SetPVarInt (playerid, "EnCourse", 0); par DeletePVar(playerid,"EnCourse");
et de supprimer le SetPVarInt (playerid, "EnCourse", 0); a la connexion du Joueur
-
Test Terminé Et Résultat Positif Comme demande Sur Message
Merci a vous les gas et Coco76 , Je garde la solution de Syg Car Je m'y retrouverai plus facilement puisque c'est les même chose
mais merci quand même :happy
++