GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Dauvix le 27 Janvier 2010, 14:05:26

Titre: [Aide] Mes questions Scripting.
Posté par: Dauvix le 27 Janvier 2010, 14:05:26
Bonjour à tous,

Voila je crée ce message pour poser toutes mes questions et mes problème
sur les scripts ...

Merci d'avance !
Dauvix
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 27 Janvier 2010, 14:06:23
Ta question ?
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 27 Janvier 2010, 14:17:16
Oui,  :)
Voici ma première question:

J'ai rajouté la ligne avec le ***** pour changer de skin quand on se log en admin mais qu'est ce que je dois
mettre apres pour que quand l'admin se remette en civil son skin se remette comme avant ?

if(!strcmp(cmdtext, "/adu", true)) // By Ellis et Modification by Dauvix
{
if(IsPlayerConnected(playerid))
{
    if(gPlayerLogged[playerid] == 0)
    {
        SendClientMessage(playerid, COLOR_GREY, "   Vous devez d'abord vous inentifiez !");
return 1;
    }
    if(PlayerInfo[playerid][pAdmin] > 0)
    {
        if(AdminDuty[playerid] == 0)
        {
            AdminDuty[playerid] = 1;
*****             SetPlayerSkin(playerid, 264); // Le skin quand l'admin se met en /adu
            SetPlayerArmour(playerid, 999);
SetPlayerHealth(playerid, 999);
SetPlayerColor(playerid,TEAM_VAGOS_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin %s est en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
if(PlayerInfo[playerid][pAdmin] >= 1337) // Niveau admin requis pour utiliser cette commande
{
    for(new i = 0; i < sizeof(CarInfo); i++)
{
SetVehicleParamsForPlayer(i,playerid,0,0);
}
}
return 1;
        }
        else if(AdminDuty[playerid] == 1)
        {
            AdminDuty[playerid] = 0;
            SetPlayerArmour(playerid, 0);
SetPlayerHealth(playerid, 100);
SetPlayerColor(playerid,TEAM_HIT_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin %s n'est plus en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
return 1;
        }
    }
    else
    {
        SendClientMessage(playerid, COLOR_GREY, "   Vous n'etes pas admin !");
        return 1;
    }
}
    return 1;
}
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 27 Janvier 2010, 14:39:26
Stock le skin de la personne avant de lui changer puis restaure la après ;)
Titre: Re : Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 27 Janvier 2010, 15:45:45
Stock le skin de la personne avant de lui changer puis restaure la après ;)

D'accord mais qu'elle est cette ligne pour pouvoir stocker le skin ?
Merci désolé j'ai chercher dans le script pour voir si il y en avait  mais je n'est pas trouver  :-\
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 27 Janvier 2010, 16:30:57
Alors,
quand le joueur ce met Admin, avant de changer son skin tu met le précédent dans une variable et lorsqu'il refait la cmd pour se remettre joueur tu lui remet. Exemple :

Au début du script tu définie la variable :
new backskin[MAX_PLAYERS];
et dans la cmd, avant de mettre le skin Admin tu fait :
backskin[playerid] = GetPlayerSkin(playerid);et pour restaurer le skin :
SetPlayerskin(playerid, backskin[playerid]);
A toi de placer tous sa ;)
Titre: Re : Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 27 Janvier 2010, 17:00:30
SetPlayerskin(playerid, backskin[playerid]);


Super Merci Juste un petite faute au S de skin:
SetPlayerSkin(playerid, backskin[playerid]);
Merci beaucoup !


Double post
J'ai essayé comme ca mais quand gait /adu ca me met en CJ ...
Et quand je refait /adu ca le perso reste CJ ...
Je dois faire comment ?

AdminDuty[playerid] = 1;
backskin[playerid] = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, backskin[264]); // Le skin quand l'admin se met en /adu
SetPlayerArmour(playerid, 999);
SetPlayerHealth(playerid, 999);
SetPlayerColor(playerid,TEAM_VAGOS_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin [ID:%d]%s est en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
if(PlayerInfo[playerid][pAdmin] >= 1337)

Merci d'avance !
Titre: Re : [Aide] Mes questions Scripting.
Posté par: cristab le 27 Janvier 2010, 21:18:59
reflechit

SetPlayerSkin(playerid, backskin[264]); // Le skin quand l'admin se met en /adu

sa c'est pas reflechit
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 27 Janvier 2010, 21:22:41
Ouais  :-X

le nombre entre les crochet correspond au joueur qui fait la commande donc mettre 254 ne sert à rien ;)
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 27 Janvier 2010, 21:46:42
backskin[playerid] = SetPlayerSkin(playerid, 264);
SetPlayerSkin(playerid, backskin[playerid]);

J'ai essayé comme ceci, le skin apparait bien quand on fait la commande /adu
mais quand je refait la commande /adu pour ne plus etre en service,
le skin reste ... et moi j'aimerais que ce soit le skin d'avant qui revienne ...
Merci
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 27 Janvier 2010, 21:47:42
Les 2 instructions ne vont pas aux même endroit, à toi de réfléchir un peu.
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Diablo62 le 27 Janvier 2010, 22:59:56
Salut.

Ta commande doit se composer en 2 étape.

La première étape, c'est un civil:
* Il obtient donc un certain Rang Admin
* Il obtient un nouveau Skin
* Il se met en Service (AdminDuty = 1 comme tu as fais dans ton script est bien)

La seconde étape, c'est un Admin:
* il faut vérifier qu'il est admin
* il faut lui enlever ses droits admins
* il faut lui redonner son skin de base
* il faut lui enlever son Service (AdminDuty = 0 pour suivre avec ton exemple)

Sur mon Script, j'avais fait la commande /Duty pour les flics plus ou moins de la même façon. Sauf que pour moi, ils devaient aller dans les Vestiaires (un point Fixe) pour se changer (que se soit pour se mettre en Civil ou en Faction ) et je n'avais pas eu besoin de créer une nouvelle Variable (j'avais utiliser pChar + SetSpawnInfo + SpawnPlayer que j'avais trouver en copiant le /quitfaction ) et je n'ai jamais eu aucun Problème ;)
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 27 Janvier 2010, 23:15:08
if(!strcmp(cmdtext, "/adu", true)) // By Ellis et Modification by Dauvix
{
if(IsPlayerConnected(playerid))
{
   if(gPlayerLogged[playerid] == 0)
   {
       SendClientMessage(playerid, COLOR_GREY, "   Vous devez d'abord vous inentifiez !");
return 1;
   }
   if(PlayerInfo[playerid][pAdmin] > 0)
   {
       if(AdminDuty[playerid] == 0)
       {
           AdminDuty[playerid] = 1;
           backskin[playerid] = SetPlayerSkin(playerid, 264); // Le skin quand l'admin se met en /adu
           SetPlayerArmour(playerid, 999);
SetPlayerHealth(playerid, 999);
SetPlayerColor(playerid,TEAM_VAGOS_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin %s est en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
if(PlayerInfo[playerid][pAdmin] >= 1337) // Niveau admin requis pour utiliser cette commande
{
   for(new i = 0; i < sizeof(CarInfo); i++)
{
SetVehicleParamsForPlayer(i,playerid,0,0);
}
}
return 1;
       }
       else if(AdminDuty[playerid] == 1)
       {
           AdminDuty[playerid] = 0;
                            SetPlayerSkin(playerid, backskin[playerid]);
           SetPlayerArmour(playerid, 0);
SetPlayerHealth(playerid, 100);
SetPlayerColor(playerid,TEAM_HIT_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin %s n'est plus en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
return 1;
       }
   }
   else
   {
       SendClientMessage(playerid, COLOR_GREY, "   Vous n'etes pas admin !");
       return 1;
   }
}
   return 1;
}
 
 
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 27 Janvier 2010, 23:16:20
Réfléchit un peu c'est super logique :)
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 27 Janvier 2010, 23:34:27
Ca m'énerve je comprends pas et j'arrive pas xd !
Avec cette commande la dernière que j'ai mise ca va quand je fait /adu puis quand je refait /adu
c'est se skin  qui apparait ! Mais je comprends pas quand je regarde dans la commande .

Diablo Sorry j'avais pas vu ton message ...
Oui je suppose qu'il ya pas mal de moyen pour effectuer cette action mais bon
je connait pas encore tous dans les details du script et comme backskin me semble bien
je vais continuer avec  :)
Mais la je sens que j'ai qu'une chose a corriger mais je ne la trouve pas ...
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 28 Janvier 2010, 00:07:13
if(!strcmp(cmdtext, "/adu", true)) // By Ellis et Modification by Dauvix
{
if(IsPlayerConnected(playerid))
{
   if(gPlayerLogged[playerid] == 0)
   {
       SendClientMessage(playerid, COLOR_GREY, "   Vous devez d'abord vous inentifiez !");
return 1;
   }
   if(PlayerInfo[playerid][pAdmin] > 0)
   {
       if(AdminDuty[playerid] == 0)
       {
           AdminDuty[playerid] = 1;
           backskin[playerid] = GetPlayerSkin(playerid);
                            SetPlayerSkin(playerid, 264); // Le skin quand l'admin se met en /adu
           SetPlayerArmour(playerid, 999);
SetPlayerHealth(playerid, 999);
SetPlayerColor(playerid,TEAM_VAGOS_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin %s est en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
if(PlayerInfo[playerid][pAdmin] >= 1337) // Niveau admin requis pour utiliser cette commande
{
   for(new i = 0; i < sizeof(CarInfo); i++)
{
SetVehicleParamsForPlayer(i,playerid,0,0);
}
}
return 1;
       }
       else if(AdminDuty[playerid] == 1)
       {
           AdminDuty[playerid] = 0;
                            SetPlayerSkin(playerid, backskin[playerid]);
           SetPlayerArmour(playerid, 0);
SetPlayerHealth(playerid, 100);
SetPlayerColor(playerid,TEAM_HIT_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin %s n'est plus en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
return 1;
       }
   }
   else
   {
       SendClientMessage(playerid, COLOR_GREY, "   Vous n'etes pas admin !");
       return 1;
   }
}
   return 1;
}
 
 

Titre: Re : [Aide] Mes questions Scripting.
Posté par: Diablo62 le 28 Janvier 2010, 00:33:00
Comme le montre dans la commande que ghm94 a modifié, tu n'as pas pris backskin[playerid] = GetPlayerSkin(playerid);
Toi tu disais au script que BackSKin voulait dire: "mettre le skin 264 au player" et donc lui c'est se qu'il faisait ;)

Quand j'ai fais ma commande /duty, je ne maîtrisais pas non plus très bien le script, seulement j'ai passé pas mal de temps à le regarder et à essayer de comprendre toutes les commandes (essayer de comprendre par moi même (vu que je ne connaissais pas se Forum  :P ) les différents nom des fonctions et se que ça faisait, essayer de comprendre pourquoi la commande a été faite de cette façon pour ainsi pouvoir essayer de le refaire, pourquoi avoir utiliser tel ou tel variable,...). De plus, j'avais vu que la commande /quitfaction enlevait la personne de la Faction, mais remettait également le skin Civil du Perso (le skin qu'il avait avant d'entrer dans la Faction). J'avais donc essayé de le mettre pour les Flic en leur définissant qu'un seul enroit (le vestiaire) pour faire la commande et ça avait fonctionné.

Tout le secret est là je pense, il faut essayer de comprendre les commandes déjà en cours avant de vouloir/pouvoir réussir à en créer sans aide ;)
Titre: Re : Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 28 Janvier 2010, 07:06:33
Merci beaucoup ghm et Diablo !
Je vais pouvorir faire beaucoup de chose avec cette commande !  :)
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 28 Janvier 2010, 07:49:05
Derien, j'ai eu la flemme d'expliquer je postais depuis mon iTouch.
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 29 Janvier 2010, 14:25:44
Bonjour,
J'ai un problème quand je veux mettre une maison en vente dans mon /cfg/property ...

Donc j'ai cette ligne ci dans /cfg/property:

2513.399902,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,77

Mais alors quand jke rentre dedans il fait tout bleu ...
Et aussi ces ligne apparaisent dans le /cfg/property :
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,78
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,79
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,80
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,81
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,82
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,83
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,84
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,85
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,86
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,87
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,88
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,89
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,90
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,91
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,92
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,93
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,94
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,95
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,96
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,97
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,98
0.000000,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,99
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 29 Janvier 2010, 14:33:24
Sa doit être l'id d'intérieur qui change pas. Par contre je c'est pas quel numéro tu doit changer.
Titre: Re : Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 30 Janvier 2010, 12:25:28
Sa doit être l'id d'intérieur qui change pas. Par contre je c'est pas quel numéro tu doit changer.
D'accord Merci
Mais quelqu'un pourrait m'expliquer tous les chiffres de cette ligne ...
Car c'es toujours tout bleu quand je rentre dans la maison ... et au loin je vois des autres interieur, c'est bizard ...

2513.399902,-1650.658569,14.355666,2251.850097,-1138.160034,1050.630004,0,0,0,0,0,0,The State,Orange Grove,150000,0,0,5,1,0,0,500,1,0,418,-1,-1,28,3,77
2513.399902,-1650.658569,14.355666, =
2251.850097,-1138.160034,1050.630004, =
0,0,0,0,0,0, =
The State = Propriétaire
Orange Grove = Nom de la propriété
150000= Prix de la propriété
0,0,5,1,0,0, =
500 = Prix de la location
1,0,418,-1,-1,28 =
3 = Niveau requis pour pouvoir acheter cette propriété
77 = ID de la propriété

Merci d'avance ...
Dauvix







Double post
Et je pense quand le /sortir est bon ...

if(strcmp(cmd, "/sortir", true) == 0)
{
    if(IsPlayerConnected(playerid))
{
for(new i = 0; i <  sizeof(HouseInfo); i++)
{
//printf("House :%d",i);
if (PlayerToPoint(3, playerid,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]))
{
    if(HouseEntered[playerid] == i)
    {
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez]);
PlayerInfo[playerid][pInt] = 0;
PlayerInfo[playerid][pLocal] = 255;
SetCameraBehindPlayer(playerid);
SetPlayerVirtualWorld(playerid,0);
HouseEntered[playerid] = 255;
if(HouseInfo[i][hHel] == 1)
{
new Float:tempheal;
GetPlayerHealth(playerid,tempheal);
if(tempheal < 100.0)
{
SetPlayerHealth(playerid,100.0);
}
}
return 1;
}
}
}
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 30 Janvier 2010, 13:20:05
Si c'est tout bleu c'est forcement l'id de l'interieur qui n'est pas bon ;)
Pour ton fichier, désoler mais je ne connais pas la signification des chiffres...

Sinon vérifie bien dans ta cmd /entrer si l'interieur change bien ;)
Titre: Re : Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 30 Janvier 2010, 13:32:49
Si c'est tout bleu c'est forcement l'id de l'interieur qui n'est pas bon ;)
Pour ton fichier, désoler mais je ne connais pas la signification des chiffres...

Sinon vérifie bien dans ta cmd /entrer si l'interieur change bien ;)


Voic la commande je dois ajjouter quelque chose ?

if(strcmp(cmd, "/enter", true) == 0)
{
    if(IsPlayerConnected(playerid))
{
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
{
//printf("Found House :%d",i);
if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0)
{
SetPlayerInterior(playerid,HouseInfo[i][hInt]);
SetPlayerVirtualWorld(playerid,HouseInfo[i][hWorld]);
SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
GameTextForPlayer(playerid, "~w~Bienvenu Home", 5000, 1);
PlayerInfo[playerid][pInt] = HouseInfo[i][hInt];
PlayerInfo[playerid][pLocal] = i;
HouseEntered[playerid] = i;
}
else
{
GameTextForPlayer(playerid, "~r~Locked", 5000, 1);
}
}
}
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Barto le 30 Janvier 2010, 13:35:38
//printf("Found House :%d",i);
Je ne suis pas sur mais retire les // sur cette ligne.
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 30 Janvier 2010, 13:43:48
Je viens d'essayer mais ca ne change rien ...  :-[
Titre: Re : Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 30 Janvier 2010, 13:49:02
//printf("Found House :%d",i);
Je ne suis pas sur mais retire les // sur cette ligne.

Sa sert à afficher l'id des maison dans la console ;)
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 30 Janvier 2010, 14:07:10
Voici ce que je voix quand je rentre dans la maison ...

http://img691.imageshack.us/img691/4945/samp498u.png (http://img691.imageshack.us/img691/4945/samp498u.png)
http://img691.imageshack.us/img691/7295/samp499w.png (http://img691.imageshack.us/img691/7295/samp499w.png)

J'ai esssayé de faire /setint id 0 et /setvw id 0 mais l'image reste comme ceci ...
Merci de votre aide,
Dauvix
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 30 Janvier 2010, 14:28:22
Le 0 dans l'interieur correspond à dehors donc essaye d'autres chiffres ;)
Titre: Re : Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 30 Janvier 2010, 15:17:01
Le 0 dans l'interieur correspond à dehors donc essaye d'autres chiffres ;)

Donc c'est quoi et dans quelle commande que je dois changer exactement ?
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 30 Janvier 2010, 16:17:09
Bah essaye /setint avec differents id.
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 30 Janvier 2010, 21:42:49
C'est bon j'ai réussit,
Merci  :P
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 01 Février 2010, 20:23:58
Bonsoir,
J'aurais aimé savoir comment modifié le nombre de lettre maximum que l'Identifiant
du joueur peut avoir ...
Donc par exemple quand un Identifiant est plus long que 25 lettre il est serait kické ... (Ex: JeanMarie_Vendettalliowsons)
Merci

""J'espere que vous avez comprit ...  :-[ ""
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ghm94 le 01 Février 2010, 22:00:20
Tu peut utiliser Strlen qui renvoit le nombre de lettre de ta chaine. tu pourra donc savoir combien il y a de charactère ;)
Titre: Re : Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 01 Février 2010, 22:05:59
Tu peut utiliser Strlen qui renvoit le nombre de lettre de ta chaine. tu pourra donc savoir combien il y a de charactère ;)

Oui mais en faite j'ai un souvti car quand qulqu'un se connecte avec un Pseudo de plus de 12 lettres,
Et bien ca va il joue et puis alors il se déconnecte comme n'importe quel joueur ...
Et la quand il veut se reconnecter, il doit tout le temps se retaper le tuto, sexe, ...
Enfin il recommence a 0 quoi, Donc 'jen conclut que quand quelqu'un qui se connecte avec un Identifiant de
plus de 12 caractère son compte ne se sauvegarde pas ...
Mais je ne sais pas comment changé cela ...
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 03 Février 2010, 21:22:43
Bonsoir,
J'aimerais savoir comment faire pour que quand un joueur se connecte pour la première fois,
apres qu'il aie mit son sex etc ... Il spawn avec toujours le meme skin ... et non avec 50 skin différent pour chaque (ex: il spawn tous avec le skin 143 ...)
joueur ... J'ai cherchez dans le script mais je n'est pas trouvé ...
Merci,
Dauvix

Double post
Ce ne serait pas ceci ?

new CivMalePeds

new CivFemalePeds

Double post
Bonjour,
J'ai un problème pour regler la vitesse ...
Je doit mettre combien ici :
KMH *= ...;
Pour que la Vitesse soit plus ou moin réelle ...
Merci dAvance,
Dauvi
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 05 Février 2010, 18:00:38
Bonjour,
J'aimerais savoir comment changer les skins quand un joueur est nouveau sur le serveur ...
Et il y a moyen par exemple quand le joueur s'inscrit, qu'il met femme et que son skin quand il spawn
soit un de Femme ...
Merci,
Dauvix
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ApocKalipsS le 06 Février 2010, 08:41:59
Bah, oui, si il doit taper "femme" dans le texte, tu vas sur ton script, tu cherche : "femme" dans OnPlayerText puis tu lui change son skin dans cette condition.
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 06 Février 2010, 20:32:46
Bonsoir,
J'ai une question sur l'interieur d'un aeroport ...
Voila en faite j'ai trouvé cet interieur sur "Wiki Samp" et j'ai essayé de mettre cet interieur
Le problème est que quand je rentre dedans, je voix l'interieur mais c'est comme sil il n'ya avait
pas de sol donc je tombe dans le vide ...
Voici le bout de script que j'avais mit:
else if (PlayerToPointStripped(1, playerid,1685.799926,-2237.541748,13.546875, cx,cy,cz))
{
//Aeroport
SetPlayerPos(playerid, -1870.80,59.81,1056.25);
GameTextForPlayer(playerid, "~w~City Hall",5000,1);
SetPlayerInterior(playerid,14);
SetPlayerFacingAngle(playerid, 0);
PlayerInfo[playerid][pInt] = 14;
}
Merci, Dauvix
Titre: Re : [Aide] Mes questions Scripting.
Posté par: ApocKalipsS le 06 Février 2010, 23:39:26
Eh bien, c'est qu'il n'a pas de sol.
Titre: Re : Re : [Aide] Mes questions Scripting.
Posté par: Diablo62 le 07 Février 2010, 00:22:48
Eh bien, c'est qu'il n'a pas de sol.

+1

Si tu rentres dedans et que tu vois bien le décor mais que tu tombes dans le vide c'est que soit la position du perso est trop basse (Essaye de remplacer 1056.25 par 1058.25 ou 1060.25. On ne sais jamais ;) ), soit que le sol n'est pas Solide (on passe à travers).
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 07 Février 2010, 13:04:28
Merci, Quabd je met ceci:

-1870.80,59.81,1059.25 = Je tombe dans le vide "Je passe a travers"
-1870.80,59.81,1059.30 = Je tombe sur le Toit transparant (http://img9.imageshack.us/img9/5459/samp003do.png)

Mais sur un serveur ils ont trouvé le Bon interieur (http://img34.imageshack.us/img34/9317/samp000ail.png)

Merci, Dauvix
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Mr_C30 le 07 Février 2010, 13:15:15
surement mapper ;)
Titre: Re : Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 07 Février 2010, 13:39:00
surement mapper ;)
C'est ce qu'on fait  ;) Merci
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 12 Février 2010, 15:43:12
Bonjour,
Je pense que j'ai fait une mauvaise manip ...
Mais je ne sais pas ou ni comment la résoudre !
Voici les erreures ...
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(1864) : error 004: function "SafeGivePlayerMoney" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(1893) : error 004: function "SafeGivePlayerMoney" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(1929) : error 004: function "SafeResetPlayerWeapons" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(1930) : error 004: function "SafeGivePlayerWeapon" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(1957) : error 004: function "SafeResetPlayerWeapons" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2428) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2439) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2451) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2455) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2467) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2471) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2475) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2479) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2483) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2487) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2491) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2495) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2507) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2511) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2515) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2519) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2523) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2535) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2539) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2543) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Adrien\Mes documents\MonGtaRp\Dauvi\gamemodes\Dauvi.pwn(2555) : error 004: function "PlayerToPoint" is not implemented

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


26 Errors.

Merci
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Anonyme le 12 Février 2010, 15:44:37
26 erreurs il doit te manquer une acolade comme cela : } Dans ton script
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 12 Février 2010, 16:56:42
J'ai eu peur, Mais j'ai trouver :) Merci

Double post
Bonjour,

J'ai essayer de modifié le commande /aooc mais je n'y arrive pas trop ...
Le Gm compile bien mais quand je suis IG,
Je fait /ao et bien ce me met " Vous n'etes pas autoriser a utiliser cette commande !"
Mais je ne voix pas trop ou est l'erreure ...

if(strcmp(cmd, "/aooc", true) == 0 || strcmp(cmd, "/ao", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(gPlayerLogged[playerid] == 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "   Vous n'etes pas connecte !");
            return 1;
        }
if (PlayerInfo[playerid][pAdmin] < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, "   Le canal ooc a ete desactive par un admin !");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_BLUE, "USAGE: (/ao)oc [aooc chat]");
return 1;
}
if (PlayerInfo[playerid][pAdmin] < 1)
{
    if(PlayerInfo[playerid][pAdmin] == 1) { format(string, sizeof(string), "** Moderateur 1 %s(radio): %s **", sendername, result); }
else if(PlayerInfo[playerid][pAdmin] == 2) { format(string, sizeof(string), "** Moderateur 2 %s(radio): %s **", sendername, result); }
else if(PlayerInfo[playerid][pAdmin] == 3) { format(string, sizeof(string), "** Moderateur 3 %s(radio): %s **", sendername, result); }
else if(PlayerInfo[playerid][pAdmin] == 4) { format(string, sizeof(string), "** Moderateur 4 %s(radio): %s **", sendername, result); }
else if(PlayerInfo[playerid][pAdmin] == 1337) { format(string, sizeof(string), "** Moderateur Generale %s(radio): %s **", sendername, result); }
else if(PlayerInfo[playerid][pAdmin] == 1338) { format(string, sizeof(string), "** Administrateur %s(radio): %s **", sendername, result); }
else if(PlayerInfo[playerid][pAdmin] == 1339) { format(string, sizeof(string), "** Administrateur Generale %s(radio): %s **", sendername, result); }
else if(PlayerInfo[playerid][pAdmin] == 1340) { format(string, sizeof(string), "** Fondateur %s(radio): %s **", sendername, result); }
else
{
format(string, sizeof(string), "Administrateur %s: %s " , sendername, result);
}
OOCOff(COLOR_OOC,string);
printf("%s", string);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "   Vous n'etes pas autoriser a utiliser cette commande !");
return 1;
}
}
return 1;
}

Merci !
Dauvix
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Dauvix le 13 Février 2010, 18:00:08
Bonjour,
J'ai quelques problème ...
Voic le premier :
Quand on joueur se connecte, j'aimerais qu'il spawn avec un certain skin ...
Donc j'ai essayé de faire ceci: Jusqu'a la fin du tuto le skin est bon mais quand le joueur spawn,
il se met en Cj ...
if(RegistrationStep[playerid] > 0)
{
    if(RegistrationStep[playerid] == 1)
    {
        new idx;
    tmp = strtok(text, idx);
    if((strcmp("Homme", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Homme")))
{
    PlayerInfo[playerid][pSex] = 1;
    ClearChatbox(playerid, 8);
    SendClientMessage(playerid, COLOR_GREEN, "-----------------------------------------------------------------------");
    SendClientMessage(playerid, COLOR_GREY, "Ok, vous êtes une Homme.");
    SendClientMessage(playerid, COLOR_WHITE, "2. Quelle est votre date de naissance ? (jj/mm/aaaa)");
    SendClientMessage(playerid, COLOR_GREEN, "-----------------------------------------------------------------------");
    ClearChatbox(playerid, 2);
    //new maleskin;
    //maleskin = random(sizeof(CivMalePeds));
    SetPlayerSkin(playerid, 26);
    //PlayerInfo[playerid][pChar] = maleskin;
    RegistrationStep[playerid] = 2;
    return 0;
}

Merci
Titre: Re : [Aide] Mes questions Scripting.
Posté par: Barto le 13 Février 2010, 18:31:57
Utilise AddPlayerClass