Szerző Téma: Gyors segítség kéne  (Megtekintve 1912 alkalommal)

herban

  • Vendég
Gyors segítség kéne
« Dátum: 2010. december 20. - 20:28:48 »
0 Show voters
Hello
Ez elég bonyolult hiba lenne..
Íme:
 
forward SettingPlayerTeam(killerid);

 

public SettingPlayerTeam(killerid)
{
  for(new playerid; playerid < 200; playerid++)
  SetPlayerTeam(playerid, gTeam[playerid]);
 
  return 1;
}

 


if (strcmp(\"/gangwar\", cmdtext, true) == 0)
{
SetTimerEx(\"SettingPlayerTeam\",10,1,\"i\",playerid);
return 1;
}

 
Ez ugye az amikor az azonos csapatba lévõ játékosok egymást lövik és nem megy az életük
De ha kilépek akkor se megy az élete a játékosnak
Vmi megoldás?
Elõre is kösz

Gyors segítség kéne
« Válasz #1 Dátum: 2010. december 20. - 20:46:29 »
0 Show voters
Gyors segítség, Készpénzben
ChuckNorris: Te tényleg kiszámíthatatlan vagy,valamikor segítesz,valamikor meg bunkóskodsz,komolyan nemértelek....
FlatMaN: Mikor voltam kiszámítható? xD
« Utoljára szerkesztve: 2010. december 21. - 07:08:11 írta TengeriMalac »

herban

  • Vendég
Gyors segítség kéne
« Válasz #2 Dátum: 2010. december 20. - 21:08:01 »
0 Show voters
:mistrust: ennél értelmesebbet nem találtál?.......

Nem elérhető BeNiBoY

  • 1342
    • Profil megtekintése
Gyors segítség kéne
« Válasz #3 Dátum: 2010. december 21. - 06:31:30 »
0 Show voters
killtimer?

Nem elérhető KowaZ

Gyors segítség kéne
« Válasz #4 Dátum: 2010. december 21. - 10:09:39 »
0 Show voters

public SettingPlayerTeam(killerid)
{
  for(new playerid; playerid < 200; playerid++)
  SetPlayerTeam(playerid, gTeam[playerid]);
  return 1;
}

 
[/quote]
Ez a kód már maga alapvetõen hibás. A killerid-t ugyanis sehol sem használod.
És miért kell századmásodpercenként/függvényhívás beállítani a játékosok csapatát ugyanarra, ami már amúgy is a csapatuk? Ennek azt kellene eredményeznie, hogy nem tudják lelõni egymást?
Kowalski

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
Gyors segítség kéne
« Válasz #5 Dátum: 2010. december 21. - 13:47:36 »
0 Show voters
Azt szeretnéd, hogy a paranccsal minden játékos csapata át legyen állítva a gTeam változó értékére? Csak mert nem írtál semmi egyebet...
 
if (!strcmp(\"/gangwar\", cmdtext, true))
{
for(new i; i < szerver_slotok_szama; i++) if(IsPlayerConnected(i)) SetPlayerTeam(i, gTeam);
return 1;
}

herban

  • Vendég
Gyors segítség kéne
« Válasz #6 Dátum: 2010. december 21. - 14:39:01 »
0 Show voters
Azt akarom, hogy az azonos csapatba lévõ játékosok egymást lövik akkor ne menjen az életük.
De ez mükõdik is, csak ezt a halhatatlanságot nem lehet megszünteti(se killtimerrel)

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
Gyors segítség kéne
« Válasz #7 Dátum: 2010. december 21. - 15:21:56 »
0 Show voters
Milyen halhatatlanságot?

herban

  • Vendég
Gyors segítség kéne
« Válasz #8 Dátum: 2010. december 21. - 15:43:54 »
0 Show voters
hát mikor kilépsz a gangwarból akkor lövöd a másik játékost és nem megy az élete
Vagyis azt kéne megoldani hogy menjen az élete
 
 for(new playerid; playerid < 200; playerid++)  SetPlayerTeam(playerid, gTeam[playerid]);

 
Ennek az ellentetje

Nem elérhető KowaZ

Gyors segítség kéne
« Válasz #9 Dátum: 2010. december 21. - 15:46:38 »
0 Show voters
Idézetet írta: herban date=1292942634\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"4768\" data-ipsquote-contentclass=\"forums_Topic
hát mikor kilépsz a gangwarból akkor lövöd a másik játékost és nem megy az élete
Vagyis azt kéne megoldani hogy menjen az élete
 
 for(new playerid; playerid < 200; playerid++)  SetPlayerTeam(playerid, gTeam[playerid]);

 
Ennek az ellentetje
 
Most munkaidõm van, de 5kor végzek és utána megcsinálom. Úgy megfelel?
Kowalski

herban

  • Vendég
Gyors segítség kéne
« Válasz #10 Dátum: 2010. december 21. - 15:59:26 »
0 Show voters
Persze..
És köszönöm

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
Gyors segítség kéne
« Válasz #11 Dátum: 2010. december 21. - 16:39:13 »
0 Show voters
De most az az egy játékos lépjen ki, vagy mindenki?

herban

  • Vendég
Gyors segítség kéne
« Válasz #12 Dátum: 2010. december 21. - 17:17:06 »
0 Show voters
Nos, leírom mégegyszer egy picit érthetõbben
Van egy gangwar mode és a team kill ellen azt kéne csinálni hogy ha azonos csapatba(gTeam) lévõ játékosok lövik egymást akkor ne menjen az életük
És ha vki beírja pl. /exitdm akkor utána normálisan menni fog le az élete

Nem elérhető KowaZ

Gyors segítség kéne
« Válasz #13 Dátum: 2010. december 21. - 17:28:06 »
0 Show voters
forward AntiTeamKill();
new bool:gPlayerImmunity[MAX_PLAYERS];
public AntiTeamKill() { for (new i = 0; i < MAX_PLAYERS; i++) if (IsPlayerConnected(i) && gPlayerImmunity) SetPlayerTeam(i, gPlayerTeam); return 1; }
stock ToggleFriendlyFire(playerid, bool:toggle) { gPlayerImmunity[playerid] = !toggle; }

 
Hirtelen ezt dobtam össze. A ToggleFriendlyFire(playerid, true) engedélyezi, hogy lelõjjék a csapattársai. Szóval mikor háború lesz, akkor a lényeg, hogy kikapcsold a résztvevõknek így: ToggleFriendlyFire(playerid, false)
A játékmód elindításakor pedig hívd meg a SetTimer függvényt az alábbi módon:
 
SetTimer(\"AntiTeamKill\", 10, 1);

 
Nem teszteltem semmit, szóval nem garantált a siker. (Ja és az OnPlayerDisconnect-nél is engedélyezd, hogy lõhessék.)
Kowalski

herban

  • Vendég
Gyors segítség kéne
« Válasz #14 Dátum: 2010. december 21. - 18:01:22 »
0 Show voters
De és ha kikapcsolom akkor lõhetik egymást a csapat társaK?

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal