Szerző Téma: /map1 /map2  (Megtekintve 690 alkalommal)

/map1 /map2
« Dátum: 2012. december 09. - 11:08:45 »
0 Show voters
Üdv, ismét hozzátok fordulok mert sehogy sem tudom megcsinálni ezt:
 
    if (strcmp(cmdtext, \"/map1\", true) == 0)
    {
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"admin cmd!\");
        SpawnPlayer(TEAM_1);
        SpawnPlayer(TEAM_2);
        SpawnPlayer(TEAM_3);
        SetPlayerPos(TEAM_1,-1331.5000,-40.4000,14.1484);
        SetPlayerPos(TEAM_2,-1190.0000,-181.9000,14.1484);
        SetPlayerPos(TEAM_3,-1228.7000,-78.4000,27.3713);
        return 1;
    }
    if (strcmp(cmdtext, \"/map2\", true) == 0)
    {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"admin cmd!\");
        SpawnPlayer(TEAM_1);
        SpawnPlayer(TEAM_2);
        SpawnPlayer(TEAM_3);
        SetPlayerPos(TEAM_1,2794.0728,-2417.4148,13.6321);
        SetPlayerPos(TEAM_2,2647.9607,-2505.0376,13.4922);
        SetPlayerPos(TEAM_3,2730.9927,-2450.9575,17.5937);
        return 1;
    }

 
Itt minden jó mûködik átteszi a csapatokat a megadott helyre, de viszont, ha valaki meghal, akkor átteszi arra a pozícióra ami az AddPlayerClassban van.


Nekem annyi kellene, pl ha MAP1-en vagyunk, akkor a megadott pozíción spawnoljanak halál után a csapatok, ha viszont átrakom MAP2-re onnantól MAP2-õn spawnoljanak a csapatok.

Olyat lehet csinálni, hogy ha a /map1 parancsot végrehajtottam, akkor a felcsatlakozó játékos csapatválasztás után oda kerül a csapat megadott pozíciójára és nem az AddPlayerClassban megadottra? (Ugyan így a másiknál is, ha map2 parancsot végrehajtom akkor csatlakozás után a map2 pozícióin spawnolnak a csapatok.

/map1 /map2
« Válasz #1 Dátum: 2012. december 09. - 11:29:37 »
+1 Show voters
Nem jó az egész.
Mondok egy példát.
TEAM_1 = 1, TEAM_2 = 2, TEAM_3 = 3;
Ha az admin használja ezt a parancsot, akkor csak az 1 id Játékost, a 2 és a 3 id Játékost teleportálja oda.
Nem értem hogy pontosabban mit akarsz csinálni evel a paranccsal.
De valahogy így csináld:
 

new gTeam[MAX_PLAYERS];
new map;
#define TEAM_1 1
#define TEAM_2 2
#define TEAM_3 3

 
meg csináljuk a csapatválasztást. ha az 1 es skint választja, gTeam[playerid] = TEAM_1 és így tovább.
 

if (strcmp(cmdtext, \"/map1\", true) == 0)
    {
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"admin cmd!\");
        map = 1;
        for(new i; i <= MAX_PLAYERS; i++) {
        if(gTeam == TEAM_1) return SetPlayerPos(i,-1331.5000,-40.4000,14.1484);
        if(gTeam == TEAM_2) return SetPlayerPos(i,-1190.0000,-181.9000,14.1484);
        if(gTeam == TEAM_3) return SetPlayerPos(i,-1228.7000,-78.4000,27.3713);
        }
        return 1;
    }
if (strcmp(cmdtext, \"/map2\", true) == 0)
    {
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"admin cmd!\");
        map = 2;
        for(new i; i <= MAX_PLAYERS; i++) {
        if(gTeam == TEAM_1) return SetPlayerPos(i,2794.0728,-2417.4148,13.6321);
        if(gTeam == TEAM_2) return SetPlayerPos(i,2647.9607,-2505.0376,13.4922);
        if(gTeam == TEAM_3) return SetPlayerPos(i,2730.9927,-2450.9575,17.5937);
        }
        return 1;
    }

 
A további részét nem értem, mit akarsz csinálni vele, viszont ha azt akarod hogy meghalÁs után ismét újra oda teleportáljon vissza.
 

public OnPlayerSpawn(playerid) {
if(map == 1 && gTeam[playerid] == TEAM_1) return SetPlayerPos(playerid,-1331.5000,-40.4000,14.1484);
if(map == 1 && gTeam[playerid] == TEAM_2) return SetPlayerPos(playerid,-1190.0000,-181.9000,14.1484);
if(map == 1 && gTeam[playerid] == TEAM_3) return SetPlayerPos(playerid,-1228.7000,-78.4000,27.3713);
if(map == 2 && gTeam[playerid] == TEAM_1) return SetPlayerPos(playerid,2794.0728,-2417.4148,13.6321);
if(map == 2 && gTeam[playerid] == TEAM_2) return SetPlayerPos(playerid,2647.9607,-2505.0376,13.4922);
if(map == 2 && gTeam[playerid] == TEAM_3) return SetPlayerPos(playerid,2730.9927,-2450.9575,17.5937);
      return 1;
}

/map1 /map2
« Válasz #2 Dátum: 2012. december 09. - 11:46:25 »
0 Show voters
Igen pontosan ez kell nekem. Köszönöm :) +!

Azt még megtudod, ha átváltottam pl map2-re akkor a felcsatlakozó játékos is onnan indul?


ugyan ezt a másiknál is csak fordítva :)


Dupla hozzászólás automatikusan összefûzve. ( 2012. december 09. - 13:26:57 )

Egy HIBA viszont van benne, hogy a csapatokban lévõ playereket nem teszi át, ha beírom a parancsot, csak azt teszi át aki beírja..

Valami megoldást rá?
« Utoljára szerkesztve: 2012. december 09. - 13:26:57 írta £αωчεεя »

Nem elérhető lusta19

  • 9084
  • £u$taÐi$znó
    • Profil megtekintése
/map1 /map2
« Válasz #3 Dátum: 2012. december 09. - 14:47:44 »
0 Show voters
Zárok, Felesleges 2 témát nyitni ugyan annak.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal