Chris53340

Acteur

May 3rd, 2015
412
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 8.49 KB | None | 0 0
  1. #include                <a_samp>
  2.  
  3. #define                             DIALOGUE_ACTOR_C                            120
  4. #define                             DIALOGUE_ACTOR_E                            121
  5. #define                             DIALOGUE_ACTOR_S                            122
  6. #define                             DIALOGUE_ACTOR_E_1                          123
  7. #define                             DIALOGUE_ACTOR_E_2                          124
  8. #define                             DIALOGUE_ACTOR_E_3                          125
  9. #define                             DIALOGUE_ACTOR_E_4                          126
  10. #define                             DIALOGUE_ACTOR_E_I                          127
  11. #define                             DIALOGUE_ACTOR_E_5                          128
  12. #define                             DIALOGUE_ACTOR_E_VW                         129
  13. #define                             DIALOGUE_ACTOR_E_V                          130
  14.  
  15. #define                             DIALOGUE_ACTOR_E_6                          131
  16. #define                             DIALOGUE_ACTOR_E_AL                         132
  17. #define                             DIALOGUE_ACTOR_E_AN                         133
  18. #define                             DIALOGUE_ACTOR_E_R                          134
  19.  
  20. new Acteur[MAX_ACTORS], Text3D:ActeurT[MAX_ACTORS], ActeurEdit[MAX_PLAYERS];
  21.  
  22. new AnimLib[25], AnimName[25], bool:Repeat;
  23.  
  24. public OnPlayerCommandText(playerid, cmdtext[]) {
  25.     if(!strcmp(cmdtext, "/cacteur", true)) return ShowPlayerDialog(playerid, DIALOGUE_ACTOR_C, DIALOG_STYLE_INPUT, "Skin ID", "Saisie l'ID du skin que tu souhaites appliqué à l'acteur.", "Valider", "Annuler");
  26.     if(!strcmp(cmdtext, "/eacteur", true)) return ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E, DIALOG_STYLE_LIST, "Acteur", "Skin & Position\nPosition\nVie\nInvulnerabilité\nMonde Virtuel\nAnnimation", "Valider", "Annuler");
  27.     if(!strcmp(cmdtext, "/sacteur", true)) return ShowPlayerDialog(playerid, DIALOGUE_ACTOR_S, DIALOG_STYLE_INPUT, "Acteur ID", "Saisie l'ID de l'acteur à supprimer.", "Valider", "Annuler");
  28.     return 1;
  29. }
  30. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
  31.     switch(dialogid) {
  32.         case DIALOGUE_ACTOR_C: {
  33.             if(response) {
  34.                 for(new i = 0; i <MAX_ACTORS; i++) {
  35.                     if(!IsValidActor(i)) {
  36.                         new Float:x, Float:y, Float:z, Float:a, Mess[16];
  37.                         GetPlayerPos(playerid, x, y, z);
  38.                         GetPlayerFacingAngle(playerid, a);
  39.                         Acteur[i] = CreateActor(strval(inputtext), x, y, z, a);
  40.                         SetPlayerPos(playerid, x+1, y, z);
  41.                         format(Mess, sizeof(Mess), "Acteur ID: %i", i);
  42.                         ActeurT[i] = Create3DTextLabel(Mess, 0x0080FFFF, x, y, z+1, 40.0, 0, 0);
  43.                         return 1;
  44.                     }
  45.                 }
  46.             }
  47.             return 1;
  48.         }
  49.         case DIALOGUE_ACTOR_E: {
  50.             if(response) {
  51.                 switch(listitem) {
  52.                     case 0: ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_1, DIALOG_STYLE_INPUT, "Acteur ID", "Saisie l'ID de l'acteur sur lequel appliquer un nouveau skin et changer la position.", "Valider", "Annuler");
  53.                     case 1: ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_2, DIALOG_STYLE_INPUT, "Acteur ID", "Saisie l'ID de l'acteur dont vous souhaitez changé la position.", "Valider", "Annuler");
  54.                     case 2: ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_3, DIALOG_STYLE_INPUT, "Acteur ID", "Saisie l'ID de l'acteur dont vous souhaitez changé la vie.", "Valider", "Annuler");
  55.                     case 3: ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_4, DIALOG_STYLE_INPUT, "Acteur ID", "Saisie l'ID de l'acteur dont vous souhaitez changé l'invulnerabilité.", "Valider", "Annuler");
  56.                     case 4: ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_5, DIALOG_STYLE_INPUT, "Acteur ID", "Saisie l'ID de l'acteur dont vous souhaitez changé le mode virtuel.", "Valider", "Annuler");
  57.                     case 5: ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_6, DIALOG_STYLE_INPUT, "Acteur ID", "Saisie l'ID de l'acteur dont vous souhaitez qu'il execute une annimation.", "Valider", "Annuler");
  58.                 }
  59.             }
  60.         }
  61.         case DIALOGUE_ACTOR_E_1: {
  62.             if(response) {
  63.                 if(IsValidActor(Acteur[strval(inputtext)])) {
  64.                     DestroyActor(Acteur[strval(inputtext)]);
  65.                     Delete3DTextLabel(ActeurT[strval(inputtext)]);
  66.                     ShowPlayerDialog(playerid, DIALOGUE_ACTOR_C, DIALOG_STYLE_INPUT, "Skin ID", "Saisie l'ID du skin que tu souhaites appliqué à l'acteur.", "Valider", "");
  67.                     return 1;
  68.                 } else return SendClientMessage(playerid, -1, "L'ID de l'acteur saisie est invalide");
  69.             }
  70.         }
  71.         case DIALOGUE_ACTOR_E_2: {
  72.             if(response) {
  73.                 if(IsValidActor(Acteur[strval(inputtext)])) {
  74.                     new Float:x, Float:y, Float:z, Float:a, Mess[16];
  75.                     GetPlayerPos(playerid, x, y, z);
  76.                     GetPlayerFacingAngle(playerid, a);
  77.                     Delete3DTextLabel(ActeurT[strval(inputtext)]);
  78.                     SetActorPos(Acteur[strval(inputtext)], x, y, z);
  79.                     SetActorFacingAngle(Acteur[strval(inputtext)], a);
  80.                    
  81.                     format(Mess, sizeof(Mess), "Acteur ID: %i", strval(inputtext));
  82.                     ActeurT[strval(inputtext)] = Create3DTextLabel(Mess, 0x0080FFFF, x, y, z+1, 40.0, 0, 0);
  83.                    
  84.                     SetPlayerPos(playerid, x+1, y, z);
  85.                     return 1;
  86.                 } else return SendClientMessage(playerid, -1, "L'ID de l'acteur saisie est invalide");
  87.             }
  88.         }
  89.         case DIALOGUE_ACTOR_E_3: {
  90.             if(response) {
  91.                 if(IsValidActor(Acteur[strval(inputtext)])) {
  92.                     ActeurEdit[playerid] = strval(inputtext);
  93.                     ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_V, DIALOG_STYLE_INPUT, "Vie", "Saississez la vie que vous voulez mettre à l'acteur.", "Valider", "Annuler");
  94.                     return 1;
  95.                 } else return SendClientMessage(playerid, -1, "L'ID de l'acteur saisie est invalide");
  96.             }
  97.         }
  98.         case DIALOGUE_ACTOR_E_V: if(response) return SetActorHealth(ActeurEdit[playerid], strval(inputtext));
  99.         case DIALOGUE_ACTOR_E_4: {
  100.             if(response) {
  101.                 if(IsValidActor(Acteur[strval(inputtext)])) {
  102.                     ActeurEdit[playerid] = strval(inputtext);
  103.                     ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_I, DIALOG_STYLE_MSGBOX, "Invulnerabilité", "Voulez vous que votre acteur soit invulnérable?", "Oui", "Non");
  104.                     return 1;
  105.                 } else return SendClientMessage(playerid, -1, "L'ID de l'acteur saisie est invalide");
  106.             }
  107.         }
  108.         case DIALOGUE_ACTOR_E_I: if(response) return SetActorInvulnerable(ActeurEdit[playerid], true); else return SetActorInvulnerable(ActeurEdit[playerid], false);
  109.         case DIALOGUE_ACTOR_E_5: {
  110.             if(response) {
  111.                 if(IsValidActor(Acteur[strval(inputtext)])) {
  112.                     ActeurEdit[playerid] = strval(inputtext);
  113.                     ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_VW, DIALOG_STYLE_INPUT, "Monde Virtuel", "Inscrivez ci-dessous le monde virtuel de votre acteur.", "Valider", "Annuler");
  114.                     return 1;
  115.                 } else return SendClientMessage(playerid, -1, "L'ID de l'acteur saisie est invalide");
  116.             }
  117.         }
  118.         case DIALOGUE_ACTOR_E_VW: if(response) return SetActorVirtualWorld(ActeurEdit[playerid], strval(inputtext));
  119.         case DIALOGUE_ACTOR_E_6: {
  120.             if(response) {
  121.                 if(IsValidActor(Acteur[strval(inputtext)])) {
  122.                     ActeurEdit[playerid] = strval(inputtext);
  123.                     ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_AL, DIALOG_STYLE_INPUT, "AnimLib", "Saisissez l'AnimLib que vous souhaitez appliquer.", "Valider", "Annuler");
  124.                     return 1;
  125.                 } else return SendClientMessage(playerid, -1, "L'ID de l'acteur saisie est invalide");
  126.             }
  127.         }
  128.         case DIALOGUE_ACTOR_E_AL: {
  129.             if(response) {
  130.                 format(AnimLib, sizeof(AnimLib), "%s", inputtext);
  131.                 ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_AN, DIALOG_STYLE_INPUT, "AnimName", "Saisissez l'animname que vous souhaitez appliquer.", "Valider", "Annuler");
  132.                 return 1;
  133.             }
  134.         }
  135.         case DIALOGUE_ACTOR_E_AN: {
  136.             if(response) {
  137.                 format(AnimName, sizeof(AnimName), "%s", inputtext);
  138.                 ShowPlayerDialog(playerid, DIALOGUE_ACTOR_E_R, DIALOG_STYLE_MSGBOX, "Répèter", "Voulez vous que l'anim se répète?", "Oui", "Non");
  139.                 return 1;
  140.             }
  141.         }
  142.         case DIALOGUE_ACTOR_E_R: {
  143.             if(response) {
  144.                 Repeat = true;
  145.                 ApplyActorAnimation(ActeurEdit[playerid], AnimLib, AnimName, 4.1, Repeat, 0, 0, 0, 0);
  146.                 return 1;
  147.             } else {
  148.                 Repeat = false;
  149.                 ApplyActorAnimation(ActeurEdit[playerid], AnimLib, AnimName, 4.1, Repeat, 0, 0, 0, 0);
  150.                 return 1;
  151.             }
  152.         }
  153.         case DIALOGUE_ACTOR_S: {
  154.             if(response) {
  155.                 if(IsValidActor(Acteur[strval(inputtext)])) {
  156.                     DestroyActor(Acteur[strval(inputtext)]);
  157.                     Delete3DTextLabel(ActeurT[strval(inputtext)]);
  158.                     return 1;
  159.                 } else return SendClientMessage(playerid, -1, "L'ID de l'acteur saisie est invalide");
  160.             }
  161.         }
  162.     }
  163.     return 1;
  164. }
Advertisement
Add Comment
Please, Sign In to add comment