Never Geplaatst: 14 september 2010 Rapport Geplaatst: 14 september 2010 (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: 14 september 2010 door Never Reageren
Morph1 Geplaatst: 14 september 2010 Rapport Geplaatst: 14 september 2010 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 Reageren
Never Geplaatst: 14 september 2010 Auteur Rapport Geplaatst: 14 september 2010 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 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! Reageren
Morph1 Geplaatst: 14 september 2010 Rapport Geplaatst: 14 september 2010 (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: 14 september 2010 door Morph1 Reageren
Never Geplaatst: 14 september 2010 Auteur Rapport Geplaatst: 14 september 2010 (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: 14 september 2010 door Never Reageren
Morph1 Geplaatst: 14 september 2010 Rapport Geplaatst: 14 september 2010 heb je het ook in je gamemode geprobeert? zo te zien probeer jij het in een filterscript te douwen:P Reageren
Never Geplaatst: 15 september 2010 Auteur Rapport Geplaatst: 15 september 2010 (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: 15 september 2010 door Never Reageren
Never Geplaatst: 16 september 2010 Auteur Rapport Geplaatst: 16 september 2010 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! Reageren
Morph1 Geplaatst: 17 september 2010 Rapport Geplaatst: 17 september 2010 (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: 17 september 2010 door Morph1 Reageren
Never Geplaatst: 18 september 2010 Auteur Rapport Geplaatst: 18 september 2010 (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: 18 september 2010 door Never Reageren
Morph1 Geplaatst: 18 september 2010 Rapport Geplaatst: 18 september 2010 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 Reageren
Never Geplaatst: 19 september 2010 Auteur Rapport Geplaatst: 19 september 2010 (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: 19 september 2010 door Never Reageren
Morph1 Geplaatst: 19 september 2010 Rapport Geplaatst: 19 september 2010 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 Reageren
Big Boss Geplaatst: 19 september 2010 Rapport Geplaatst: 19 september 2010 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]); Reageren
Never Geplaatst: 20 september 2010 Auteur Rapport Geplaatst: 20 september 2010 (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: 20 september 2010 door Never Reageren
Recommended Posts
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.