Jump to content

OnPlayerDeath


Recommended Posts

Geplaatst: (bewerkt)

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
Geplaatst:

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:

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: (bewerkt)

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: (bewerkt)

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: (bewerkt)

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:

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: (bewerkt)

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: (bewerkt)

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:

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: (bewerkt)

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:

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

Geplaatst:

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: (bewerkt)

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

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...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...