Szerző Téma: Szerveroldali Fegyver  (Megtekintve 1014 alkalommal)

Nem elérhető Ryoto

Szerveroldali Fegyver
« Dátum: 2020. március 09. - 18:19:13 »
0 Show voters
Hi, van egy fegyver rendszerem, de sehogy nem bírom megcsinálni hogy ne engedjen fegyvert cheatelni.
Ha valaki segít azt nagyon megköszönném.
Itt a fegyver rendszerem.



new aWeaponNames[][32] = {
{"Ököl"}, // 0
{"Boxer"}, // 1
{"Golf"}, // 2
{"Stick"}, // 3
{"Kés"}, // 4
{"Baseball"}, // 5
{"Shovel"}, // 6
{"Pool"}, // 7
{"Katana"}, // 8
{"Láncfurész"}, // 9
{"PurpleDildo"}, // 10
{"BigWhiteVibrator"}, // 11
{"MediumWhiteVibrator"}, // 12
{"SmallWhiteVibrator"}, // 13
{"Virág"}, // 14
{"Cane"}, // 15
{"Gránát"}, // 16
{"Teargas"}, // 17
{"Molotov"}, // 18
{" "}, // 19
{" "}, // 20
{" "}, // 21
{"Colt45"}, // 22
{"SilencedColt45"}, // 23
{"Deagle"}, // 24
{"Shotgun"}, // 25
{"Sawnoff"}, // 26
{"Combat"}, // 27
{"Uzi"}, // 28
{"MP5"}, // 29
{"AK47"}, // 30
{"M4"}, // 31
{"Tec9"}, // 32
{"Rifle"}, // 33
{"Sniper"}, // 34
{"Rocket"}, // 35
{"HRocket"}, // 36
{"Flamethrower"}, // 37
{"Minigun"}, // 38
{"Satchel"}, // 39
{"Detonator"}, // 40
{"Spray"}, // 41
{"Fire"}, // 42
{"Camera"}, // 43
{"NightVision"}, // 44
{"InfraredVision"}, // 45
{"Parachute"}, // 46
{"FakePistol"} // 47
};

enum ENUM_FEGYVER_SLOT
{
ID,
bool:ValidWeapon
}

new FegyverSlot[47][ENUM_FEGYVER_SLOT] =
{
{0, true}, // Wep ID: 0
{0, true}, // Wep ID: 1
{1, true}, // Wep ID: 2
{1, true}, // Wep ID: 3
{1, true}, // Wep ID: 4
{1, true}, // Wep ID: 5
{1, true}, // Wep ID: 6
{1, true}, // Wep ID: 7
{1, true}, // Wep ID: 8
{1, true}, // Wep ID: 9
{10, true}, // Wep ID: 10
{10, true}, // Wep ID: 11
{10, true}, // Wep ID: 12
{10, true}, // Wep ID: 13
{10, true}, // Wep ID: 14
{10, true}, // Wep ID: 15
{8, true}, // Wep ID: 16
{8, true}, // Wep ID: 17
{8, true}, // Wep ID: 18
{-1, false}, // Wep ID: 19
{-1, false}, // Wep ID: 20
{-1, false}, // Wep ID: 21
{2, true}, // Wep ID: 22
{2, true}, // Wep ID: 23
{2, true}, // Wep ID: 24
{3, true}, // Wep ID: 25
{3, true}, // Wep ID: 26
{3, true}, // Wep ID: 27
{4, true}, // Wep ID: 28
{4, true}, // Wep ID: 29
{5, true}, // Wep ID: 30
{5, true}, // Wep ID: 31
{4, true}, // Wep ID: 32
{6, true}, // Wep ID: 33
{6, true}, // Wep ID: 34
{7, true}, // Wep ID: 35
{7, true}, // Wep ID: 36
{7, true}, // Wep ID: 37
{7, true}, // Wep ID: 38
{8, true}, // Wep ID: 39
{12, true}, // Wep ID: 40
{9, true}, // Wep ID: 41
{9, true}, // Wep ID: 42
{9, true}, // Wep ID: 43
{11, true}, // Wep ID: 44
{11, true}, // Wep ID: 45
{11, true} // Wep ID: 46
};

CMD:fegyvereim(playerid, params[])
{
new i = -1, num = 0, fegyverek[128] = "Fegyverek:";
for(;++i < 13;)
{
if(PlayerInfo[playerid][pFegyverek][i] && PlayerInfo[playerid][pToltenyek][i])
{
format(fegyverek, sizeof(fegyverek), "%s [Slot:%d][ID:%d]%s(%d),", i, fegyverek, PlayerInfo[playerid][pFegyverek][i], aWeaponNames[PlayerInfo[playerid][pFegyverek][i]], PlayerInfo[playerid][pToltenyek][i]);
num++;
}
}

if(!num) format(fegyverek, sizeof(fegyverek), "%s Nincs", fegyverek);
else fegyverek[strlen(fegyverek) - 1] = '\0';

SendClientMessage(playerid, FEHER, fegyverek);
return 1;
}

CMD:fegyverad(playerid, params[])
{
new targetid, fegyverid, tolteny;
if(sscanf(params, "ddd", targetid, fegyverid, tolteny)) return SendClientMessage(playerid, PIROS, "/fegyverad [playerid] [fegyverID] [tolteny]");
if(fegyverid < 1 || fegyverid > 46) return SendClientMessage(playerid, PIROS, "Ilyen ID-vel rendelkező fegyver nem létezik!");
if(FegyverSlot[fegyverid][ValidWeapon] == false) return SendClientMessage(playerid, PIROS, "Ilyen ID-vel rendelkező fegyver nem létezik!");
new string[128];
format(string, sizeof(string), "[%d]%s-nek fegyvert adtál. Fegyver: %s, Töltény: %d", targetid, SimaNev(targetid), aWeaponNames[fegyverid], tolteny);
PlayerInfo[playerid][pFegyverek][FegyverSlot[fegyverid][ID]] = fegyverid;
PlayerInfo[playerid][pToltenyek][FegyverSlot[fegyverid][ID]] = tolteny;
SendClientMessage(playerid, PIROS, string);
return 1;
}

CMD:fegyverelo(playerid, params[])
{
new fegyverslot;
if(sscanf(params, "d", fegyverslot)) return SendClientMessage(playerid, PIROS, "/fegyverelo [fegyver slot]");
if(fegyverslot < 1 || fegyverslot > 12) return SendClientMessage(playerid, PIROS, "1-12 !!!!");
if(PlayerInfo[playerid][pFegyverek][fegyverslot] < 1 && PlayerInfo[playerid][pToltenyek][fegyverslot] < 1) return SendClientMessage(playerid, PIROS, "Ezen a sloton nincs fegyvered!");
GivePlayerWeapon(playerid, PlayerInfo[playerid][pFegyverek][fegyverslot], PlayerInfo[playerid][pToltenyek][fegyverslot]);
PlayerInfo[playerid][pFegyverElo] = PlayerInfo[playerid][pFegyverek][fegyverslot];
PlayerInfo[playerid][pFegyverSlotElo] = fegyverslot;
    SendClientMessage(playerid, PIROS, "Elővettél egy fegyvert!");
    cmd_me(playerid, "elővesz egy fegyvert.");
return 1;
}

CMD:fegyvereltesz(playerid, params[])
{
ResetPlayerWeapons(playerid);
PlayerInfo[playerid][pFegyverElo] = 0;
    SendClientMessage(playerid, PIROS, "Eltetted a fegyvered!");
    cmd_me(playerid, "elteszi a fegyverét.");
return 1;
}

Re:Szerveroldali Fegyver
« Válasz #1 Dátum: 2020. március 09. - 19:02:43 »
0 Show voters
Már megpróbáltad?
Fegyvernévre adj fegyvert, és !if-be oda írod hogy ID-re ne lehessen.(+csinálhatod töltényszámra is. Pl. ha 100+ golyót kap hozzá akkor bannolja azt cs)

Nem elérhető Ryoto

Re:Szerveroldali Fegyver
« Válasz #2 Dátum: 2020. március 09. - 19:14:55 »
0 Show voters
Már megpróbáltad?
Fegyvernévre adj fegyvert, és !if-be oda írod hogy ID-re ne lehessen.(+csinálhatod töltényszámra is. Pl. ha 100+ golyót kap hozzá akkor bannolja azt cs)

Ezt hogyan kezdjem el? :S

Re:Szerveroldali Fegyver
« Válasz #3 Dátum: 2020. március 09. - 19:55:27 »
0 Show voters

Nem elérhető Ryoto

Re:Szerveroldali Fegyver
« Válasz #4 Dátum: 2020. március 09. - 20:52:46 »
0 Show voters
Köszi, azt hiszem készen is van. Nem használtam fel ezeket, de legalább működik. :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal