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

Titre: Kill non voulu
Posté 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 ^^
Titre: Re : Kill non voulu
Posté par: rivoal29 le 02 Mars 2008, 17:56:16
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;
}
Titre: Re : Kill non voulu
Posté par: [StAfF]MaN le 02 Mars 2008, 18:40:01
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
Titre: Re : Re : Kill non voulu
Posté par: rivoal29 le 02 Mars 2008, 18:53:55
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
Titre: Re : Kill non voulu
Posté par: [StAfF]MaN le 02 Mars 2008, 19:02:48
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
Titre: Re : Kill non voulu
Posté par: rivoal29 le 02 Mars 2008, 19:13:27
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
Titre: Re : Kill non voulu
Posté par: [StAfF]MaN le 02 Mars 2008, 20:50:59
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 ^^
Titre: Re : Kill non voulu
Posté par: S!m le 03 Mars 2008, 18:10:03
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++