Jump to content
  • 0

pomoc Ammo systém


Marshall_

Dotaz

Zdravím,

 

Vytvoril som si ammunation systém a mám tam trošku problém. Ak si kúpim zbraň, napíše mi to Server Closed the Conenction Tu je kód:

 

// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#define SCERVENA 0xFF0000FF
#define ZELENA 0x55D57BFF
#pragma unused ret_memcpy
#include <a_samp>
#include <dini>
#include <dudb>
#include <dutils>

new AmmoVchod;
new AmmoVychod;
new AmmoNakup;
new AmmoDialog;
new Float: Armour;

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" Blank Filterscript by your name here");
	print("--------------------------------------\n");
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

#else

main()
{
	print("\n----------------------------------");
	print(" Blank Gamemode by your name here");
	print("----------------------------------\n");
}

#endif

public OnGameModeInit()
{
    DisableInteriorEnterExits();
	UsePlayerPedAnims();
	SetGameModeText("Blank Script");
	AddPlayerClass(0, 1349.5918,-1281.9243,13.3828,280.1707, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(1, 1349.5918,-1281.9243,13.3828,280.1707, 0, 0, 0, 0, 0, 0);
	AmmoVchod = CreatePickup(1318, 23, 1368.3568,-1278.9354,13.5469, -1);
	AmmoVychod = CreatePickup(1318, 23, 286.1490,-40.6444,1001.5156, -1);
	AmmoNakup = CreatePickup(2061, 23, 296.5277,-38.1524,1001.5156, -1);
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 1349.5918,-1281.9243,13.3828);
	SetPlayerCameraPos(playerid, 1352.8612,-1283.1831,13.3828);
	SetPlayerCameraLookAt(playerid, 1349.5918,-1281.9243,13.3828);
	return 1;
}

public OnPlayerConnect(playerid)
{
    SetPlayerMapIcon(playerid, 3, 1365.5172,-1278.8087,13.5469, 6, 0);
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	return 1;
}

public OnPlayerSpawn(playerid)
{
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (!strcmp("/peniaze", cmdtext))
	{
  		GivePlayerMoney(playerid, 2000);
		return 1;
	}
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == AmmoVchod)
	{
		SetPlayerPos(playerid,286.0562,-38.7073,1001.5156);
    	SetPlayerInterior(playerid, 1);
    	SetPlayerFacingAngle(playerid, 358.6731);
    	return 1;
	}
	if(pickupid == AmmoVychod)
	{
	    SetPlayerPos(playerid, 1364.6307,-1279.0601,13.5469);
	    SetPlayerInterior(playerid, 0);
	    SetPlayerFacingAngle(playerid, 90.0);
	}
	if(pickupid == AmmoNakup)
	{
		ShowPlayerDialog(playerid, AmmoDialog, DIALOG_STYLE_LIST, "Ammunation", "Boxer\nObušok\nBaseballova pálka\nKatana\nNôž\n9mm\n9mm s tlmičom\nDesert Eagle\nTec-9\nMicro SMG\nBrokovnica\nUpilovaná brokovnica\nBojová brokovnica\nGranáty\nVybušné nálože\nBrnenie\nMP5\nPuška\nOdstreľovacia puška\nM4\nAK47\nPadák","Kupit","Koniec");
		SetPlayerPos(playerid, 296.4861,-36.3734,1001.5156);
	}
	else
	{
	
	}
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == AmmoDialog)
		{
		    if(response == 1)
			{
			    switch(listitem)
				{
					case 0:
					{
						if(GetPlayerMoney(playerid) < 150)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else if(GetPlayerWeapon(playerid) != 1)
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Boxer!");
							GivePlayerMoney(playerid, -150);
							GivePlayerWeapon(playerid, 1, 1);
						}
						
						if(GetPlayerWeapon(playerid) == 1)
		 				{
							SendClientMessage(playerid, SCERVENA, "Túto zbraň už máš!");
						}
					}
					case 1:
					{
                        if(GetPlayerMoney(playerid) < 200)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else if(GetPlayerWeapon(playerid) != 3)
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Obušok!");
							GivePlayerMoney(playerid, -200);
							GivePlayerWeapon(playerid, 3, 1);
						}

						if(GetPlayerWeapon(playerid) == 3)
		 				{
							SendClientMessage(playerid, SCERVENA, "Túto zbraň už máš!");
						}
					}
					case 2:
					{
					    if(GetPlayerMoney(playerid) < 100)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else if(GetPlayerWeapon(playerid) != 5)
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Baseballovú pálku!");
							GivePlayerMoney(playerid, -100);
							GivePlayerWeapon(playerid, 5, 1);
						}

						if(GetPlayerWeapon(playerid) == 5)
		 				{
							SendClientMessage(playerid, SCERVENA, "Túto zbraň už máš!");
						}
	 				}
					case 3:
					{
					    if(GetPlayerMoney(playerid) < 250)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else if(GetPlayerWeapon(playerid) != 8)
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Katanu!");
							GivePlayerMoney(playerid, -250);
							GivePlayerWeapon(playerid, 8, 1);
						}

						if(GetPlayerWeapon(playerid) == 8)
		 				{
							SendClientMessage(playerid, SCERVENA, "Túto zbraň už máš!");
      					}
					}
					case 4:
					{
					    if(GetPlayerMoney(playerid) < 1550)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else if(GetPlayerWeapon(playerid) != 4)
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Nôž!");
							GivePlayerMoney(playerid, -1550);
							GivePlayerWeapon(playerid, 4, 1);
						}

						if(GetPlayerWeapon(playerid) == 4)
		 				{
							SendClientMessage(playerid, SCERVENA, "Túto zbraň už máš!");
      					}
					}
					case 5:
					{
					    if(GetPlayerMoney(playerid) < 320)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili 9mm pištoľ!");
							GivePlayerMoney(playerid, -320);
							GivePlayerWeapon(playerid, 22, 30);
						}
					}
					case 6:
					{
					    if(GetPlayerMoney(playerid) < 400)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili 9mm pištoľ s tlmičom!");
							GivePlayerMoney(playerid, -400);
							GivePlayerWeapon(playerid, 23, 25);
						}
					}
					case 7:
					{
					    if(GetPlayerMoney(playerid) < 450)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili pištoľ Desert Eagle!");
							GivePlayerMoney(playerid, -450);
							GivePlayerWeapon(playerid, 24, 21);
						}
					}
    				case 8:
					{
					    if(GetPlayerMoney(playerid) < 600)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Tec-9!");
							GivePlayerMoney(playerid, -600);
							GivePlayerWeapon(playerid, 32, 30);
						}
					}
					case 9:
					{
					    if(GetPlayerMoney(playerid) < 600)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Micro SMG!");
							GivePlayerMoney(playerid, -600);
							GivePlayerWeapon(playerid, 28, 25);
						}
					}
					case 10:
					{
					    if(GetPlayerMoney(playerid) < 750)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Brokovnicu!");
							GivePlayerMoney(playerid, -750);
							GivePlayerWeapon(playerid, 25, 15);
						}
					}
					case 11:
					{
					    if(GetPlayerMoney(playerid) < 800)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Upilovanú brokovnicu!");
							GivePlayerMoney(playerid, -800);
							GivePlayerWeapon(playerid, 26, 16);
						}
					}
					case 12:
					{
					    if(GetPlayerMoney(playerid) < 900)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Bojovú brokovnicu!");
							GivePlayerMoney(playerid, -900);
							GivePlayerWeapon(playerid, 27, 15);
						}
					}
					case 13:
					{
					    if(GetPlayerMoney(playerid) < 500)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Granáty!");
							GivePlayerMoney(playerid, -500);
							GivePlayerWeapon(playerid, 16, 3);
						}
					}
					case 14:
					{
					    if(GetPlayerMoney(playerid) < 800)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Výbušné nálože!");
							GivePlayerMoney(playerid, -800);
							GivePlayerWeapon(playerid, 39, 5);
						}
					}
					case 15:
					{
					    if(GetPlayerMoney(playerid) < 200)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else if(GetPlayerArmour(playerid, Armour) != 100.0)
						{
						    if(Armour < 100.0)
								{
									SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Brnenie!");
									GivePlayerMoney(playerid, -200);
									SetPlayerArmour(playerid, 100.0);
								}
							else if(GetPlayerArmour(playerid, Armour))
								{
								if(Armour == 100.0)
									{
						    	SendClientMessage(playerid, SCERVENA, "Nemôžete si kúpiť viac Brnenia!");
						    		}
								}
						}
						
					}
					case 16:
					{
					    if(GetPlayerMoney(playerid) < 1000)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili MP5!");
							GivePlayerMoney(playerid, -1000);
							GivePlayerWeapon(playerid, 29, 30);
						}
					}
					case 17:
					{
					    if(GetPlayerMoney(playerid) < 1200)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Pušku!");
							GivePlayerMoney(playerid, -1200);
							GivePlayerWeapon(playerid, 33, 15);
						}
					}
					case 18:
					{
					    if(GetPlayerMoney(playerid) < 1500)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Odstreľovaciu pušku!");
							GivePlayerMoney(playerid, -1500);
							GivePlayerWeapon(playerid, 34, 10);
						}
					}
					case 19:
					{
					    if(GetPlayerMoney(playerid) < 1100)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili M4!");
							GivePlayerMoney(playerid, -1100);
							GivePlayerWeapon(playerid, 31, 20);
						}
					}
					case 20:
					{
					    if(GetPlayerMoney(playerid) < 900)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili AK47!");
							GivePlayerMoney(playerid, -900);
							GivePlayerWeapon(playerid, 30, 20);
						}
					}
					case 21:
					{
					    if(GetPlayerMoney(playerid) < 120)
						{
					 		SendClientMessage(playerid, SCERVENA, "Nedostatok financií!");
						}
						else if(GetPlayerWeapon(playerid) != 46)
						{
							SendClientMessage(playerid, ZELENA, "Úspešne ste si zakúpili Padák!");
							GivePlayerMoney(playerid, -120);
							GivePlayerWeapon(playerid, 46, 20);
						}
						if(GetPlayerWeapon(playerid) == 46)
						{
						    SendClientMessage(playerid, SCERVENA, "Už jeden padák vlastníte!");
						}
					}

				}
				
			}
			    
		}
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

 

Link to comment
Share on other sites

4 odpovědí na tuto otázku

Recommended Posts

  • 1

Problém som vyriešil sám. Mal chybu som mal v tomto: 

new AmmoDialog;

Správne to malo byť takto a to spôsobovalo to, že si kod plietol dialogy a hádzalo mi tam kicky z dôvodu register a login systému.

 

#define AmmoDialog;

ďakujem za ochotu :)

Edited by Marshall_
Link to comment
Share on other sites

  • 0

Pravdepodobne máš na servery nejaký Anti Cheat, ktorý pri vyvolaní funkcií GivePlayerWeapon alebo GivePlayerMoney kickuje hráča, musíš použiť Anti Cheat Funkcie, aby ta to nevyhodilo.

Edited by EvoLve.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...