[Help] /givegun bug!
#1

Hi,my command (/givegun) is bug.
please help me find bugs in command.


pawn Код:
if (strcmp(cmd, "/givegun", true) == 0)
    {
      if(IsPlayerConnected(playerid))
      {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /givegun [playerid/PartOfName] [Ammo]");
                SendClientMessage(playerid, COLOR_RED, "* µйН§а»з№»Ч№·Хи¶ЧННВЩиа·иТ№Сй№№Р¤ГСє");
                return 1;
            }
            if(GetPlayerWeapon(playerid) == 0)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "НТЗШё·ХиЁРКи§гЛйјЩйНЧи№ µйН§а»з№НТЗШё·Хи¶ЧННВЩиг№БЧНа·иТ№Сй№ !");
                return 1;
            }
            if(GetPlayerWeapon(playerid) != 24 && GetPlayerWeapon(playerid) != 29 && GetPlayerWeapon(playerid) != 30)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "дБиКТБТГ¶гЛйНТЗШё№ХибЎијЩйНЧи№дґй (НТЗШё·ХигЛйдґй Deagle,MP5,AK47)");
                return 1;
            }
            new gun[20];
            new ammo;
            tmp = strtok(cmdtext, idx);
            giveplayer = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            ammo = strval(tmp);
            if(ammo > 1 || ammo < 999) { SendClientMessage(playerid, COLOR_GREY, " ¤ШіµйН§гКиЁУ№З№ЎГРКШ№НВиТ§№йНВ 1 №Сґ бµидБиаЎФ№ 999 №Сґ!"); return 1; }
            if(GetPlayerAmmo(playerid) >= ammo)
            {
                if (ProxDetectorS(5.0, playerid, giveplayerid))
                {
                if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "дБиКТБТГ¶К觻׹гЛйµСЗаН§дґй !"); return 1; }
                    if(GetPlayerWeapon(playerid) == 24) { gun = "Deagle"; }
                    if(GetPlayerWeapon(playerid) == 29) { gun = "MP5"; }
                    if(GetPlayerWeapon(playerid) == 30) { gun = "AK47"; }
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, sizeof(string), " ¤ШігЛй»Ч№ %s(player: %d), ЁУ№З№ЎГРКШ№ $%d", giveplayer,giveplayerid, ammo);
                    SendClientMessage(playerid, COLOR_GRAD1, string);
                    format(string, sizeof(string), " ¤ШідґйГСє»Ч№ %s бЕРдґйЎГРКШ№ %d ЁТЎ %s (player: %d)", gun, ammo, sendername, playerid);
                    SendClientMessage(giveplayerid, COLOR_GRAD1, string);
                    format(string, sizeof(string), "%s дґйК觻׹ %s гЛйЎСє %s ѕГйНБЎСєЎГРКШ№ЁУ№З№Л№Ци§", sendername, gun, giveplayer);
                    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    SetPlayerAmmo(playerid, GetPlayerWeapon(playerid),-ammo);
                    SafeGivePlayerWeapon(giveplayerid, GetPlayerWeapon(playerid), ammo);
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "јЩйаЕ蹤№№ХидБидґйНВЩигЎЕйµСЗ¤Ші !");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "¤ШіБХЁУ№З№ЎГРКШ№дБиѕН !");
                return 1;
            }
        }
        return 1;
    }

thank
chenza
Reply
#2

ก็ง่ายๆอะเชน นายมีสคริปของ LRAP ไหมละ ที่คนอังกฤษแจก SQL อะนายดู ใน /give gun ของมัน มันจะให้กระสุนหมด นายปรับตามนี้นะครับ

Reply
#3

นายคงเข้าใจน่ะครับเชน


pawn Код:
else if(strcmp(x_nr,"gun",true) == 0)
            {
              new ammo;
              tmp = strtok(cmdtext, idx);
              if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /give gun [playerid/PartOfName] [Ammo]");
                    SendClientMessage(playerid, COLOR_RED, "* ต้องเป็นปืนที่ถืออยู่เท่านั้นนะครับ");
                    return 1;
                }
                giveplayerid = ReturnUser(tmp);
                tmp = strtok(cmdtext, idx);
                ammo = strval(tmp);
                if(ammo < 1 || ammo > 999) { SendClientMessage(playerid, COLOR_GREY, " คุณต้องใส่จำนวนกระสุนอย่างน้อย 1 นัด แต่ไม่เกิน 999 นัด!"); return 1; }
                if(IsPlayerConnected(giveplayerid))
                {
                  if(giveplayerid != INVALID_PLAYER_ID)
                  {
                        if(ProxDetectorS(5.0, playerid, giveplayerid))
                        {
                          new gunID = GetPlayerWeapon(playerid);
                    new gunAmmo = GetPlayerAmmo(playerid);

                          GetPlayerName(playerid, sendername, sizeof(sendername));
                          GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

                          if(gunID != 0 && gunAmmo != 0)
                          {
                            new gun[20];
                            if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "ไม่สามารถส่งปืนให้ตัวเองได้ !"); return 1; }
                                if(GetPlayerWeapon(playerid) == 24) { gun = "Deagle"; }
                                if(GetPlayerWeapon(playerid) == 29) { gun = "MP5"; }
                                if(GetPlayerWeapon(playerid) == 30) { gun = "AK47"; }
                                if(GetPlayerWeapon(playerid) == 31) { gun = "M4"; }
                                if(GetPlayerWeapon(playerid) == 34) { gun = "Rifle"; }
                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                format(string, sizeof(string), " คุณให้ปืน %s(player: %d), จำนวนกระสุน %d", giveplayer,giveplayerid, ammo);
                                SendClientMessage(playerid, COLOR_GRAD1, string);
                                format(string, sizeof(string), " คุณได้รับปืน %s และได้กระสุน %d จาก %s (player: %d)", gun, ammo, sendername, playerid);
                                SendClientMessage(giveplayerid, COLOR_GRAD1, string);
                                format(string, sizeof(string), "%s ได้ส่งปืน %s ให้กับ %s พร้อมกับกระสุนจำนวนหนึ่ง", sendername, gun, giveplayer);
                                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                                //SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), GetPlayerAmmo(playerid)-ammo);
                                SafeGivePlayerWeapon(playerid, GetPlayerWeapon(playerid), -ammo);
                                SafeGivePlayerWeapon(giveplayerid, GetPlayerWeapon(playerid), ammo);
                            }
                            else
                            {
                            SendClientMessage(playerid, COLOR_GREY, " คุณไม่มีอาวุธนั้นอะครับ !");
                            return 1;
                          }
                        }
                        else
                        {
                          SendClientMessage(playerid, COLOR_GREY, " ไม่มีผู้เล่นนี้อยู่ในเกมส์ ! ");
                          return 1;
                        }
                  }
                }
            }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)