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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Ni€|{ - 2011. augusztus 17. - 12:54:41

Cím: Kills
Írta: Ni€|{ - 2011. augusztus 17. - 12:54:41
Azt szeretném megkérdezni, hogyan lehet megállapítani mennyi killnél tart.. Vagyis nem kijelzést , hanem mondjuk: if [pKills]== 3{.... ezt hogy lehetne megoldani?
Cím: Kills
Írta: palesz_88 - 2011. augusztus 17. - 13:08:17
Idézetet írta: Ni€|{ date=1313578481\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10551\" data-ipsquote-contentclass=\"forums_Topic
Azt szeretném megkérdezni, hogyan lehet megállapítani mennyi killnél tart.. Vagyis nem kijelzést , hanem mondjuk: if [pKills]== 3{.... ezt hogy lehetne megoldani?
 
Valahova a szkript elejére, a többi változóhoz:
 
new pKills[MAX_PLAYERS];

 
OnPlayerDeath alá:
 
pKills[playerid]++;
Cím: Kills
Írta: Ni€|{ - 2011. augusztus 17. - 13:20:39
Igen ez a része nekem is megvan idáig ment , Csak az kéne, hogy OnplayerCommandhoz valami ilyesmi. If pkills= 10 { //ide a cucc
Cím: Kills
Írta: palesz_88 - 2011. augusztus 17. - 13:21:46
Idézetet írta: Ni€|{ date=1313580039\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10551\" data-ipsquote-contentclass=\"forums_Topic
Igen ez a része nekem is megvan idáig ment , Csak az kéne, hogy OnplayerCommandhoz valami ilyesmi. If pkills= 10 { //ide a cucc
 
?
 
if(pKills[playerid] == 2)
Cím: Kills
Írta: jana4 - 2011. augusztus 17. - 13:52:17
[pawn]
if(!strcmp(\"/getmykills\", cmdtext, true))
{
        new string[128];
        format(string, 128, \"Ennyit öltél: %i\", pKills[playerid]);
        SendClientMessage(playerid, 0xFFFF00AA, string);
        return 1;
}
if(!strcmp(\"/extrafelvesz\", cmdtext, true))
{
        if(pKills[playerid] >= 5) // csak akkor kapja meg az extrát (pénzt) ha az öléseinek száma 5 vagy több
        {
               GivePlayerMoney(playerid, 5000);
               SendClientMessage(playerid, 0xFFFF00AA, \"Extra megszerezve. ($5000)\");
        }
        else SendClientMessage(playerid, 0xFF0000AA, \"Nem öltél eleget! (Min. 5)\");
        return 1;
}
[/pawn]
...és ez PVarral szebben megoldható.
Kérek egy tetszikelést, ha mûködik. :)
Cím: Kills
Írta: Ni€|{ - 2011. augusztus 17. - 14:09:46
Tetején:
[pawn]enum pInfo
{
    pKills,
pDeaths
};
[/pawn]
Ez miben külömbözik ettõl?
[pawn]new pKills[MAX_PLAYERS];[/pawn]
OnplayerDeath alatt:
[pawn]PlayerInfo[playerid][pDeaths]++;
PlayerInfo[killerid][pKills]++; [/pawn]
Aztán ez:
[pawn]if(!strcmp(\"/extrafelvesz\", cmdtext, true))
{
        if(pKills[playerid] >= 5) // csak akkor kapja meg az extrát (pénzt) ha az öléseinek száma 5 vagy több
        {
               GivePlayerMoney(playerid, 5000);
               SendClientMessage(playerid, 0xFFFF00AA, \"Extra megszerezve. ($5000)\");
        }
        else SendClientMessage(playerid, 0xFF0000AA, \"Nem öltél eleget! (Min. 5)\");
        return 1;
}[/pawn]
És az eredmény:
C:\\Program Files\\Rockstar Games\\GTA San Andreas\\SAMP Szerver\\gamemodes\\test.pwn(186) : error 028: invalid subscript (not an array or too many subscripts): \"pKills\"
C:\\Program Files\\Rockstar Games\\GTA San Andreas\\SAMP Szerver\\gamemodes\\test.pwn(186) : warning 215: expression has no effect
C:\\Program Files\\Rockstar Games\\GTA San Andreas\\SAMP Szerver\\gamemodes\\test.pwn(186) : error 001: expected token: \";\", but found \"]\"
C:\\Program Files\\Rockstar Games\\GTA San Andreas\\SAMP Szerver\\gamemodes\\test.pwn(186) : error 029: invalid expression, assumed zero
C:\\Program Files\\Rockstar Games\\GTA San Andreas\\SAMP Szerver\\gamemodes\\test.pwn(186) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
4 Errors.
Cím: Kills
Írta: jana4 - 2011. augusztus 17. - 14:35:06
A hiba nálad van.
Cseréld ki ezt:
[pawn]if(pKills[playerid] >= 5)[/pawn]
erre:
[pawn]if(PlayerInfo[playerid][pKills] >= 5)[/pawn]
...és azt hiszem így kész is. Ha még adódna probléma, írj.
Cím: Kills
Írta: Ni€|{ - 2011. augusztus 17. - 16:18:27
Szuper.. így jó öszi. Egy kérdés. Az elõzõ nem elfogadott forma vagy miért nem jó?
Cím: Kills
Írta: jana4 - 2011. augusztus 17. - 16:41:39
Az is jó.... De ne nagyon menjünk bele, a lényeg, hogy mûködik. ;)
Cím: Kills
Írta: Ni€|{ - 2011. augusztus 17. - 17:15:21
[pawn]if(!strcmp(\"/uav\", cmdtext, true))
{
        if(PlayerInfo[playerid][pKills] >= 3) //Csak akkor ha 3 vagy több kill
        {
         new uav[128];
         new sendername[MAX_PLAYER_NAME];
         ShowPlayerMarkers(1);
         ShowNameTags(1);
         format(uav, sizeof uav, \"%s aktiválta az UAV-ot!\", sendername);
            SendClientMessageToAll(COLOR_GREEN, uav);
        }
        else SendClientMessage(playerid, COLOR_GREEN, \"3 ölés szükséges!\");
        return 1;
}[/pawn]
Itt 3 kill után beírom a /uav-t erre semmi nem történik.. Se map ikon se name tag se nem írha h ki aktiválta. ötlet?
Cím: Kills
Írta: jana4 - 2011. augusztus 17. - 18:16:20
Idézetet írta: Ni€|{ date=1313594121\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10551\" data-ipsquote-contentclass=\"forums_Topic
[pawn]if(!strcmp(\"/uav\", cmdtext, true))
{
        if(PlayerInfo[playerid][pKills] >= 3) //Csak akkor ha 3 vagy több kill
        {
         new uav[128];
         new sendername[MAX_PLAYER_NAME];
         ShowPlayerMarkers(1);
         ShowNameTags(1);
         format(uav, sizeof uav, \"%s aktiválta az UAV-ot!\", sendername);
            SendClientMessageToAll(COLOR_GREEN, uav);
        }
        else SendClientMessage(playerid, COLOR_GREEN, \"3 ölés szükséges!\");
        return 1;
}[/pawn]
Itt 3 kill után beírom a /uav-t erre semmi nem történik.. Se map ikon se name tag se nem írha h ki aktiválta. ötlet?
 
[pawn]if(!strcmp(\"/uav\", cmdtext, true))
{
        if(PlayerInfo[playerid][pKills] >= 3) //Csak akkor ha 3 vagy több kill
        {
         new uav[128];
         new sendername[24];
         ShowPlayerMarkers(1);
         ShowNameTags(1);
                                                        GetPlayerName(playerid, sendername, 24);
         format(uav, sizeof uav, \"%s aktiválta az UAV-ot!\", sendername);
            SendClientMessageToAll(COLOR_GREEN, uav);
        }
        else SendClientMessage(playerid, COLOR_GREEN, \"3 ölés szükséges!\");
        return 1;
}[/pawn]
Így jó kell legyen! ;)
Egyéb: Marker módok ----> http://wiki.sa-mp.com/wiki/MarkerModes

Névtagoknál (nametag) 1 - bekapcs. (mutat)  || 0 - kikapcs. (elrejt)
Cím: Kills
Írta: Ni€|{ - 2011. augusztus 17. - 20:32:43
Köszönöm 34x re is :P Nemsokára kipróbálom .
eDIT: Sajna nemjó.. Se mapmarker se nametag.
Valaki esetleg?

Dupla hozzászólás automatikusan összefûzve. ( 2011. augusztus 18. - 13:04:11 )

*up* Sajnos még nem oldódott meg,