GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: John_Montavedro le 30 Octobre 2010, 11:13:07
-
Bonjour :) Je viens juste de commencer à me lancer dans le "else if" et "else" :
J'ai fais ce code :
if(strcmp(cmdtext,"/bombe",true) == 0)//militaires
{
if(IsPlayerInRangeOfPoint(playerid,7.0,142.1529,1864.2565,17.7370)){
SetPlayerInterior(playerid, 0);
CreateExplosion(142.1529,1864.2565,17.7370, 9, 500.0);
SendClientMessage(playerid, couleur_dire, "**** Tu as allumé la bombe! ****");// on indique au joueur qu'il a allumé la bombe
format(string, sizeof(string), "La bombe dans le QG des militaires a explosé!",(playerid));
SendClientMessageToAll(info, string);
}
else if(GetPlayerTeam(playerid) 1) // Ligne 383
{
SendClientMessage(playerid, couleur_alert, "Impossible d'allumer la bombe de ton camp!");
}
Malheureusement, il m'indique ça comme erreurs :
C:\DOCUME~1\Meyer\MESDOC~1\serveur\GAMEMO~1\new.pwn(383) : error 001: expected token: ")", but found "-integer value-"
C:\DOCUME~1\Meyer\MESDOC~1\serveur\GAMEMO~1\new.pwn(383) : warning 215: expression has no effect
C:\DOCUME~1\Meyer\MESDOC~1\serveur\GAMEMO~1\new.pwn(383) : error 001: expected token: ";", but found ")"
C:\DOCUME~1\Meyer\MESDOC~1\serveur\GAMEMO~1\new.pwn(383) : error 029: invalid expression, assumed zero
C:\DOCUME~1\Meyer\MESDOC~1\serveur\GAMEMO~1\new.pwn(383) : fatal error 107: too many error messages on one line
Si vous pourriez m'aider.. merci ;)
-
Merci Dizzy sauf, j'ai 26 erreurs soit CalBack fermé.. mais pourtant à vu d'oeuil :o
-
En faite, sa fait toujours exploser la bombe... même si le joueur est dans son camp.. Je sais pourquoi c'est avec IsPlayerRangeOfPoint.. mais comment le mettre si c'est seulement avec "if" et "else if" ?
-
if(strcmp(cmdtext,"/bombe",true) == 0)
{
if(GetPlayerTeam(playerid) == 1) // Tu doit d'abord tester si le joueur est dans la team 1
{
SendClientMessage(playerid, couleur_alert, "Impossible d'allumer la bombe de ton camp!"); // S'il est dedans alors on lui envoie le message
}
else if(IsPlayerInRangeOfPoint(playerid,7.0,142.1529,1864.2565,17.7370)) // Sinon s'il n'est pas dans la team 1 et qu'il est à 7mètres de cette position
{
SetPlayerInterior(playerid, 0);
CreateExplosion(142.1529,1864.2565,17.7370, 9, 500.0);
SendClientMessage(playerid, couleur_dire, "**** Tu as allumé la bombe! ****");
format(string, sizeof(string), "La bombe dans le QG des militaires a explosé!",(playerid));
SendClientMessageToAll(info, string);
}
return 1;
}
-
Merci :)
-
Tu pourrai parler Français car la c'est incompréhensible
-
Je me souviens pas avoir écrit le mot "Répondre" --' Sinon, je te disais "Merci" :p
Une autre question, j'ai créé un Icon sur la mini-map mais celui ci n'apparaît que à l'équipe des terroristes alors que normalement il devrait apparaître aux deux :blink
Voici mon icon : SetPlayerMapIcon(playerid, 19, 413.7047, 2442.3052, 16.5000, 19, 0);
Si vous pourriez m'aider, merci!
-
Dans ta callback OnPlayerSpawn, la fonction est sûrement appelée que pour les terroristes.
Tu peux donc la mettre dans la callback OnPlayerConnect :
public OnPlayerConnect(playerid)
{
SetPlayerMapIcon(playerid, 19, 413.7047, 2442.3052, 16.5000, 19, 0);
...
}
L'icône s'affichera donc à tous nouveaux joueurs, dès leurs connections.
-
Dans ta callback OnPlayerSpawn, la fonction est sûrement appelée que pour les terroristes.
Tu peux donc la mettre dans la callback OnPlayerConnect :
public OnPlayerConnect(playerid)
{
SetPlayerMapIcon(playerid, 19, 413.7047, 2442.3052, 16.5000, 19, 0);
...
}
L'icône s'affichera donc à tous nouveaux joueurs, dès leurs connections.
Je l'avais déjà mis dans OnPlayerConnect :s
-
Montre nous comment tu as mise cette ligne de code.
Il ne faut pas qu'elle soit dans une condition, sinon c'est normal qu'elle soit affichée que pour certains joueurs.
-
Trompé, elle apparaît, c'est bon merci :D
-
SetPlayerMapIcon, mets le dans OnGameModeInit(), tu seras sur comme ça ;)