GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: [StAfF]MaN le 30 Janvier 2008, 17:49:42
-
salut ^^ Malgré un nom de sujet un peu "foulesmotsn'importecomment" mon problème est très simple, mais je ne voi pas comment le résoudre...
Voila j'ais modifier des commandes pour les autorisent que pour les admins, aucunes erreurs, certaines fonctionnent mais il y en a deux qui ne veulent pas fonctionner, la "/god" et la "/rep"
la commande "/rep" :
}
else if(strcmp(cmdtext,"/rep", true)==0){
if(IsPlayerAdmin(playerid) == 1){
SetVehicleHealth(GetPlayerVehicleID(playerid),1000.0);
} else {
if(IsPlayerAdmin(playerid) == 0){
GameTextForPlayer(playerid,"~r~Tu n'est pas admin !!T'es en prison pour 10 secondes",5000,6);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,153.8815,-1952.3756,10.7188);
SetTimerEx("SortiePrison", 10000, 0, "i", playerid);
}
}
}
}
la "/god" :
}
else if(strcmp(cmdtext,"/god", true)==0){
if(IsPlayerAdmin(playerid) == 1){
SetPlayerHealth(playerid, 10000);
} else {
if(IsPlayerAdmin(playerid) == 0){
GameTextForPlayer(playerid,"~r~Tu n'est pas admin !!T'es en prison pour 10 secondes",5000,6);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,153.8815,-1952.3756,10.7188);
SetTimerEx("SortiePrison", 10000, 0, "i", playerid);
}
}
}
Voila ^^ Je ne sais pas pourquoi elles ne veulent pas fonctionner...
Sinon autre petite question ^^
Comment on fait pour que le player soit dans un véhicule, parce que putPlayerInVéhicle ne veut pas fonctionner non plus...
J'ais mis ça :
}
else if(strcmp(cmdtext,"/rc6", true)==0){
new Float:X,Float:Y,Float:Z,Float:Angle;
if(IsPlayerAdmin(playerid) == 1){
if(!IsPlayerInAnyVehicle(playerid)){
GetPlayerVehicleID(594);
GetPlayerFacingAngle(playerid,Angle);
GetPlayerPos(playerid,X,Y,Z);
CreateVehicle(594,X+5,Y+8,Z,Angle,10,-10,50000);
PutPlayerInVehicle(playerid, 594, 0);
SetVehicleVirtualWorld(594,GetPlayerVirtualWorld(playerid));
SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z);
} else {
if(IsPlayerAdmin(playerid) == 0){
GameTextForPlayer(playerid,"~r~Tu n'est pas admin !!T'es en prison pour 10 secondes",5000,6);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,153.8815,-1952.3756,10.7188);
SetTimerEx("SortiePrison", 10000, 0, "i", playerid);
}
}
}
ça fait spawner un pot de fleure RC devant le joueur :p Mais que si il est admin avec le /rcon moi je voudrais que je player soit directement mis dedans ^^
Voila ++ et merci de vos réponses ;)
-
Si tu mets un else(sinon)ce n'est pas la peine de mettre if(IsPlayerAdmin(playerid) == 0)
else if(strcmp(cmdtext,"/rep", true)==0){
if(IsPlayerAdmin(playerid) == 1){
SetVehicleHealth(GetPlayerVehicleID(playerid),1000.0);
} else {
GameTextForPlayer(playerid,"~r~Tu n'est pas admin !!T'es en prison pour 10 secondes",5000,6);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,153.8815,-1952.3756,10.7188);
SetTimerEx("SortiePrison", 10000, 0, "i", playerid);
}
return 1;}
++
-
Je sais mais sa ne change rien, alors je le laisse...
-
Comment on fait pour que le player soit dans un véhicule, parce que putPlayerInVéhicle ne veut pas fonctionner non plus...
J'ais mis ça :
}
else if(strcmp(cmdtext,"/rc6", true)==0){
new Float:X,Float:Y,Float:Z,Float:Angle;
if(IsPlayerAdmin(playerid) == 1){
if(!IsPlayerInAnyVehicle(playerid)){
GetPlayerVehicleID(594);
GetPlayerFacingAngle(playerid,Angle);
GetPlayerPos(playerid,X,Y,Z);
CreateVehicle(594,X+5,Y+8,Z,Angle,10,-10,50000);
PutPlayerInVehicle(playerid, 594, 0);
SetVehicleVirtualWorld(594,GetPlayerVirtualWorld(playerid));
SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z);
} else {
if(IsPlayerAdmin(playerid) == 0){
GameTextForPlayer(playerid,"~r~Tu n'est pas admin !!T'es en prison pour 10 secondes",5000,6);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,153.8815,-1952.3756,10.7188);
SetTimerEx("SortiePrison", 10000, 0, "i", playerid);
}
}
}
ça fait spawner un pot de fleure RC devant le joueur :p Mais que si il est admin avec le /rcon moi je voudrais que je player soit directement mis dedans ^^
Voila ++ et merci de vos réponses ;)
Pour sa je pe te dire :
new carid
new Float:x,
Float:y,
Float:z,
Float:a;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
carid = CreateVehicle(444, x, y, z + 2.0, a + 90.0, 0, 3, 50000);
PutPlayerInVehicle(playerid, carid, 0);
Aprés tu rajoute ta commande :) :dling
-
ok je vais tester ^^
-
else if(strcmp(cmdtext,"/rep", true)==0){
if(IsPlayerAdmin(playerid) == 1){
SetVehicleHealth(GetPlayerVehicleID(playerid),1000.0);
} else {
GameTextForPlayer(playerid,"~r~Tu n'est pas admin !!T'es en prison pour 10 secondes",5000,6);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,153.8815,-1952.3756,10.7188);
SetTimerEx("SortiePrison", 10000, 0, "i", playerid);
}
return 1;}
++
Je pense qu'il faut mettre un
if IsPlayerInAnyVehicle
{
-
Heu j'ais mis ça
}
else if(strcmp(cmdtext,"/rep", true)==0){
if(IsPlayerAdmin(playerid) == 1){
>>>>IsPlayerInAnyVehicle(playerid);{<<<<<
SetVehicleHealth(GetPlayerVehicleID(playerid),1000.0);
} else {
if(IsPlayerAdmin(playerid) == 0){
GameTextForPlayer(playerid,"~r~Tu n'est pas admin !!T'es en prison pour 10 secondes",5000,6);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,153.8815,-1952.3756,10.7188);
SetTimerEx("SortiePrison", 10000, 0, "i", playerid);
}
}
}
}
}
Mais ça me fait une erreur :
C:\Documents and Settings\*******\Bureau\sa-mp 2.2 r2\gamemodes\truk.pwn(2225) : error 029: invalid expression, assumed zero
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
j'ais oublié quoi ?? pourquoi il me dit que l'expression n'est pas valide ??
Edit ; c'est bon j'ais trouvé fallait mettre if(IsPlaterInAnyVehicle(playerid)){}, aucune erreurs mais la commande ne fonctionne toujours pas.... et /god non plus...
-
Tes commandes /rep et /god fonctionnaient, il manquait juste le return 1; à la fin. Et comme le return 1; manquait, le serveur affichait "Unknown command" mais il executait quand même le SetVehicleHealth.
Tiens :
else if(strcmp(cmdtext,"/rep", true)==0)
{
if(IsPlayerAdmin(playerid) == 1)
{
if (IsPlayerInAnyVehicle(playerid))
{
SetVehicleHealth(GetPlayerVehicleID(playerid),1000.0);
}
else
{
GameTextForPlayer(playerid,"~r~Tu n'est pas dans un vehicule !!",5000,6);
}
}
else
{
GameTextForPlayer(playerid,"~r~Tu n'est pas admin !!T'es en prison pour 10 secondes",5000,6);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,153.8815,-1952.3756,10.7188);
SetTimerEx("SortiePrison", 10000, 0, "i", playerid);
}
return 1;
}
++
Syg
-
ça fonctionne toujours pas ... :-X
y a un blème quelque part mais où ... ???
Merci quand même syg :P
-
Elle marche très bien chez moi, l'erreur n'est pas dans cette commande mais avant.
Mets ta callback OnPlayerCommandText dans le pastebin (http://pastebin.gtaonline.fr/pastebin.php).
++
Syg
-
voila ^^
http://pastebin.gtaonline.fr/pastebin.php?show=323 (http://pastebin.gtaonline.fr/pastebin.php?show=323)