GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: R@f le 12 Août 2007, 19:20:35
-
salut a tous
J aurai besoin d aide de votre part, je voudrai créer une zone uniquement accesible au admin, j ai un code, mais celui ci est pour les teams
Le voici
if (gTeam[playerid] == TEAM_SF || gTeam[playerid] == TEAM_LV || gTeam[playerid] == TEAM_PO)
{
if (x > 1207.4084 && x < 1364.7700 && y > -763.0833 && y < -850.9694)
{
SendClientMessage(playerid, 0xAA3333AA,"Vous entrez sur le spawn du gang de Los Santos, vous allez être téléportés.");
SetPlayerPos(playerid,1980.0054,-266.6487,2.9653);
}
}pouvez vous me dire ce qu il faut modifier ci-dessus pour que cette zone sois uniquement accesible au admins ?
merci d avance
R@f :cheers
-
Bon bah je vais pas te filer le code mais te donner toutes les indices qu'il faut pour changer sa, c'est pas en te donnant le code que tu vas comprendre et/ou apprendre.
Il faut prendre ses coordonnées et si dans les coordonnées enregistrées x est supérieur a un nombre A et inférieur a un nombre B ainsi que si y est supérieur a un nombre C et inférieur a un nombre D.
A=la frontière a gauche.
B=la frontière a droite.
C=la frontière du bas.
D=la frontière du haut.
Ensuite si ce joueur est admin tu le laisses entrer sinon tu le téléporte ou tu en fais ce que tu veux voila.
Utilise un Timer ainsi qu'une boucle et le tour est joué :)
-
merci, je pense avoir compris, mais pour le timer et la boucle je vais faire des recherches, ah aussi comment on dit boucle en anglais ::)
-
désolé pour le double post mais j ai 1 erreur, voici mon code
if(IsPlayerAdmin(playerid))
(x > 2043.628 && x < 2569.133 && y > -151.8124 && y < 221.8796);
GameTextForPlayer(playerid, "~w~WSG village", 6000, 3);
}else{
SetPlayerHealth(playerid, 0);
}
}
L erreur
C:\DOCUME~1\HP_ADM~1\Bureau\SAMP_S~1.SCR\GAMEMO~1\WSG35~1.PWN(2812) : error 010: invalid function or declaration
à la ligne 2812 y a }else{
voila, j éspère que vous pouvez m aider, merci d avance :cheers
-
j ai reussi a enlever les erreurs mais rien ne marche :( est ce que les coordonnées son fausse ou le code ?
-
Bon voila je te rajoute une boucle et au passage si tu mets pas de if tu peux pas avoir de else c'est sa ton erreur.
Voila le code corrigé :
for(new i=0;i>>MAX_PLAYERS;i++) {
if(IsPlayerAdmin(playerid))
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
if (x > 2043.628 && x < 2569.133 && y > -151.8124 && y < 221.8796) {
GameTextForPlayer(playerid, "~w~WSG village", 6000, 3);
}else{
SetPlayerHealth(playerid, 0);
}
}
}
-
merci je teste ;)
-
ma heureusement, sa marche pas :(
public IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for(new i=0;i>>MAX_PLAYERS;i++) {
if(IsPlayerAdmin(playerid))
if (x > 2043.628 && x < 2569.133 && y > -151.8124 && y < 221.8796) {
GameTextForPlayer(playerid, "~w~WSG village", 6000, 3);
}else{
SetPlayerHealth(playerid, 0);
}
}
}
-
on m as donner une solution sur le forum SA-MP, elle ne marchait pas, pensez vous pas que c est les coordonnées qui sont fausse ?
(X >=Max X && X <= Min X && Y >= Max Y && Y <= Min Y)merci d avance ;)[/s]
j ai trouvé pourquoi sa marchait pas ! les coordonnées étaient fausse, désolé du dérangement :jesors