Vice City Multiplayer

VC:MP 0.3 => mIRC/pawn Scripting => Topic started by: Synx on April 24, 2011, 09:26:22 pm

Title: !wep buy
Post by: Synx on April 24, 2011, 09:26:22 pm
Code: [Select]
}
else if (strcmp(cmd, "!wep", true) == 0) {
new wep;
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][Logged] != 1) SendClientMessage(playerid, COLOR_RED, "You need to login first!");
else if (!strlen(tmp)) SendClientMessage(playerid, COLOR_GREEN, "USAGE: !wep [WeaponName/ID]");
else {
wep = FindWepIDFromString(tmp);
GivePlayerMoney(playerid, -1000);
   if(wep != 33) SetPlayerWeapon(playerid,wep,9999999);
else SendClientMessage(playerid,COLOR_RED,"You can't get this weapon, sorry.");
}
return 1;
}

I need make when someone want get wep than him remove money // I try no good :D
and if player doesn't have money than he gets mesage "Sorry, you can't get this weapon, weapon costs:1000$ !"
Title: Re: !wep buy
Post by: sseebbyy on April 24, 2011, 10:03:19 pm
Code: [Select]
else if (strcmp(cmd, "!wep", true) == 0) {
new wep,pmon;
        pmon = GetPlayerMoney(playerid);
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][Logged] != 1) SendClientMessage(playerid, COLOR_RED, "You need to login first!");
else if (!strlen(tmp)) SendClientMessage(playerid, COLOR_GREEN, "USAGE: !wep [WeaponName/ID]");
else {
wep = FindWepIDFromString(tmp);
SetPlayerMoney(playerid,pmon - 1000);
   if(wep != 33) SetPlayerWeapon(playerid,wep,9999999);
else SendClientMessage(playerid,COLOR_RED,"You can't get this weapon, sorry.");
}
        if(pmon >= 1000) {
           SendClientMessage(playerid,COLOR_RED,"Sorry, you can't get this weapon, weapon costs:1000$ !");
         }
return 1;
}
Title: Re: !wep buy
Post by: Synx on April 24, 2011, 10:13:15 pm
Thanks :)
Title: Re: !wep buy
Post by: sseebbyy on April 24, 2011, 10:29:08 pm
Work ?
Title: Re: !wep buy
Post by: Synx on April 24, 2011, 11:15:47 pm
Quote
   }
   else if (strcmp(cmd, "!wep", true) == 0) {
   new wep,pmon;
        pmon = GetPlayerMoney(playerid);
   tmp = strtok(cmdtext, idx);
   if(PlayerInfo[playerid][Logged] != 1) SendClientMessage(playerid, COLOR_RED, "You need to login first!");
   else if (!strlen(tmp)) SendClientMessage(playerid, COLOR_GREEN, "USAGE: !wep [WeaponName/ID]");
   else {
      wep = FindWepIDFromString(tmp);
      SetPlayerMoney(playerid,pmon - 1000);
        if(wep != 33) SetPlayerWeapon(playerid,wep,9999999);
      else SendClientMessage(playerid,COLOR_RED,"You can't get this weapon, sorry.");
   }
        if(pmon == 0) {
           SendClientMessage(playerid,COLOR_RED,"Sorry, you can't get this weapon, weapon costs: 1000$ !");
         }

I fix this...
Quote
if(pmon == 0) {
but when player money is 0 he can still get weapons..
Title: Re: !wep buy
Post by: stormeus on April 24, 2011, 11:27:42 pm
Quote
   }
   else if (strcmp(cmd, "!wep", true) == 0) {
   new wep,pmon;
        pmon = GetPlayerMoney(playerid);
   tmp = strtok(cmdtext, idx);
   if(PlayerInfo[playerid][Logged] != 1) SendClientMessage(playerid, COLOR_RED, "You need to login first!");
   else if (!strlen(tmp)) SendClientMessage(playerid, COLOR_GREEN, "USAGE: !wep [WeaponName/ID]");
   else {
      wep = FindWepIDFromString(tmp);
      SetPlayerMoney(playerid,pmon - 1000);
        if(wep != 33) SetPlayerWeapon(playerid,wep,9999999);
      else SendClientMessage(playerid,COLOR_RED,"You can't get this weapon, sorry.");
   }
        if(pmon == 0) {
           SendClientMessage(playerid,COLOR_RED,"Sorry, you can't get this weapon, weapon costs: 1000$ !");
         }

I fix this...
Quote
if(pmon == 0) {
but when player money is 0 he can still get weapons..

That's because it doesn't check if the player's money is 0 first, but checks after it tries to give the player the weapon. By the way, if a weapon costs $1,000, you should check if the player has at least $1,000, and not if they have $0.

Under else if(!strlen(tmp)), use this:
Code: [Select]
else if(pmon < 1000) SendClientMessage(playerid, COLOR_RED, "Sorry, you can't get this weapon. Weapons cost $1,000!");

And then get rid of this:
Code: [Select]
if(pmon == 0){
    SendClientMessage(playerid,COLOR_RED,"Sorry, you can't get this weapon, weapon costs: 1000$ !");
}
Title: Re: !wep buy
Post by: Synx on April 24, 2011, 11:44:08 pm
Thanks, works!  ;)

-LOCK-