Csapat számláló

Indította speti9603, 2013. október 28. - 21:33:30

Előző téma - Következő téma

speti9603

Helló!
Az volna hogy valaki tudna segíteni nekem abba, hogy hogyan tudom azt megcsinálni h úgymond csapatszámláló legyen? Vagyis ha elfogy az egyik csapat összes tagja akkor a másik nyer, és a halottak meg spec módba menjenek? Légyszíves segítsetek!!
Mille grazie!

Dfoglalo

Ha a játékos kiesik, levonsz X változóból egyet. Ha az a változó eléri a 0-t, akkor a másik csapat nyer, és fordítva.
Spechez meg:
http://wiki.sa-mp.com/wiki/PlayerSpectatePlayer\" rel=\"external nofollow\">http://wiki.sa-mp.com/wiki/PlayerSpectatePlayer
http://wiki.sa-mp.com/wiki/PlayerSpectateVehicle\" rel=\"external nofollow\">http://wiki.sa-mp.com/wiki/PlayerSpectateVehicle
http://wiki.sa-mp.com/wiki/TogglePlayerSpectating\" rel=\"external nofollow\">http://wiki.sa-mp.com/wiki/TogglePlayerSpectating

speti9603

jó és most ezt vmi tök alapul el tudnád mondani vagyis inkább leírni pls? :)

Dfoglalo

Ez szerintem elég alap volt :D
Mondjuk van 2 db változó, Zold, és Kek. Van 10 játékos, 5v5-ben játszanak, ölik egymást. Aki zöld, az megkapja a ZoldCsapat[playerid] = 1-et, aki pedig kék, az a KekCsapat[playerid] = 1-et. Ha egy játékos meghal a Zold csapatból, azaz OnPlayerDeath alatt if(ZoldCsapat[playerid] == 1) teljesül, akkor a Zold-bõl levonsz egyet, tehát Zold--;, és így megy ez a kékeknél is, mindez egészen addig, amíg vagy a Zold, vagy a Kek nem lesz egyenlõ nullával. Ha a Zold = 0-val (if(Zold == 0)), a kék nyer, ha a Kek = vele, akkor a kékektõl halt meg minden játékos, és a zöld csapat nyer.
Na, talán így már érhetõ/érhetõbb a dolog?? :D

speti9603

na most már vmennyire kapis, köszi megpróbálom :)

Kovacs_Richard

#define TEAM_FEGYOR   (0)
#define TEAM_SITTES (1)
new Team[2];
public OnPlayerSpawn(playerid)
{
Team[GetPlayerTeam(playerid)]++;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
Team[GetPlayerTeam(playerid)]--;
//
TogglePlayerSpectating(playerid, 1);
   PlayerSpectatePlayer(playerid, killerid);
return 1;
}
public OnPlayerDisconnect(playerid)
{
   Team[GetPlayerTeam(playerid)]--;
return 1;
}
public OnPlayerRequestClass(playerid,classid)
{
// itt állítsd a teamet vagy Spawnnál skin vagy eltárolt infó alapján
if(0 <= classid <= 10)
{ SetPlayerTeam(playerid,TEAM_FEGYOR); }
else
{ SetPlayerTeam(playerid,TEAM_SITTES); }
return 1;
}

 
nesze egy példa aztán ne zaklassál skypeon mert megmondalak :D
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

speti9603

és amikor mindenki meghal akk hova rakjam be a resizõ parancsot?

Kovacs_Richard

a -- -okhoz egy if-et utána HA 0 a csapat akkor vége a körnek
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

speti9603

lécci le tudnád írni h hogy? :D

Dfoglalo

public OnPlayerDeath(playerid, killerid, reason)
{
       Team[GetPlayerTeam(playerid)]--;
       //
       TogglePlayerSpectating(playerid, 1);
       PlayerSpectatePlayer(playerid, killerid);
       if(Team[GetPlayerTeam(playerid)] == 0)
       {
       // Ide írd a \"resizõ parancsot\"
       }
       return 1;
}

speti9603

okés köszi megy a + minden hozzászólásnak, nem teszteltem de majd vkit csak találok :)