GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Sidd - 2012. Augusztus 14. - 14:55:32

Cím: Fegyver adás parancs nem mûködik
Írta: Sidd - 2012. Augusztus 14. - 14:55:32
Két apró hiba lépett fel a tegnapi \"fegyver adós\" paranccsal, ami a következõ:

Írtam egy 3. Team-et a módba az úgynevezett, REF azaz TEAM_SPECTATOR.


Nos ezzel az a hiba, h neki is ad fegyvert mikor beírom pl.: /uzi.


A másik hiba pedig, ugye nem az
AddPlayerClass-ben adtam meg a fegyvert, hanem simán GivePlayerWeapon(playerid,26,2700); és így sajnos a SPECTATOR-nak is ad fegyvert mikor annak, nem kell fegyver.

Tehát annyit kérnék, h ne adjon fegyvert a SPECTATOR-nak ha beírom pl.: /uzi és ne legyen nála fegyver. Fegyver csak a TEAM_1 és a TEAM_ALL-nak kell lennie.

 
if (strcmp(cmdtext, \"/sawnoff\", true) == 0)
    {
        SendClientMessageToAll(0x375FFFFF,\"Egy Administrator adott, Sawnoff Shotgun-t a két harcoló Team-nek!\");
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"Nem vagy {6EF83C}admin{FF0000}!\");
        ResetPlayerWeapons(TEAM_1);
        ResetPlayerWeapons(TEAM_ALL);
        GivePlayerWeapon(TEAM_1,26,2700);
        GivePlayerWeapon(TEAM_ALL,26,2700);
        fegyo[TEAM_1] = 26;
        fegyo[TEAM_ALL] = 26;
        return 1;
    }
    if (strcmp(cmdtext, \"/m4\", true) == 0)
    {
        SendClientMessageToAll(0x375FFFFF,\"Egy Administrator adott, M4-et a két harcoló Team-nek!\");
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"Nem vagy {6EF83C}admin{FF0000}!\");
        ResetPlayerWeapons(TEAM_1);
        ResetPlayerWeapons(TEAM_ALL);
        GivePlayerWeapon(TEAM_1,31,2500);
        GivePlayerWeapon(TEAM_ALL,31,2500);
        fegyo[TEAM_1] = 31;
        fegyo[TEAM_ALL] = 31;
        return 1;
    }
    if (strcmp(cmdtext, \"/uzi\", true) == 0)
    {
        SendClientMessageToAll(0x375FFFFF,\"Egy Administrator adott, Tec9-et a két harcoló Team-nek!\");
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"Nem vagy {6EF83C}admin{FF0000}!\");
        ResetPlayerWeapons(TEAM_1);
        ResetPlayerWeapons(TEAM_ALL);
        GivePlayerWeapon(TEAM_1,32,2500);
        GivePlayerWeapon(TEAM_ALL,32,2500);
        fegyo[TEAM_1] = 32;
        fegyo[TEAM_ALL] = 32;
        return 1;
    }
    if (strcmp(cmdtext, \"/combat\", true) == 0)
    {
SendClientMessageToAll(0x375FFFFF,\"Egy Administrator adott, Combat Shotgun-t a két harcoló Team-nek!\");
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"Nem vagy {6EF83C}admin{FF0000}!\");
        ResetPlayerWeapons(TEAM_1);
        ResetPlayerWeapons(TEAM_ALL);
        GivePlayerWeapon(TEAM_1,27,2500);
        GivePlayerWeapon(TEAM_ALL,27,2500);
        fegyo[TEAM_1] = 27;
        fegyo[TEAM_ALL] = 27;
        return 1;
    }
    if (strcmp(cmdtext, \"/deagle\", true) == 0)
    {
        SendClientMessageToAll(0x375FFFFF,\"Egy Administrator adott, Desert Deagle-t a két harcoló Team-nek!\");
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"Nem vagy {6EF83C}admin{FF0000}!\");
        ResetPlayerWeapons(TEAM_1);
        ResetPlayerWeapons(TEAM_ALL);
        GivePlayerWeapon(TEAM_1,24,2500);
        GivePlayerWeapon(TEAM_ALL,24,2500);
        fegyo[TEAM_1] = 24;
        fegyo[TEAM_ALL] = 24;
        return 1;
    }

 
[mod]Máskor témára utaló nevet adj meg.[/mod]
Cím: Fegyver adás parancs nem mûködik
Írta: TengeriMalac - 2012. Augusztus 14. - 15:03:13
gondolom gTeamot használsz
 
for(new i = 0; i < GetMaxPlayers(); i++) if(gTeam == TEAM_1) GivePlayerWeapon(i, weaponid, ammo);
for(new i = 0; i < GetMaxPlayers(); i++) if(gTeam == TEAM_ALL) GivePlayerWeapon(i, weaponid, ammo);
Cím: Fegyver adás parancs nem mûködik
Írta: Sidd - 2012. Augusztus 14. - 15:15:16
Igen gTeamot használok. Ez így jó mert nincs fegyvere a SPECTATOR-nak. Már csak annyi kellene, ha beírom \"/uzi\" vagy egy másik fegyvert, akkor a SPECTATOR ne kapja meg azt a fegyvert csak a TEAM_1 és a TEAM_ALL.
Cím: Fegyver adás parancs nem mûködik
Írta: skyLine - 2012. Augusztus 14. - 15:36:35
    if (strcmp(cmdtext, \"/uzi\", true) == 0)
    {
        SendClientMessageToAll(0x375FFFFF,\"Egy Administrator adott, Tec9-et a két harcoló Team-nek!\");
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"Nem vagy {6EF83C}admin{FF0000}!\");
        if(gTeam == TEAM_1){
        ResetPlayerWeapons(TEAM_1);
        GivePlayerWeapon(TEAM_1,32,2500);
        fegyo[TEAM_1] = 32;
        } else if(gTeam == TEAM_ALL)
        ResetPlayerWeapons(TEAM_ALL);
        GivePlayerWeapon(TEAM_ALL,32,2500);
        fegyo[TEAM_ALL] = 32;
        }
        return 1;
    }

 
Talán így jó, de ha nem akkor írj.
Cím: Fegyver adás parancs nem mûködik
Írta: Sidd - 2012. Augusztus 14. - 15:48:14
Nem mûködik. Elég sok error-t ír.
 
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(906) : error 017: undefined symbol \"i\"
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(910) : error 017: undefined symbol \"i\"
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(918) : error 010: invalid function or declaration
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(921) : error 010: invalid function or declaration
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(928) : error 010: invalid function or declaration
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(931) : error 010: invalid function or declaration
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(934) : error 010: invalid function or declaration
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(941) : error 010: invalid function or declaration
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(945) : error 010: invalid function or declaration
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(947) : error 010: invalid function or declaration
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(950) : error 010: invalid function or declaration
C:\\Documents and Settings\\admin\\Asztal\\War.pwn(956) : error 010: invalid function or declaration
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
12 Errors.
Cím: Fegyver adás parancs nem mûködik
Írta: Rupert - 2012. Augusztus 14. - 16:05:16
if (strcmp(cmdtext, \"/uzi\", true) == 0)
    {
        SendClientMessageToAll(0x375FFFFF,\"Egy Administrator adott, Tec9-et a két harcoló Team-nek!\");
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"Nem vagy {6EF83C}admin{FF0000}!\");
        ResetPlayerWeapons(TEAM_1);
        ResetPlayerWeapons(TEAM_ALL);
        GivePlayerWeapon(TEAM_1,32,2500);
        GivePlayerWeapon(TEAM_ALL,32,2500);
        fegyo[TEAM_1] = 32;
        fegyo[TEAM_ALL] = 32;
        ResetPlayerWeapons(TEAM_SPECTATOR); // Egyszerûen csak elvesszük a parancs végén a TEAM SPECTATOR játékosoktól a fegyvereket.
        fegyo[TEAM_SPECTATOR] = 0;
        return 1;
    }
Cím: Fegyver adás parancs nem mûködik
Írta: Sidd - 2012. Augusztus 14. - 16:12:44
Megpróbáltam, de semmi változás ugyan úgy kap a SPECTATOR is fegyvert.
Cím: Fegyver adás parancs nem mûködik
Írta: Rupert - 2012. Augusztus 14. - 16:15:06
Javítva.
Cím: Fegyver adás parancs nem mûködik
Írta: Sidd - 2012. Augusztus 14. - 16:39:01
Nem tudom, h mi lehet a probléma, de még mindig ad a Spectatornak fegyvert.  :confused: Valaki segítsen :D
Cím: Fegyver adás parancs nem mûködik
Írta: skyLine - 2012. Augusztus 14. - 18:50:03
if (strcmp(cmdtext, \"/uzi\", true) == 0)
    {
        SendClientMessageToAll(0x375FFFFF,\"Egy Administrator adott, Tec9-et a két harcoló Team-nek!\");
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"Nem vagy {6EF83C}admin{FF0000}!\");
        ResetPlayerWeapons(TEAM_1);
        ResetPlayerWeapons(TEAM_ALL);
        GivePlayerWeapon(TEAM_1,32,2500);
        GivePlayerWeapon(TEAM_ALL,32,2500);
        fegyo[TEAM_1] = 32;
        fegyo[TEAM_ALL] = 32;
        GivePlayerWeapon(TEAM_SPECTATOR,32,-2500); //Más ötletem nincs :DD
        return 1;
    }

 
E: Code-t elfelejtettem xD
E2: Amúgy ez a \'fegyo\' mit takar magába?
Cím: Fegyver adás parancs nem mûködik
Írta: Sidd - 2012. Augusztus 14. - 19:12:17
Így is ad :|
a következõt takarja:
 
new fegyo[MAX_PLAYERS];

 

if(fegyo[playerid] != 0) return GivePlayerWeapon(playerid,fegyo[playerid],2500);

 
és a többi függvény pedig a parancsokból áll.
Cím: Fegyver adás parancs nem mûködik
Írta: skyLine - 2012. Augusztus 14. - 20:02:00
Szerintem ne is rakd bele a \'fegyo\'-t
Cím: Fegyver adás parancs nem mûködik
Írta: Sidd - 2012. Augusztus 14. - 20:25:25
Nem jó , rossz így is :(

Dupla hozzászólás automatikusan összefûzve. ( 2012. Augusztus 14. - 23:34:04 )

Valaki esetleg még valami ötlet? :confused:
Cím: Fegyver adás parancs nem mûködik
Írta: TheMesziErik - 2012. Augusztus 15. - 08:33:52
Felsorolnád az összes csapatot?
Cím: Fegyver adás parancs nem mûködik
Írta: Sidd - 2012. Augusztus 15. - 13:24:40
#define TEAM_1 0
#define TEAM_ALL 1
#define TEAM_SPECTATOR 2

 
Ezek a csapatok vannak.

Dupla hozzászólás automatikusan összefûzve. ( 2012. Augusztus 15. - 18:38:34 )

for(new i = 0; i < GetMaxPlayers(); i++) if(gTeam == TEAM_SPECTATOR) GivePlayerWeapon(i, 32, -2700);

 
Ezzel a sorral megtudtam oldani, h ne legyen fegyvere amikor beírom, h /uzi.

De viszont olyan bugok vannak, ha valaki a parancs beírása után lép spectator team-be akkor máris kap uzi-t. Vagy ha meghal a spectator akkor is kap uzi-t.


Most már csak annyi kellene, h ezek után se legyen fegyvere.
Cím: Fegyver adás parancs nem mûködik
Írta: skyLine - 2012. Augusztus 15. - 20:00:21
Elõször is
OnPlayerSpawn alá:
 
   if(gTeam[playerid] == TEAM_SPECTATOR) {
        SetPlayerHealth(playerid,1000000);
}
Cím: Fegyver adás parancs nem mûködik
Írta: Sidd - 2012. Augusztus 15. - 21:13:10
Fasza, így jó lenne, de ugye van /kill parancs ha beírja és meghal akkor szintén van fegyvere :). A /kill parancs, pedig kell ha valaki csapatot szeretne váltani :D