Advertisement
FL1K3R

Texas Hold`Em v0.1

Jun 11th, 2011
1,631
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 20.49 KB | None | 0 0
  1. #define FILTERSCRIPT
  2.  
  3. #include <a_samp>
  4. #include <float>
  5. //#include <utils>
  6. #include <streamer>
  7. #define COLOR_GREY 0xAFAFAFAA
  8. #define COLOR_PURPLE 0xC2A2DAAA
  9. #define COLOR_WHITE 0xFFFFFFAA
  10. //=================================[ forwards ]=================================
  11. forward Float:GetDistanceBetweenPlayers(p1,p2);
  12. forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
  13. forward Float:GetPosInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance);
  14. forward Float:GetDistance(playerid);
  15. //================================[ new ]=======================================
  16. new poker_cards[MAX_PLAYERS][2];
  17. new dealer_cards[MAX_PLAYERS][5];
  18. new Text3D:POKER[MAX_PLAYERS];
  19. new Text3D:POKER_FLIP[MAX_PLAYERS];
  20. new IsAPokerDealer[MAX_PLAYERS];
  21.  
  22. public OnFilterScriptInit()
  23. {
  24.     print("\n--------------------------------------");
  25.     print("poker v0.1 by FL1K3R");
  26.     print("--------------------------------------\n");
  27.     return 1;
  28. }
  29.  
  30. public OnFilterScriptExit()
  31. {
  32.     return 1;
  33. }
  34.  
  35. public OnPlayerConnect(playerid)
  36. {
  37.     poker_cards[playerid][0] = 500;
  38.     poker_cards[playerid][1] = 500;
  39.     dealer_cards[playerid][0] = 500;
  40.     dealer_cards[playerid][1] = 500;
  41.     dealer_cards[playerid][2] = 500;
  42.     dealer_cards[playerid][3] = 500;
  43.     dealer_cards[playerid][4] = 500;
  44.     IsAPokerDealer[playerid]=0;
  45.     return 1;
  46. }
  47.  
  48. public OnPlayerDisconnect(playerid, reason)
  49. {
  50.     poker_cards[playerid][0] = 500;
  51.     poker_cards[playerid][1] = 500;
  52.     dealer_cards[playerid][0] = 500;
  53.     dealer_cards[playerid][1] = 500;
  54.     dealer_cards[playerid][2] = 500;
  55.     dealer_cards[playerid][3] = 500;
  56.     dealer_cards[playerid][4] = 500;
  57.     IsAPokerDealer[playerid]=0;
  58.     return 1;
  59. }
  60.  
  61. public OnPlayerSpawn(playerid)
  62. {
  63.     SendClientMessage(playerid, COLOR_GREY, "POKER HELP: /pokerhelp");
  64.     return 1;
  65. }
  66.  
  67. public OnPlayerDeath(playerid, killerid, reason)
  68. {
  69.     poker_cards[playerid][0] = 500;
  70.     poker_cards[playerid][1] = 500;
  71.     dealer_cards[playerid][0] = 500;
  72.     dealer_cards[playerid][1] = 500;
  73.     dealer_cards[playerid][2] = 500;
  74.     dealer_cards[playerid][3] = 500;
  75.     dealer_cards[playerid][4] = 500;
  76.     IsAPokerDealer[playerid]=0;
  77.     return 1;
  78. }
  79.  
  80. public OnPlayerCommandText(playerid, cmdtext[])
  81. {
  82.     new sendername[MAX_PLAYER_NAME];
  83.     new giveplayer[MAX_PLAYER_NAME];
  84.     new string[256];
  85.     new cmd[128];
  86.     new tmp[128];
  87.     new giveplayerid, idx;
  88.     cmd = strtok(cmdtext, idx);
  89.     if(strcmp(cmd, "/pokerhelp", true) == 0)
  90.     {
  91.         if(IsPlayerConnected(playerid))
  92.         {
  93.             SendClientMessage(playerid, COLOR_GREY, "POKER HELP: /cancelpoker /flop /turn /river /cards /givecards /fold /flipcards");
  94.         }
  95.         return 1;
  96.     }
  97.     if(strcmp(cmd, "/cancelpoker", true) == 0)
  98.     {
  99.         if(IsPlayerConnected(playerid))
  100.         {
  101.             poker_cards[playerid][0] = 500;
  102.             poker_cards[playerid][1] = 500;
  103.             dealer_cards[playerid][0] = 500;
  104.             dealer_cards[playerid][1] = 500;
  105.             dealer_cards[playerid][2] = 500;
  106.             dealer_cards[playerid][3] = 500;
  107.             dealer_cards[playerid][4] = 500;
  108.             if(IsValidDynamic3DTextLabel(POKER_FLIP[playerid]))
  109.             {
  110.                 DestroyDynamic3DTextLabel(POKER_FLIP[playerid]);
  111.             }
  112.             if(IsAPokerDealer[playerid] == 1)
  113.             {
  114.                 if(IsValidDynamic3DTextLabel(POKER[playerid]))
  115.                 {
  116.                     DestroyDynamic3DTextLabel(POKER[playerid]);
  117.                 }
  118.                 IsAPokerDealer[playerid] = 0;
  119.             }
  120.         }
  121.         return 1;
  122.     }
  123.     if(strcmp(cmd, "/flop", true) == 0)
  124.     {
  125.         if(IsPlayerConnected(playerid))
  126.         {
  127.             new Float:plx_1, Float:ply_1,Float:plz_1,n_p_string[256];
  128.             GetPlayerPos(playerid, plx_1,ply_1,plz_1);
  129.             GetPosInFrontOfPlayer(playerid, plx_1, ply_1, GetDistance(playerid));
  130.             dealer_cards[playerid][0] = 500;
  131.             dealer_cards[playerid][1] = 500;
  132.             dealer_cards[playerid][2] = 500;
  133.             dealer_cards[playerid][3] = 500;
  134.             dealer_cards[playerid][4] = 500;
  135.             if(IsValidDynamic3DTextLabel(POKER[playerid]))
  136.             {
  137.                 DestroyDynamic3DTextLabel(POKER[playerid]);
  138.             }
  139.             dealer_cards[playerid][0] = random(52);
  140.             dealer_cards[playerid][1] = random(52);
  141.             dealer_cards[playerid][2] = random(52);
  142.             format(n_p_string, sizeof(n_p_string),"{DAA520}FLOP:{FFFFFF} %s %s %s",GetCardName(dealer_cards[playerid][0]),GetCardName(dealer_cards[playerid][1]),GetCardName(dealer_cards[playerid][2]));
  143.             POKER[playerid] = CreateDynamic3DTextLabel(n_p_string, COLOR_WHITE, plx_1, ply_1, plz_1, 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 100.0);
  144.             GetPlayerName(playerid, sendername, sizeof(sendername));
  145.             format(string, sizeof(string), "* %s lays out the cards on the table", sendername);
  146.             ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  147.             IsAPokerDealer[playerid]=1;
  148.             for(new i=0; i<MAX_PLAYERS; i++)
  149.             {
  150.                 if(GetDistanceBetweenPlayers(playerid,i) < 5.0)
  151.                 {
  152.                     Streamer_Update(i);
  153.                 }
  154.             }
  155.             Streamer_Update(playerid);
  156.         }
  157.         return 1;
  158.     }
  159.     if(strcmp(cmd, "/turn", true) == 0)
  160.     {
  161.         if(IsPlayerConnected(playerid))
  162.         {
  163.             if(dealer_cards[playerid][0]==500||dealer_cards[playerid][1]==500||dealer_cards[playerid][2]==500)
  164.             {
  165.                 ShowPlayerDialog(playerid, 555, DIALOG_STYLE_MSGBOX, "error!","apparently you are an inexperienced dealer...\nYou must do 'FLOP' (/flop)","Ok","");
  166.                 return 1;
  167.             }
  168.             new n_p_string[256];
  169.             dealer_cards[playerid][3] = random(52);
  170.             format(n_p_string, sizeof(n_p_string),"{DAA520}TURN:{FFFFFF} %s %s %s %s",GetCardName(dealer_cards[playerid][0]),GetCardName(dealer_cards[playerid][1]),GetCardName(dealer_cards[playerid][2]),GetCardName(dealer_cards[playerid][3]));
  171.             UpdateDynamic3DTextLabelText(POKER[playerid],COLOR_WHITE, n_p_string);
  172.             GetPlayerName(playerid, sendername, sizeof(sendername));
  173.             format(string, sizeof(string), "* %s lays out the card on the table", sendername);
  174.             ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  175.             IsAPokerDealer[playerid]=1;
  176.             for(new i=0; i<MAX_PLAYERS; i++)
  177.             {
  178.                 if(GetDistanceBetweenPlayers(playerid,i) < 5.0)
  179.                 {
  180.                     Streamer_Update(i);
  181.                 }
  182.             }
  183.             Streamer_Update(playerid);
  184.         }
  185.         return 1;
  186.     }
  187.     if(strcmp(cmd, "/river", true) == 0)
  188.     {
  189.         if(IsPlayerConnected(playerid))
  190.         {
  191.             if(dealer_cards[playerid][0]==500||dealer_cards[playerid][1]==500||dealer_cards[playerid][2]==500||dealer_cards[playerid][3]==500)
  192.             {
  193.                 ShowPlayerDialog(playerid, 555, DIALOG_STYLE_MSGBOX, "error!","apparently you are an inexperienced dealer...\nYou must do 'TURN' (/turn)","Ïîíÿòíî","");
  194.                 return 1;
  195.              }
  196.             new n_p_string[256];
  197.             dealer_cards[playerid][4] = random(52);
  198.             format(n_p_string, sizeof(n_p_string),"{DAA520}RIVER:{FFFFFF} %s %s %s %s %s",GetCardName(dealer_cards[playerid][0]),GetCardName(dealer_cards[playerid][1]),GetCardName(dealer_cards[playerid][2]),GetCardName(dealer_cards[playerid][3]),GetCardName(dealer_cards[playerid][4]));
  199.             UpdateDynamic3DTextLabelText(POKER[playerid],COLOR_WHITE, n_p_string);
  200.             GetPlayerName(playerid, sendername, sizeof(sendername));
  201.             format(string, sizeof(string), "* %s lays out the card on the table", sendername);
  202.             ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  203.             IsAPokerDealer[playerid]=1;
  204.             for(new i=0; i<MAX_PLAYERS; i++)
  205.             {
  206.                 if(GetDistanceBetweenPlayers(playerid,i) < 5.0)
  207.                 {
  208.                     Streamer_Update(i);
  209.                 }
  210.             }
  211.             Streamer_Update(playerid);
  212.         }
  213.         return 1;
  214.     }
  215.     if(strcmp(cmd, "/cards", true) == 0)
  216.     {
  217.         if(IsPlayerConnected(playerid))
  218.         {
  219.             if(poker_cards[playerid][0] != 500 && poker_cards[playerid][1]!= 500)
  220.             {
  221.                 new p_c_string[256];
  222.                 GetPlayerName(playerid, sendername, sizeof(sendername));
  223.                 format(p_c_string,sizeof(p_c_string),"{FFFFFF}CARD: %s\nCARD: %s\nSHOW CARDS (to all): {FF8C00}/flipcards{FFFFFF}\nSEE AGAIN: {FF8C00}/cards", GetCardName(poker_cards[playerid][0]),GetCardName(poker_cards[playerid][1]));
  224.                 ShowPlayerDialog(playerid, 555, DIALOG_STYLE_MSGBOX, "Poker. Your cards",p_c_string, "Close","");
  225.                 format(string, sizeof(string), "* %s looks at his cards", sendername);
  226.                 ProxDetector(30.0, playerid, string, 0xC2A2DAAA,0xC2A2DAAA,0xC2A2DAAA,0xC2A2DAAA,0xC2A2DAAA);
  227.                 return 1;
  228.             }
  229.             else
  230.             {
  231.                 SendClientMessage(playerid, COLOR_GREY, "(( you don`t have poker cards in your hands ))");
  232.             }
  233.         }
  234.         return 1;
  235.     }
  236.     if(strcmp(cmd, "/fold", true) == 0)
  237.     {
  238.         if(IsPlayerConnected(playerid))
  239.         {
  240.             if(poker_cards[playerid][0] != 500&&poker_cards[playerid][1]!= 500)
  241.             {
  242.                 GetPlayerName(playerid, sendername, sizeof(sendername));
  243.                 format(string, sizeof(string), "* %s say 'fold' and discards his cards", sendername);
  244.                 ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  245.                 poker_cards[playerid][0] = 500;
  246.                 poker_cards[playerid][1] = 500;
  247.                 return 1;
  248.             }
  249.             else
  250.             {
  251.                 SendClientMessage(playerid, COLOR_GREY, "(( you don`t have poker cards in your hands ))");
  252.             }
  253.         }
  254.         return 1;
  255.     }
  256.     if(strcmp(cmd, "/flipcards", true) == 0)
  257.     {
  258.         if(IsPlayerConnected(playerid))
  259.         {
  260.             if(poker_cards[playerid][0] != 500&&poker_cards[playerid][1]!= 500)
  261.             {
  262.                 new p_c_string[256];
  263.                 GetPlayerName(playerid, sendername, sizeof(sendername));
  264.                 format(p_c_string, sizeof(p_c_string), "* %s show his cards: %s{4B0082}, %s", sendername,GetCardName(poker_cards[playerid][0]),GetCardName(poker_cards[playerid][1]));
  265. //////////////////////
  266.                 if(IsValidDynamic3DTextLabel(POKER_FLIP[playerid]))
  267.                 {
  268.                     DestroyDynamic3DTextLabel(POKER_FLIP[playerid]);
  269.                 }
  270.                 new Float:plx_1, Float:ply_1,Float:plz_1;
  271.                 GetPlayerPos(playerid, plx_1,ply_1,plz_1);
  272.                 GetPosInFrontOfPlayer(playerid, plx_1, ply_1, GetDistance(playerid));
  273.                 ProxDetector(30.0, playerid, p_c_string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  274.                 format(p_c_string, sizeof(p_c_string),"{DAA520}%s`s cards:{FFFFFF} %s %s",sendername,GetCardName(poker_cards[playerid][0]),GetCardName(poker_cards[playerid][1]));
  275.                 POKER_FLIP[playerid] = CreateDynamic3DTextLabel(p_c_string, COLOR_WHITE, plx_1, ply_1, plz_1, 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 100.0);
  276.                 for(new i=0; i<MAX_PLAYERS; i++)
  277.                 {
  278.                     if(GetDistanceBetweenPlayers(playerid,i) < 5.0)
  279.                     {
  280.                         Streamer_Update(i);
  281.                     }
  282.                 }
  283.                 Streamer_Update(playerid);
  284. //////////////////////
  285.                 poker_cards[playerid][0] = 500;
  286.                 poker_cards[playerid][1] = 500;
  287.                 return 1;
  288.             }
  289.             else
  290.             {
  291.                 SendClientMessage(playerid, COLOR_GREY, "(( You don`t have poker cards ))");
  292.             }
  293.         }
  294.         return 1;
  295.     }
  296.     if(strcmp(cmd, "/givecards", true) == 0)
  297.     {
  298.         if(IsPlayerConnected(playerid))
  299.         {
  300.             tmp = strtok(cmdtext, idx);
  301.             if(!strlen(tmp))
  302.             {
  303.                 ShowPlayerDialog(playerid, 555, DIALOG_STYLE_MSGBOX, "INFORMATION","{C0C0C0}To deal the cards, use {FF8C00}/givecards [id]","Okay","");
  304.                 return 1;
  305.             }
  306.             giveplayerid = strval(tmp);
  307.             if(IsPlayerConnected(giveplayerid))
  308.             {
  309.                 if(GetDistanceBetweenPlayers(playerid,giveplayerid) < 5.0)
  310.                 {
  311.                     if(poker_cards[giveplayerid][0] != 500&&poker_cards[giveplayerid][1]!= 500)
  312.                     {
  313.                         SendClientMessage(playerid, COLOR_GREY, "(( This man already has two playing cards ))");
  314.                         return 1;
  315.                     }
  316.                     if(IsValidDynamic3DTextLabel(POKER_FLIP[giveplayerid]))
  317.                     {
  318.                         DestroyDynamic3DTextLabel(POKER_FLIP[giveplayerid]);
  319.                     }
  320.                     GetPlayerName(playerid, sendername, sizeof(sendername));
  321.                     GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  322.                     new p_c_string[256];
  323.                     if(giveplayerid==playerid)
  324.                     {
  325.                         format(string, sizeof(string), "* %s draws two cards in their hands", sendername);
  326.                         ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  327.                         new p_c_r1,
  328.                             p_c_r2;
  329.                         p_c_r1 = random(52);
  330.                         p_c_r2 = random(52);
  331.                         poker_cards[playerid][0] = p_c_r1;
  332.                         poker_cards[playerid][1] = p_c_r2;
  333.                         format(p_c_string,sizeof(p_c_string),"{FFFFFF}CARD: %s\nCARD: %s\nFLIP CARDS (show to all): {FF8C00}/flipcards{FFFFFF}\nLOOK AGAIN (this window): {FF8C00}/cards", GetCardName(poker_cards[playerid][0]),GetCardName(poker_cards[playerid][1]));
  334.                         ShowPlayerDialog(playerid, 555, DIALOG_STYLE_MSGBOX, "Poker. Your card",p_c_string, "Close","");
  335.                         return 1;
  336.                     }
  337.                     format(string, sizeof(string), "* %s passes two cards into the hands of %s ", sendername,giveplayer);
  338.                     ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  339.                     new p_c_r1,
  340.                         p_c_r2;
  341.                     p_c_r1 = random(52);
  342.                     p_c_r2 = random(52);
  343.                     poker_cards[giveplayerid][0] = p_c_r1;
  344.                     poker_cards[giveplayerid][1] = p_c_r2;
  345.                     format(p_c_string,sizeof(p_c_string),"{FFFFFF}CARD: %s\nCARD: %s\nFLIP CARDS (show to all): {FF8C00}/flipcards{FFFFFF}\nLOOK AGAIN (this window): {FF8C00}/cards", GetCardName(poker_cards[giveplayerid][0]),GetCardName(poker_cards[giveplayerid][1]));
  346.                     ShowPlayerDialog(giveplayerid, 555, DIALOG_STYLE_MSGBOX, "Poker. Your card",p_c_string, "Close","");
  347.                     return 1;
  348.                 }
  349.                 else
  350.                 {
  351.                     SendClientMessage(playerid, COLOR_GREY, "(( You are too far apart! ))");
  352.                     return 1;
  353.                 }
  354.             }
  355.         }
  356.         return 1;
  357.     }
  358.     return 0;
  359. }
  360.  
  361. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  362. {
  363.     return 1;
  364. }
  365.  
  366. public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  367. {
  368.     if(IsPlayerConnected(playerid))
  369.     {
  370.         new Float:posx, Float:posy, Float:posz;
  371.         new Float:oldposx, Float:oldposy, Float:oldposz;
  372.         new Float:tempposx, Float:tempposy, Float:tempposz;
  373.         GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  374.         //radi = 2.0; //Trigger Radius
  375.         for(new i = 0; i < MAX_PLAYERS; i++)
  376.         {
  377.             if(IsPlayerConnected(i))
  378.             {
  379.                     GetPlayerPos(i, posx, posy, posz);
  380.                     tempposx = (oldposx -posx);
  381.                     tempposy = (oldposy -posy);
  382.                     tempposz = (oldposz -posz);
  383.                     //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  384.                     new wp = GetPlayerVirtualWorld(playerid);
  385.                     new wi = GetPlayerVirtualWorld(i);
  386.                     if(((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)) && wp == wi)
  387.                     {
  388.                         SendClientMessage(i, col1, string);
  389.                     }
  390.                     else if(((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)) && wp == wi)
  391.                     {
  392.                         SendClientMessage(i, col2, string);
  393.                     }
  394.                     else if(((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)) && wp == wi)
  395.                     {
  396.                         SendClientMessage(i, col3, string);
  397.                     }
  398.                     else if(((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)) && wp == wi)
  399.                     {
  400.                         SendClientMessage(i, col4, string);
  401.                     }
  402.                     else if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)) && wp == wi)
  403.                     {
  404.                         SendClientMessage(i, col5, string);
  405.                     }
  406.             }
  407.         }
  408.     }//not connected
  409.     return 1;
  410. }
  411.  
  412. public Float:GetDistanceBetweenPlayers(p1,p2)
  413. {
  414.     new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  415.     if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
  416.     {
  417.         return -1.00;
  418.     }
  419.     GetPlayerPos(p1,x1,y1,z1);
  420.     GetPlayerPos(p2,x2,y2,z2);
  421.     return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  422. }
  423.  
  424. stock GetCardName(cardid)
  425. {
  426.     new name[64];
  427.     /*
  428.     S = Spade
  429.     D = Diamond
  430.     C = Clover
  431.     H = Heart
  432.     */
  433.     if(cardid == 0){name="{FFFFFF}2 {808080}S{FFFFFF}"; return name;}
  434.     if(cardid == 1){name="{FFFFFF}3 {808080}S{FFFFFF}"; return name;}
  435.     if(cardid == 2){name="{FFFFFF}4 {808080}S{FFFFFF}"; return name;}
  436.     if(cardid == 3){name="{FFFFFF}5 {808080}S{FFFFFF}"; return name;}
  437.     if(cardid == 4){name="{FFFFFF}6 {808080}S{FFFFFF}"; return name;}
  438.     if(cardid == 5){name="{FFFFFF}7 {808080}S{FFFFFF}"; return name;}
  439.     if(cardid == 6){name="{FFFFFF}8 {808080}S{FFFFFF}"; return name;}
  440.     if(cardid == 7){name="{FFFFFF}9 {808080}S{FFFFFF}"; return name;}
  441.     if(cardid == 8){name="{FFFFFF}10 {808080}S{FFFFFF}"; return name;}
  442.     if(cardid == 9){name="{FFFFFF}J {808080}S{FFFFFF}"; return name;}
  443.     if(cardid == 10){name="{FFFFFF}Q {808080}S{FFFFFF}"; return name;}
  444.     if(cardid == 11){name="{FFFFFF}K {808080}S{FFFFFF}"; return name;}
  445.     if(cardid == 12){name="{FFFFFF}T {808080}S{FFFFFF}"; return name;}
  446.     //
  447.     if(cardid == 13){name="{FFFFFF}2 {B22222}D{FFFFFF}"; return name;}
  448.     if(cardid == 14){name="{FFFFFF}3 {B22222}D{FFFFFF}"; return name;}
  449.     if(cardid == 15){name="{FFFFFF}4 {B22222}D{FFFFFF}"; return name;}
  450.     if(cardid == 16){name="{FFFFFF}5 {B22222}D{FFFFFF}"; return name;}
  451.     if(cardid == 17){name="{FFFFFF}6 {B22222}D{FFFFFF}"; return name;}
  452.     if(cardid == 18){name="{FFFFFF}7 {B22222}D{FFFFFF}"; return name;}
  453.     if(cardid == 19){name="{FFFFFF}8 {B22222}D{FFFFFF}"; return name;}
  454.     if(cardid == 20){name="{FFFFFF}9 {B22222}D{FFFFFF}"; return name;}
  455.     if(cardid == 21){name="{FFFFFF}10 {B22222}D{FFFFFF}"; return name;}
  456.     if(cardid == 22){name="{FFFFFF}J {B22222}D{FFFFFF}"; return name;}
  457.     if(cardid == 23){name="{FFFFFF}Q {B22222}D{FFFFFF}"; return name;}
  458.     if(cardid == 24){name="{FFFFFF}Ê {B22222}D{FFFFFF}"; return name;}
  459.     if(cardid == 25){name="{FFFFFF}Ò {B22222}D{FFFFFF}"; return name;}
  460.     //
  461.     if(cardid == 26){name="{FFFFFF}2 {808080}C{FFFFFF}"; return name;}
  462.     if(cardid == 27){name="{FFFFFF}3 {808080}C{FFFFFF}"; return name;}
  463.     if(cardid == 28){name="{FFFFFF}4 {808080}C{FFFFFF}"; return name;}
  464.     if(cardid == 29){name="{FFFFFF}5 {808080}C{FFFFFF}"; return name;}
  465.     if(cardid == 30){name="{FFFFFF}6 {808080}C{FFFFFF}"; return name;}
  466.     if(cardid == 31){name="{FFFFFF}7 {808080}C{FFFFFF}"; return name;}
  467.     if(cardid == 32){name="{FFFFFF}8 {808080}C{FFFFFF}"; return name;}
  468.     if(cardid == 33){name="{FFFFFF}9 {808080}C{FFFFFF}"; return name;}
  469.     if(cardid == 34){name="{FFFFFF}10 {808080}C{FFFFFF}"; return name;}
  470.     if(cardid == 35){name="{FFFFFF}J {808080}C{FFFFFF}"; return name;}
  471.     if(cardid == 36){name="{FFFFFF}Q {808080}C{FFFFFF}"; return name;}
  472.     if(cardid == 37){name="{FFFFFF}K {808080}C{FFFFFF}"; return name;}
  473.     if(cardid == 38){name="{FFFFFF}T {808080}C{FFFFFF}"; return name;}
  474.     //
  475.     if(cardid == 39){name="{FFFFFF}2 {B22222}H{FFFFFF}"; return name;}
  476.     if(cardid == 40){name="{FFFFFF}3 {B22222}H{FFFFFF}"; return name;}
  477.     if(cardid == 41){name="{FFFFFF}4 {B22222}H{FFFFFF}"; return name;}
  478.     if(cardid == 42){name="{FFFFFF}5 {B22222}H{FFFFFF}"; return name;}
  479.     if(cardid == 43){name="{FFFFFF}6 {B22222}H{FFFFFF}"; return name;}
  480.     if(cardid == 44){name="{FFFFFF}7 {B22222}H{FFFFFF}"; return name;}
  481.     if(cardid == 45){name="{FFFFFF}8 {B22222}H{FFFFFF}"; return name;}
  482.     if(cardid == 46){name="{FFFFFF}9 {B22222}H{FFFFFF}"; return name;}
  483.     if(cardid == 47){name="{FFFFFF}10 {B22222}H{FFFFFF}"; return name;}
  484.     if(cardid == 48){name="{FFFFFF}J {B22222}H{FFFFFF}"; return name;}
  485.     if(cardid == 49){name="{FFFFFF}Q {B22222}H{FFFFFF}"; return name;}
  486.     if(cardid == 50){name="{FFFFFF}K {B22222}H{FFFFFF}"; return name;}
  487.     if(cardid == 51){name="{FFFFFF}T {B22222}H{FFFFFF}"; return name;}
  488.     else{name="{B22222}Joker{FFFFFF}"; return name;}
  489. }
  490.  
  491. strtok(const string[], &index)
  492. {
  493.     new length = strlen(string);
  494.     while ((index < length) && (string[index] <= ' '))
  495.     {
  496.         index++;
  497.     }
  498.  
  499.     new offset = index;
  500.     new result[20];
  501.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  502.     {
  503.         result[index - offset] = string[index];
  504.         index++;
  505.     }
  506.     result[index - offset] = EOS;
  507.     return result;
  508. }
  509.  
  510. public Float:GetDistance(playerid)
  511. {
  512.         new Float:ping = 0.1, Float:dist;
  513.         dist = floatpower(ping, 0.2);
  514.         dist = dist*0.3;
  515.         dist = dist+0.3;
  516.         return dist;
  517. }
  518.  
  519. public Float:GetPosInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
  520. {
  521.         new Float:a;
  522.         GetPlayerPos(playerid, x, y, a);
  523.         if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
  524.         else GetPlayerFacingAngle(playerid, a);
  525.         x += (distance * floatsin(-a, degrees));
  526.         y += (distance * floatcos(-a, degrees));
  527.         return a;
  528. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement