Jump to content
Geplaatst:
comment_1723774

Hallo Allemaal,

ik heb een /buy command gemaakt, daar kan je Wapens kopen maar als je dood gaat verlies je alles wat je hebt gekocht :( .

en ik begrijp niet hoe je dat Moet Scripten :( , ik heb wat dingen geprobeerd bij OnPlayerDeath maar het Lukte Niet :( dus ik hoop dat iemand mij kan helpen.

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/buy", cmdtext, true, 10) == 0)
{
       ShowMenuForPlayer(Weapons,playerid);
TogglePlayerControllable(playerid,0);
}
return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
   if(GetPlayerMenu(playerid) == Weapons)
{
   switch(row)
   {
       case 0: //Weaponset 1
       {
       if (GetPlayerMoney(playerid) > 799)
          {
		GivePlayerWeapon(playerid,22, 3000); // colt
		GivePlayerMoney(playerid, -800);
		SendClientMessage(playerid,COLOR_GREEN,"You bought Colt for 800$");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
          }
     	else
 	   	   {
		SendClientMessage(playerid,COLOR_RED,"You dont have enough money!");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
	   }
       }
       case 1: //WeaponSet2
       {
       if (GetPlayerMoney(playerid) > 4499)
	   {
		GivePlayerWeapon(playerid,24, 3000); // Deagle
		GivePlayerMoney(playerid, -4500);
		SendClientMessage(playerid,COLOR_GREEN,"You bought Desert eagle for 4500$");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
          }
          	else
 	   	   {
		SendClientMessage(playerid,COLOR_RED,"You dont have enough money!");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
	   }

	}
       case 2: //WeaponSet3
       {
       if (GetPlayerMoney(playerid) > 7499)
	   {
		GivePlayerWeapon(playerid,33, 3000); // County Rifle
		GivePlayerMoney(playerid, -7500);
		SendClientMessage(playerid,COLOR_GREEN,"You bought County Rifle for 7500$");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
          }
           else
 	   	   {
		SendClientMessage(playerid,COLOR_RED,"You dont have enough money!");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
	   }

       }
       case 3: //WeaponSet4
       {
	if (GetPlayerMoney(playerid) > 9999)
	   {
		GivePlayerWeapon(playerid,29, 3000); // MP5
		GivePlayerMoney(playerid, -10000);
		SendClientMessage(playerid,COLOR_GREEN,"You bought MP5 for 10000$");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
          }
           else
 	   	   {
		SendClientMessage(playerid,COLOR_RED,"You dont have enough money!");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
	   }
       }
       case 4: //WeaponSet5
       {
	if (GetPlayerMoney(playerid) > 14999)
	   {
		GivePlayerWeapon(playerid,34, 3000); // Sniper
		GivePlayerMoney(playerid, -15000);
		SendClientMessage(playerid,COLOR_GREEN,"You bought Sniper Rifle for 15000$");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
          }
           else
 	   	   {
		SendClientMessage(playerid,COLOR_RED,"You dont have enough money!");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
	   }
       }
        case 5: //WeaponSet6
       {
	if (GetPlayerMoney(playerid) > 16999)
	   {
		GivePlayerWeapon(playerid,26, 3000); // Shawn of shotgun
		GivePlayerMoney(playerid, -17000);
		SendClientMessage(playerid,COLOR_GREEN,"You bought Sawn-off shotgun for 17000$");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
          }
           else
 	   	   {
		SendClientMessage(playerid,COLOR_RED,"You dont have enough money!");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
	   }
       }
       case 6: //WeaponSet7
       {
	if (GetPlayerMoney(playerid) > 19999)
	   {
		GivePlayerWeapon(playerid,30, 3000); // AK47
		GivePlayerMoney(playerid, -20000);
		SendClientMessage(playerid,COLOR_GREEN,"You bought AK47 for 20000$");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
          }
           else
 	   	   {
		SendClientMessage(playerid,COLOR_RED,"You dont have enough money!");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
	   }
       }
       case 7: //WeaponSet8
       {
	if (GetPlayerMoney(playerid) > 19999)
	   {
		GivePlayerWeapon(playerid,31, 3000); // M4
		GivePlayerMoney(playerid, -20000);
		SendClientMessage(playerid,COLOR_GREEN,"You bought M4 for 20000$");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
          }
           else
 	   	   {
		SendClientMessage(playerid,COLOR_RED,"You dont have enough money!");
		TogglePlayerControllable(playerid, 1);
   		HideMenuForPlayer(Weapons, playerid);
	   }
       }

public OnPlayerExitedMenu(playerid)
{
     TogglePlayerControllable(playerid,1);
     return 1;
}

alvast heel erg bedankt :)

Bewerkt: door Never

Featured Replies

Geplaatst:
comment_1723795

public OnPlayerDeath(playerid, killerid, reason)
{
   new Guns[200][2][13];
   for(new x = 0; x < 13; x++) GetPlayerWeaponData(playerid, x, Guns[playerid][0][x], Guns[playerid][1][x]);
   for(new x = 0; x < 13; x++) GivePlayerWeapon(playerid, Guns[playerid][0][x], Guns[playerid][1][x]);
   return 1;
}

here you are :bier:

Geplaatst:
  • Auteur
comment_1723807

public OnPlayerDeath(playerid, killerid, reason)
{
   new Guns[200][2][13];
   for(new x = 0; x < 13; x++) GetPlayerWeaponData(playerid, x, Guns[playerid][0][x], Guns[playerid][1][x]);
   for(new x = 0; x < 13; x++) GivePlayerWeapon(playerid, Guns[playerid][0][x], Guns[playerid][1][x]);
   return 1;
}

here you are :bier:

Bedankt voor je help,

maar ik heb een error gekregen :

GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524) : warning 219: local variable "x" shadows a variable at a preceding level
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524) : warning 213: tag mismatch
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524) : warning 206: redundant test: constant expression is non-zero
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524) : error 022: must be lvalue (non-constant)
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524) : warning 213: tag mismatch
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524) : warning 213: tag mismatch
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524) : warning 213: tag mismatch
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524) : warning 213: tag mismatch
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524) : warning 213: tag mismatch
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524) : warning 204: symbol is assigned a value that is never used: "x"
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524 -- 525) : warning 225: unreachable code
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(524 -- 525) : warning 219: local variable "x" shadows a variable at a preceding level
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(525) : warning 213: tag mismatch
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(525) : warning 206: redundant test: constant expression is non-zero
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(525) : error 022: must be lvalue (non-constant)
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(525) : warning 213: tag mismatch
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(525) : warning 213: tag mismatch
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(525) : warning 213: tag mismatch
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(525) : warning 213: tag mismatch
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(525) : warning 204: symbol is assigned a value that is never used: "x"
GTA San Andreas\0.3bSamp\filterscripts\Weapons.pwn(525 -- 526) : warning 225: unreachable code
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

en als ik Vragen mag kan je mij uitleggen wat dit doet: new Guns[200][2][13]; <---- en wat betekenen de cijfers

Bedankt!

Geplaatst:
comment_1723823

geen idee XD

heb het hier vandaan

maar als je het gewoon in een gamemode zet werkt het wel, want bij mij werkt het wel allemaal, en dit

new Guns[200][2][13];

moet je maar helemaal bovenaan zetten(heb ik ook).

ik heb dit in een gamemode gezet en hij gaf geen errors

Bewerkt: door Morph1

Geplaatst:
  • Auteur
comment_1723860

geen idee XD

heb het hier vandaan

maar als je het gewoon in een gamemode zet werkt het wel, want bij mij werkt het wel allemaal, en dit

new Guns[200][2][13];

moet je maar helemaal bovenaan zetten(heb ik ook).

ik heb dit in een gamemode gezet en hij gaf geen errors

Oh Oke Bedankt :)

EDIT: heb ook boven aan gezet werkt nog steeds niet :(

Bewerkt: door Never

Geplaatst:
  • Auteur
comment_1724086

heb je het ook in je gamemode geprobeert?

zo te zien probeer jij het in een filterscript te douwen:P

ok ik zal het in Gamemode Proberen :)

EDIT : ok ik heb nu 0 errors Nu ga ik het effe testen in Mij Server :)

EDIT : Nope het werkt niet :( (ik heb dat "new Guns....." boven aan gezet maar lukt nog steeds niet :( ) maar Bedankt voor je hulp ;)

Bewerkt: door Never

Geplaatst:
  • Auteur
comment_1724767

Ik denk dat ik dit Nu weet hoe het moet maar dan moet ik iets maken met een Save weapon ding dat die de Wapens saved van mensen. maar ik weet niet hoe dat moet :S

Kan iemand mij helpen om iets te maken in een Scriptfiles Folder : Bijv. de Folder heet Saved Weapons en daar in zit de Users met Saved Weapons.

Ik hoop dat iemand mij kan helpen :)

Alvast Bedankt! ;)

Geplaatst:
comment_1724988

let op, ik ben niet goed met strings en variables, dat moet ik nog effe een keer leren maar ik weet volgens mij wel ongeveer hoe het moet,

je moet ergens zorgen dat de wapens worden opgeslagen [GetPlayerWeaponData(variables ofzo:P)] in een variable en die kan je dan weer bij onplayerspawn iets met GivePlayerWeapon(variables) doen.

ik hoop dat je er wat mee kan want meer kan ik je helaas niet helpen.

Bewerkt: door Morph1

Geplaatst:
  • Auteur
comment_1725563

let op, ik ben niet goed met strings en variables, dat moet ik nog effe een keer leren maar ik weet volgens mij wel ongeveer hoe het moet,

je moet ergens zorgen dat de wapens worden opgeslagen [GetPlayerWeaponData(variables ofzo:P)] in een variable en die kan je dan weer bij onplayerspawn iets met GivePlayerWeapon(variables) doen.

ik hoop dat je er wat mee kan want meer kan ik je helaas niet helpen.

Oke Bedankt voor je hulp :)

maar je moet eerst een SAV-bestand maken toch?

dat je dan al die Users hebt en dan dat je het wapens kunt opslaan?

Maar nog steeds weet ik niet hoe dat moet :s

Bewerkt: door Never

Geplaatst:
comment_1725602

Oke Bedankt voor je hulp :)

maar je moet eerst een SAV-bestand maken toch?

dat je dan al die Users hebt en dan dat je het wapens kunt opslaan?

Maar nog steeds weet ik niet hoe dat moet :s

dat SAV-bestand is geloof ik alleen nodig als je wilt dat als een speler uitlogt met bijv een AK met 420 kogels dat hij dat dan weer krijgt als hij inlogt

Geplaatst:
  • Auteur
comment_1726363

Oke Bedankt voor je hulp :)

maar je moet eerst een SAV-bestand maken toch?

dat je dan al die Users hebt en dan dat je het wapens kunt opslaan?

Maar nog steeds weet ik niet hoe dat moet :s

dat SAV-bestand is geloof ik alleen nodig als je wilt dat als een speler uitlogt met bijv een AK met 420 kogels dat hij dat dan weer krijgt als hij inlogt

Oke en Ik heb het Gefixed dit is de Script:

//Top of Gamemode
new sweapon, sammo;
new sweapon2, sammo2;
new sweapon3, sammo3;
new sweapon4, sammo4;
new sweapon5, sammo5;
new sweapon6, sammo6;
new sweapon7, sammo7;
new sweapon8, sammo8;
new sweapon9, sammo9;
new sweapon10, sammo10;

//OnplayerDeath
public OnPlayerDeath(playerid, killerid, reason)
{

GetPlayerWeaponData(playerid,1,sweapon,sammo);
GetPlayerWeaponData(playerid,2,sweapon2,sammo2);
GetPlayerWeaponData(playerid,3,sweapon3,sammo3);
GetPlayerWeaponData(playerid,4,sweapon4,sammo4);
GetPlayerWeaponData(playerid,5,sweapon5,sammo5);
GetPlayerWeaponData(playerid,6,sweapon6,sammo6);
GetPlayerWeaponData(playerid,7,sweapon7,sammo7);
GetPlayerWeaponData(playerid,8,sweapon8,sammo8);
GetPlayerWeaponData(playerid,9,sweapon9,sammo9);
GetPlayerWeaponData(playerid,10,sweapon10,sammo10);
SetTimerEx("GetDeathGuns", 4000, false, "d", playerid);
return 1;
}

//Helemaal onderaan je Gamemode
forward GetDeathGuns(playerid);
public GetDeathGuns(playerid)
{
ResetPlayerWeapons(playerid);
   	GivePlayerWeapon(playerid,sweapon,sammo);
   	GivePlayerWeapon(playerid,sweapon2,sammo2);
   	GivePlayerWeapon(playerid,sweapon3,sammo3);
   	GivePlayerWeapon(playerid,sweapon4,sammo4);
   	GivePlayerWeapon(playerid,sweapon5,sammo5);
   	GivePlayerWeapon(playerid,sweapon6,sammo6);
   	GivePlayerWeapon(playerid,sweapon7,sammo7);
   	GivePlayerWeapon(playerid,sweapon8,sammo8);
   	GivePlayerWeapon(playerid,sweapon9,sammo9);
   	GivePlayerWeapon(playerid,sweapon10,sammo10);
return 1;
}

En nog heeeeel erg Bedankt voor je hulp :)

Bewerkt: door Never

Geplaatst:
comment_1726431

Correctie: Er zijn 13 weapon slots (0-12).

En persoonlijk zou ik de wapens op deze manier opvragen:

// Bovenaan
new
   WeaponData[MAX_PLAYERS][13][2];

// OnPlayerDeath
for(new i; i < 13; i++)
   GetPlayerWeaponData(playerid, i, WeaponData[playerid][i][0], WeaponData[playerid][i][1]);

// OnPlayerSpawn
for(new i; i < 13; i++)
   GivePlayerWeapon(playerid, WeaponData[playerid][i][0], WeaponData[playerid][i][1]);

Geplaatst:
  • Auteur
comment_1726498

even een tip: een speler kan maximaal 14 wapens bij zig dragen, als een speler dat heeft zou hij in jou script dus 4 van zijn wapens verliezen

Oke Bedankt voor de tip ;)

Bewerkt: door Never

Geplaatst:
  • Auteur
comment_1726499

Correctie: Er zijn 13 weapon slots (0-12).

En persoonlijk zou ik de wapens op deze manier opvragen:

// Bovenaan
new
   WeaponData[MAX_PLAYERS][13][2];

// OnPlayerDeath
for(new i; i < 13; i++)
   GetPlayerWeaponData(playerid, i, WeaponData[playerid][i][0], WeaponData[playerid][i][1]);

// OnPlayerSpawn
for(new i; i < 13; i++)
   GivePlayerWeapon(playerid, WeaponData[playerid][i][0], WeaponData[playerid][i][1]);

Oke bedankt,

maar ik had ook eerst op Onplayerspawn gedaan maar toen ik een wapen Kocht en ik ging dood dan kreeg iedereen wie connect die wapen wat ik had gekocht dus heb ik met een timer gemaakt.

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.