GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: [StAfF]MaN le 02 Mars 2008, 17:48:52
-
Salut ^^ JE viens vous demander un petit coup de mains ;) J'ai créé un bout de script qui fait que si un player n'est pas admin et qu'il prend un skin admin, tout d'abord, il spawn en clochard, avec 10 de vie et un gro message s'affiche "Tu n' es pas admin" etc... Et au bout de 5 secondes, le player meurt et revient au panneau de sélection de skins, mais c'est la qu'est le problème :
Le player n'est pas admin, il meurt via le kill forcé, il choisi un autre skin, il fait shift, meurt et revient au panneau de sélection, il refait shift c'est bon, il spawn normalement avec le skin qu'il vient de choisir.
Le player n'était pas logé admin, il revient au panneau de sélection via le kill forcé, il tape le mot de passe /rcon et choisi un skin, il meurt et revien aussi au panneau de sélection de skin, il refait shift et c'est bon, il spawn normalement.
Moi je veut pas qu'il meurt, je veut qu'il arrive directement à spawner après qu'il est re choisi un skin suivant qu'il était admin ou non ;)
Voici le code :
forward pnonadmin(playerid);
public OnPlayerSpawn(playerid)
{
if(gTeam[playerid] == TEAM_ADMINS){
if(IsPlayerAdmin(playerid) == 1){
SetPlayerInterior(playerid,0);
DM[playerid] = 0;
SetPlayerColor(playerid,COLOR_GREY); // Gris
}else{
SendClientMessage(playerid, COLOR_YELLOW,"Vous n'etes pas admins !!");
new texte[256];
new name[MAX_PLAYER_NAME];
format(texte, sizeof(texte), "~r~Tu n'est pas ADMINS !! Change de ~n~~r~skin avec ~y~F4 ~r~et ~y~/kill *", name);
GameTextForPlayer(playerid, texte, 10000, 3);
SetPlayerSkin(playerid,230);
SetPlayerHealth(playerid, 10);
SetTimer("pnonadmin", 9000, 1);
}
PlayerPlaySound(playerid, SOUND_OFF, 0.0, 0.0, 0.0);
}
public pnonadmin(playerid)
{
if(IsPlayerAdmin(playerid) == 0){
SendClientMessage(playerid, COLOR_RED, "Tu n'es pas admin alors change de skin !!");
ForceClassSelection(playerid);
SetPlayerHealth(playerid, 0);
}
}
Voila ^^
-
Essaye avec sa :
forward pnonadmin(playerid);
public OnPlayerSpawn(playerid)
{
new pskin[16];
GetPlayerName(playerid, pskin, sizeof(pskin));
if (!strcmp(pskin,"217") || !strcmp(pskin,"211") || !strcmp(pskin,"46"))
{
if(IsPlayerAdmin(playerid))
{
SetPlayerInterior(playerid,0);
DM[playerid] = 0;
SetPlayerColor(playerid,COLOR_GREY); // Gris
}
}
else if(!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_YELLOW,"Vous n'etes pas admins !!");
new texte[256];
new name[MAX_PLAYER_NAME];
format(texte, sizeof(texte), "~r~Tu n'est pas ADMINS !! Change de ~n~~r~skin avec ~y~F4 ~r~et ~y~/kill *", name);
GameTextForPlayer(playerid, texte, 10000, 3);
SetPlayerSkin(playerid,230);
SetPlayerHealth(playerid, 10);
SetTimer("pnonadmin", 9000, 1);
}
PlayerPlaySound(playerid, SOUND_OFF, 0.0, 0.0, 0.0);
return 1;
}
public pnonadmin(playerid)
{
if(!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_RED, "Tu n'es pas admin alors change de skin !!");
ForceClassSelection(playerid);
SetPlayerHealth(playerid, 0);
}
return 1;
}
-
Non fonctionne pas, le player non admin peut prendre le skin admin sans avoir de message, le son ne s'enlève plus, et le timer fonctionne plus xDDD
-
Non fonctionne pas, le player non admin peut prendre le skin admin sans avoir de message, le son ne s'enlève plus, et le timer fonctionne plus xDDD
Ok ;D
Je peu voir tes
AddPlayerClass
-
Vilou ^^
AddPlayerClass(217,-2240.8149,2351.2219,4.9785,139.7106,24,1000,31,10000,27,5000); //ADMINS
AddPlayerClass(211,-2244.3567,2312.7729,4.9684,32.5496,24,1000,31,10000,27,5000); //ADMINS
AddPlayerClass(46,-2618.0210,2257.5918,8.1844,278.3161,24,1000,31,10000,27,5000); //ADMINS
AddPlayerClass(163,-1615.5222,686.0161,7.1875,152.4167,29,5000,27,1700,30,5000); //FBI
AddPlayerClass(164,-1619.3527,692.6679,7.1875,167.4569,29,5000,27,1700,30,5000); //FBI
AddPlayerClass(165,-1588.3740,723.2883,-4.9063,231.3308,29,5000,27,1700,30,5000); //FBI
AddPlayerClass(79,-2656.8779,118.7046,4.1377,341.1538,20,272,30,300,22,7000); //CLOCHARDS
AddPlayerClass(78,-2652.7490,137.2219,4.1722,170.0956,20,272,30,300,22,7000); //CLOCHARDS
AddPlayerClass(200,-2755.4412,97.6480,7.0313,164.4456,20,272,30,300,22,7000); //CLOCHARDS
AddPlayerClass(120,-2180.4019,609.7077,35.1641,92.4703,8,1,30,5500,28,8000); //Triad
AddPlayerClass(122,-2178.8169,640.5313,49.4375,105.3170,8,1,30,5500,28,8000); //Triad
AddPlayerClass(123,-2207.6355,691.0408,50.7107,183.6277,8,1,30,5500,28,8000); //Triad
AddPlayerClass(70,-2615.1855,628.2635,14.4531,189.3878,33,5500,32,2725,5,1); //MEDECINS
AddPlayerClass(176,-2650.9336,636.7677,14.4531,183.1210,33,5500,32,2725,5,1); //MEDECINS
AddPlayerClass(177,2685.0046,598.7831,14.4531,304.0689,33,5500,32,2725,5,1); //MEDECINS
AddPlayerClass(185,-2573.4177,980.8998,78.2734,281.0461,34,5500,24,7000,30,8000); //RICHES
AddPlayerClass(59,-2560.8955,979.6204,78.3115,60.4575,34,5500,24,7000,30,8000); //RICHES
AddPlayerClass(187,-2533.2693,984.8536,78.3223,55.4208,34,5500,24,7000,30,8000); //RICHES
AddPlayerClass(60,-2279.8406,917.3531,66.6484,269.6160,24,5555,29,7050,4,1); //CIVILS
AddPlayerClass(191,-2428.3047,754.9815,35.1719,141.8927,24,5555,29,7050,4,1); //CIVILS
AddPlayerClass(58,-2298.9277,122.8883,35.3047,294.7115,24,5555,29,7050,4,1); //CIVILS
AddPlayerClass(247,-2063.1575,307.1958,41.9922,229.1289,25,40,24,70,4,1); //STUNTERS
AddPlayerClass(188,-2089.3142,307.1078,41.1232,199.6752,25,40,24,70,4,1); //STUNTERS
AddPlayerClass(250,-2063.3953,245.7578,38.4609,192.7820,25,40,24,70,4,1); //STUNTERS
//AddPlayerClass(230,-1377.4271,466.0897,7.1875,1.0348,0,0,0,0,0,0);// non admin
-
Essaye avec sa :
forward pnonadmin(playerid);
public OnPlayerSpawn(playerid)
{
new pskin[16];
GetPlayerName(playerid, pskin, sizeof(pskin));
if (!strcmp(pskin,"217") || !strcmp(pskin,"211") || !strcmp(pskin,"46"))
{
if(IsPlayerAdmin(playerid))
{
SetPlayerInterior(playerid,0);
DM[playerid] = 0;
SetPlayerColor(playerid,COLOR_GREY); // Gris
}
}
else if(!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_YELLOW,"Vous n'etes pas admins !!");
new texte[256];
new name[MAX_PLAYER_NAME];
format(texte, sizeof(texte), "~r~Tu n'est pas ADMINS !! Change de ~n~~r~skin avec ~y~F4 ~r~et ~y~/kill *", name);
GameTextForPlayer(playerid, texte, 10000, 3);
SetPlayerSkin(playerid,230);
SetPlayerHealth(playerid, 10);
SetTimer("pnonadmin", 9000, 1);
}
PlayerPlaySound(playerid, SOUND_OFF, 0.0, 0.0, 0.0);
return 1;
}
public pnonadmin(playerid)
{
if(!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COLOR_RED, "Tu n'es pas admin alors change de skin !!");
ForceClassSelection(playerid);
SetPlayerHealth(playerid, 0);
}
return 1;
}EDIT : Mincee !!! j'ai modifier mon message du haut :boulet
-
Ta pas compris mon message je crois...
En faite, si un player n'es pas admin, il spawn avec un skin de clochard et 10 de vie et un message, et encore en plus un timer
ça, ça fonctionne très bien.
Le prob c'est une fois qu'il est mort grâce au timer, et qu'il retourne aux sélections, il choisi un autre skin, et fait "shift", pour se mettre en jeu, mais la le prob c'est que sa re tue le player, pour le remettre au panneau de sélection.
C'est ça mon problème.
Je ne veut pas que sa le RE TUE ^^
-
salut [StAfF]mAn,
voila ce que j'en pense...
forward pnonadmin(playerid);
public OnPlayerSpawn(playerid)
{
if(gTeam[playerid] == TEAM_ADMINS){
if(IsPlayerAdmin(playerid) == 1){
SetPlayerInterior(playerid,0);
DM[playerid] = 0;
SetPlayerColor(playerid,COLOR_GREY); // Gris
}else{
SendClientMessage(playerid, COLOR_YELLOW,"Vous n'etes pas admins !!");
new texte[256];
new name[MAX_PLAYER_NAME];
format(texte, sizeof(texte), "~r~Tu n'est pas ADMINS !! Change de ~n~~r~skin avec ~y~F4 ~r~et ~y~/kill *", name);
GameTextForPlayer(playerid, texte, 10000, 3);
SetPlayerSkin(playerid,230);
SetPlayerHealth(playerid, 10);
SetTimerEx("pnonadmin", 9000, 0,"i",playerid); //essai avec un settimer ex ici
}
PlayerPlaySound(playerid, SOUND_OFF, 0.0, 0.0, 0.0);
}
public pnonadmin(playerid)
{
if(IsPlayerAdmin(playerid) == 0){
SendClientMessage(playerid, COLOR_RED, "Tu n'es pas admin alors change de skin !!");
ForceClassSelection(playerid);
SetPlayerHealth(playerid, 0);
}
}
voila ^_^
++Sim++