GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: .:: Miguel .:: le 01 Juin 2011, 13:23:35
-
Salut,
J'ai besoin d'aide pour plusieure fonction
J'aimerait que quand l'admin et en /dutyon pandant 3min sa le met en /dutyoff tous seul.
La commande :
if (strcmp("/dutyon", cmdtext, true,7) == 0)
{
if(PlayerInfo[playerid][pAdminLevel] > 1)
{
SetPlayerHealth(playerid,9999);
SetPlayerArmour(playerid,9999);
SetPlayerSkin(playerid,167);
GivePlayerWeapon(playerid,24,99999);
SendClientMessageToAll(ROUGE,"[GTW]Un administrateur et en service!!");
SetPlayerColor(playerid,0xF70000);
}
return 1;
}
if (strcmp("/dutyoff", cmdtext, true,8) == 0)
{
if(PlayerInfo[playerid][pAdminLevel] > 1)
{
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,BLANC);
}
return 1;
}
Quand on /dutyoff sa remet le skin d'origine.Voilà ses tous se que j'ai besoin d'aide.
Merci d'avance
-
A mon avis, tu dois utiliser un timer.
-
Sa je le sais :P Mais "truc là je sais pas quoi mettre"
-
Salut,
J'ai besoin d'aide pour plusieure fonction
J'aimerait que quand l'admin et en /dutyon pandant 3min sa le met en /dutyoff tous seul.
La commande :
if (strcmp("/dutyon", cmdtext, true,7) == 0)
{
if(PlayerInfo[playerid][pAdminLevel] > 1)
{
SetPlayerHealth(playerid,9999);
SetPlayerArmour(playerid,9999);
SetPlayerSkin(playerid,167);
GivePlayerWeapon(playerid,24,99999);
SendClientMessageToAll(ROUGE,"[GTW]Un administrateur et en service!!");
SetPlayerColor(playerid,0xF70000);
}
return 1;
}
if (strcmp("/dutyoff", cmdtext, true,8) == 0)
{
if(PlayerInfo[playerid][pAdminLevel] > 1)
{
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,BLANC);
}
return 1;
}
Quand on /dutyoff sa remet le skin d'origine.Voilà ses tous se que j'ai besoin d'aide.
Merci d'avance
Tu vas créer une commande LastSkin[MAX_PLAYERS] pour stoker l'id de ton skin, puis tu créer une timer, qui s'execute après 3 min, indiquant la fin de ton duty
voici le code:
new LastSkin[MAX_PLAYERS];
if (strcmp("/dutyon", cmdtext, true,7) == 0)
{
if(PlayerInfo[playerid][pAdminLevel] > 1)
{
LastSkin[playerid] = GetPlayerSkin(playerid);
SetPlayerHealth(playerid,9999);
SetPlayerArmour(playerid,9999);
SetPlayerSkin(playerid,167);
GivePlayerWeapon(playerid,24,99999);
SendClientMessageToAll(ROUGE,"[GTW]Un administrateur et en service!!");
SetPlayerColor(playerid,0xF70000);
SetTimerEx("DutyOff", 180000, false, "i", playerid);
}
return 1;
}
if (strcmp("/dutyoff", cmdtext, true,8) == 0)
{
if(PlayerInfo[playerid][pAdminLevel] > 1)
{
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,BLANC);
SetPlayerSkin(playerid,LastSkin[playerid]);
}
return 1;
}
forward DutyOff(playerid);
public DutyOff(playerid){
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
ResetPlayerWeapons(playerid);
SetPlayerColor(playerid,BLANC);
SetPlayerSkin(playerid,LastSkin[playerid]);
}
Voila désolé pour l'indentation mais sur le fofo c'est pas facile :P
-
Je te remercie vraiemnt!!!
EDIT : Sa me met des erreur avec SetPlayerSkin(playerid,LastSkin[playerid]);
-
il te donne quel erreur ?
-
ah nah pas d'arreur je avait mal mis le scripte^^
PS : Sa me remet le skin 0 à chaque fois
-
C'est pas normal ca :o x)
euh la je vais au lit, je te regarde ca demain ;) si quelqu'un ne le fais pas avant moi ^^
-
C'est pas normal ca :o x)
euh la je vais au lit, je te regarde ca demain ;) si quelqu'un ne le fais pas avant moi ^^
Mdr
-
.:: Miguel .::, il faut que tu mette le new LastSkins[MAX_PLAYERS] comme variable global, donc en haut du script, et non pas dans OnPlayerCommandText
-
déjà fait
En essayant de faire la cmds /ao j'ai un bug quand je faait /ao sa dit l'administrateur %s dit : (Ici on peut rien écrire car sinan sa dit cmds incorette)
if (strcmp("/ao", cmdtext, true,4) == 0)
{
if(PlayerInfo[playerid][pAdminLevel] > 1)
{
new Tmpp[256];
Tmpp = strtok(cmdtext, Idx);
new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "L'administrateur %s : %s ", pname,cmdtext[4]);
SendClientMessageToAll(0x00CCEB, string);
return 1;
}
}