Advertisement
Leon1337

1o1

Sep 20th, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.67 KB | None | 0 0
  1. CMD:1o1(playerid,params[])
  2. {
  3.     new iString[128],target;
  4.      
  5.     if(pInfo[playerid][pArena] != ARENA_NONE) return SendErrorMessage(playerid, "Du bist bereits in einer Arena. Du kannst diese mit /l verlassen.");
  6.     if(pInfo[playerid][pSpecing]) return SendErrorMessage(playerid, "Du kannst keine Arena betreten, während du jemanden beobachtest.");
  7.     if(pJailed[playerid]) return SendErrorMessage(playerid, "Du kannst im Jail keine Arena betreten.");
  8.    
  9.     if(sscanf(params,"u",target)) return SendUsageMessage(playerid, "/1o1 [Name/ID]");
  10.     if(!IsPlayerConnected(target)) return SendErrorMessage(playerid, "Dieser Spieler ist nicht auf dem Server.");
  11.     if(target == playerid) return SendErrorMessage(playerid, "Du kannst dich nicht selbst zu einem 1o1 herausfordern.");
  12.     if(pInfo[target][pArena] != ARENA_NONE) return SendErrorMessage(playerid,"Dieser Spieler ist ist einer Arena.");
  13.     if(pInfo[target][pInviteID] != -1) return SendErrorMessage(playerid,"Dieser Spieler wurde bereits zu einem 1o1 herausgefordert.");
  14.     if(pInfo[target][pEnemy] != -1) return SendErrorMessage(playerid, "Dieser Spieler ist bereits in einem 1o1.");
  15.    
  16.     format(iString,sizeof(iString),"ARENA: %s fordert dich zu einem 1o1 heraus! Benutze /accept1o1 um die Anfrage anzunehmen.",GetName(playerid));
  17.     SCM(target,COLOR_ORANGE,iString);
  18.     format(iString,sizeof(iString),"ARENA: Du forderst %s zu einem 1o1 heraus.",GetName(target));
  19.     SCM(playerid,COLOR_ORANGE,iString);
  20.    
  21.     pInfo[target][pInviteID] = playerid;
  22.     pInfo[playerid][pInviteID] = -2;
  23.    
  24.     return 1;
  25. }
  26.  
  27. CMD:accept1o1(playerid,params[])
  28. {
  29.     new iString[128],enemy;
  30.      
  31.     if(pInfo[playerid][pArena] != ARENA_NONE) return SendErrorMessage(playerid, "Du bist bereits in einer Arena. Du kannst diese mit /l verlassen.");
  32.     if(pInfo[playerid][pSpecing]) return SendErrorMessage(playerid, "Du kannst keine Arena betreten, während du jemanden beobachtest.");
  33.     if(pJailed[playerid]) return SendErrorMessage(playerid, "Du kannst im Jail keine Arena betreten.");
  34.     if(pInfo[playerid][pInviteID] == -1 || pInfo[playerid][pInviteID] == -2) return SendErrorMessage(playerid,"Du wurdest nicht herausgefordert.");
  35.    
  36.     enemy = pInfo[playerid][pInviteID];
  37.     pInfo[enemy][pArena] = ARENA_1O1;
  38.     pInfo[enemy][pEnemy] = playerid;
  39.     pInfo[enemy][pPoints] = 0;
  40.     pInfo[enemy][pInviteID] = -2;
  41.    
  42.     pInfo[playerid][pEnemy] = enemy;
  43.     pInfo[playerid][pInviteID] = -1;
  44.     pInfo[playerid][pPoints] = 0;
  45.     pInfo[playerid][pArena] = ARENA_1O1;
  46.    
  47.     pInfo[playerid][pVWorld] = playerid + 10;
  48.     pInfo[enemy][pVWorld] = playerid + 10;
  49.     SetPlayerVirtualWorld(playerid, playerid + 10);
  50.     SetPlayerVirtualWorld(enemy, playerid + 10);
  51.     SetPlayerInterior(playerid, 6);
  52.     SetPlayerInterior(enemy, 6);
  53.     SetPlayerPos(playerid, 767.3425,-46.0777,1000.5859);
  54.     SetPlayerPos(enemy, 767.4763,-22.5748,1000.5859);
  55.     SetPlayerFacingAngle(playerid, 0.0);
  56.     SetPlayerFacingAngle(enemy, 180.0);
  57.     SetCameraBehindPlayer(playerid);
  58.     SetCameraBehindPlayer(enemy);
  59.     SetPlayerHealth(playerid, 100.0);
  60.     SetPlayerHealth(enemy, 100.0);
  61.     SetPlayerArmour(playerid, 100.0);
  62.     SetPlayerArmour(enemy, 100.0);
  63.     GivePlayerWeapon(playerid, 24, 1000);
  64.     GivePlayerWeapon(enemy, 24, 1000);
  65.    
  66.     PlayerTextDrawShow(playerid, points[playerid]);
  67.     PlayerTextDrawShow(enemy, points[enemy]);
  68.    
  69.     format(iString,sizeof(iString),"ARENA: %s hat deine 1o1 Anfrage akzeptiert.",GetName(playerid));
  70.     SCM(enemy,COLOR_ORANGE,iString);
  71.     format(iString,sizeof(iString),"ARENA: Du hast die 1o1 Anfrage von %s akzeptiert.",GetName(enemy));
  72.     SCM(playerid,COLOR_ORANGE,iString);
  73.    
  74.    
  75.     return 1;
  76. }
  77.  
  78. public OnPlayerDeath(playerid, killerid, reason)
  79. {
  80. ....
  81. if(pInfo[playerid][pArena] == ARENA_1O1)
  82.     {
  83.         pInfo[killerid][pPoints]++;
  84.         format(iString,sizeof(iString),"ARENA: %s hat %s gekillt. +1 Punkt",GetName(killerid),GetName(playerid));
  85.         SCM(playerid, COLOR_ORANGE,iString);
  86.         SCM(killerid,COLOR_ORANGE,iString);
  87.        
  88.         format(iString,sizeof(iString),"%d : %d",pInfo[playerid][pPoints],pInfo[killerid][pPoints]);
  89.         PlayerTextDrawSetString(playerid,points[playerid],iString);
  90.         format(iString,sizeof(iString),"%d : %d",pInfo[playerid][pPoints],pInfo[killerid][pPoints]);
  91.         PlayerTextDrawSetString(killerid,points[killerid],iString);
  92.        
  93.         if(pInfo[pInfo[playerid][pEnemy]][pInviteID] == -2)
  94.         {
  95.                 SetPlayerPos(pInfo[playerid][pEnemy], 767.3425,-46.0777,1000.5859);
  96.                 SetPlayerFacingAngle(pInfo[playerid][pEnemy], 0.0);
  97.         }
  98.         else
  99.         {
  100.                 SetPlayerPos(pInfo[playerid][pEnemy],767.4763,-22.5748,1000.5859);
  101.                 SetPlayerFacingAngle(pInfo[playerid][pEnemy], 180.0);
  102.         }
  103.         pInfo[pInfo[playerid][pEnemy]][pHealth] = 100.0;
  104.         SetPlayerHealth(pInfo[playerid][pEnemy], 100.0);
  105.         SetPlayerArmour(pInfo[playerid][pEnemy], 100.0);
  106.         SetCameraBehindPlayer(pInfo[playerid][pEnemy]);
  107.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement