GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Xolokos le 23 Décembre 2010, 15:05:00
-
Salut,
alors j'ai fait un petit code normal.
public OnPlayerSpawn(playerid)
{
new scores;
scores = GetPlayerScore(playerid);
if ( scores >= 50 && scores <= 99 )
{
SendClientMessage(playerid,VERT,"Tu est une Recrue.");
new Text:text = TextDrawCreate(450.0, 425.0,"~g~Recrue");
TextDrawUseBox(text, 0);
TextDrawFont(text, 0);
TextDrawSetShadow(text,1);
TextDrawSetOutline(text,1);
TextDrawBackgroundColor(text,0x000000FF);
TextDrawColor(text,0xFFFFFFFF);
TextDrawShowForPlayer(playerid, text);
}
else if ( scores >= 100 && scores <= 149 )
{
SendClientMessage(playerid,VERT,"Tu est un Corporal.");
new Text:text = TextDrawCreate(450.0, 425.0,"~g~Corporal");
TextDrawUseBox(text, 0);
TextDrawFont(text, 0);
TextDrawSetShadow(text,1);
TextDrawSetOutline(text,1);
TextDrawBackgroundColor(text,0x000000FF);
TextDrawColor(text,0xFFFFFFFF);
TextDrawShowForPlayer(playerid, text);
}
Sa continue il en 12 tout marche impeccable* mais je voudrait lui attribuer un rangs dans chaque "case" ? Avec une variable je sais pas comment faire ?
Et aussi je voudrait que le Hunter sois accessible qu'à un certain rang comment faire ?
Et aussi mettre sa ration "Nombre de tuer / Nombre de Mort" dans un text draw avec le rang (le rangs est déjà fait) il faut faire quoi ?
Merci.
-
// Pour les rangs j'en ai mis au hasard hein :p, j'ai assignee un nombre a chaque :p
#define RECRUE 1
#define CAPORAL 2
#define SERGENT 3
#define ADJUDANT 4
#define MAJOR 5
#define LIEUTENANT 6
#define CAPITAINE 7
#define GENERAL 8
new pRang[MAX_PLAYERS];
Tu modifie juste ton "OnPlayerSpawn" dans chaque cas selon le rang tu met " pRang[playerid] = RECRUE; "
Dans l'exemple de la "Recrue"
// Pour le Hunter
OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if ( pRang[playerid] < LIEUTENANT && vehicleid == 425 ) // On verifie si le joueur est d'un rang plus petit que " LIEUTENANT " et si le vehicule est l'hunter (id 425)
{
new Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
SetPlayerPos(playerid, pos[0], pos[1], pos[2]+2); // On le slap =D
SendClientMessage(playerid, 0xAA2222AA, "You're not Lieutenant or more");
return 1;
}
return 1;
}
// J'espere que je dit pas de betises :p, C'est des morceaux de codes juste pour que tu voit ....
-
ta condition est fausse
la tu teste si son grade est inférieur a 6 et si il rentre dans l'id 425
id != model
model hunter = 425
id hunter != model hunter
Ah oui j'avais oubliée l'id est different du modele ( quel cruche je fais ! ) ! OAIMJAY
faudrait que tu recupere les id des hunters qui sont crées et les mettres dans la conditions !
EDIT ou sa
OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new model = GetVehicleModel(vehicleid);
if ( pRang[playerid] < LIEUTENANT && model == 425 ) // On verifie si le joueur est d'un rang plus petit que " LIEUTENANT " et le vehicule est un HUNTER
{
new Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
SetPlayerPos(playerid, pos[0], pos[1], pos[2]+2); // On le slap =D
SendClientMessage(playerid, 0xAA2222AA, "You're not Lieutenant or more");
return 1;
}
return 1;
}
-
Problème résolue (bug pawno)
Merci pour tout :D
Autre question comment mettre ou donner la ratio du joueur ?
-
ratio ou radio?
-
Ratio* en bref faire une variable qui prendras son nombre de mort et on feras Le score du joueur / Nom bre de mort du joueur ?
Et je sais pas si c'est une variable et je voudrais la mettre en TextDraw en bas a droite ?
-
J'y arrive pas on utilise un new je le nomme Death new Death; en haut et après pour ajouter je sais pas ?
Et comment le mettre en TextDraw ?
-
Merci et enfin comment mettre celà dans un text drow visible par le joueur en bas a droite ?
J'ai une erreur ?
C:\Documents and Settings\ATHLON\Bureau\MW2 Projet MW2[0.3c]\gamemodes\MW2FR(2).pwn(747) : error 033: array must be indexed (variable "Kill")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.