Szerző Téma: Kill Streak  (Megtekintve 1595 alkalommal)

Nem elérhető Mike.

  • 720
    • Profil megtekintése
Kill Streak
« Dátum: 2011. április 13. - 22:49:16 »
0 Show voters
Sziasztok
Kurta szerverén láttam ezt a szkriptet melynek neve kill Streak
Na és ilyen szkript  kellene nekem:
Abból áll,hogy dm-ben  3 ölés után kiírja hogy pl x,y sorban megölt 3 embert ezért kap 5000$-t
kérem aki tud az segítsen!

Nem elérhető ALIEN

  • 1163
    • Profil megtekintése
Kill Streak
« Válasz #1 Dátum: 2011. április 13. - 22:59:00 »
0 Show voters
egy változóval megoldható - ami így nézne ki:
 
new killstreak[MAX_PLAYERS]; // mód, szkript elejére

 
és minden ölésnél:
 
killstreak[playerid] ++; // OnPlayerDeath alá

 
és ha a változó értéke 3 akkor:
 
if(killstreak[playerid] == 3) // szintén OnPlayerDeath alá
{
// megkapja a pénzt
// és a szöveg
}

Koncz_Norbert

  • Vendég
Kill Streak
« Válasz #2 Dátum: 2011. április 14. - 06:15:22 »
0 Show voters
Idézetet írta: ALIEN date=1302728340\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"7526\" data-ipsquote-contentclass=\"forums_Topic
egy változóval megoldható - ami így nézne ki:
 
new killstreak[MAX_PLAYERS]; // mód, szkript elejére

 
és minden ölésnél:
 
killstreak[playerid] ++; // OnPlayerDeath alá

 
és ha a változó értéke 3 akkor:
 
if(killstreak[playerid] == 3) // szintén OnPlayerDeath alá
{
// megkapja a pénzt
// és a szöveg
}

 

Kifelejtetted a lenullázást.
 

if(killstreak[playerid] == 3) // szintén OnPlayerDeath alá
{
// megkapja a pénzt
// és a szöveg
killstreak[playerid] = 0;
}

 
Ha nem nullázod le akkor csak növekedni fog a szám. Ezalatt úgy értem hogy 3x megölsz valakit akkor kapsz pénzt,
de tovább már nem fog mûködni.
Szerkesztés:

Ja és van benne egy bökkenõ...
Ha én 3x meghalok akkor kapok pénzt. De az ölõ nem fog kapni semmit.
 

public OnPlayerDeath(playerid, killerid, reason)
{
     new killstreak[500]; // A MAX_PLAYERS száma 500 de megadhatod slotszámtól függõen.
     killstreak[killerid]++;
     //killstreak[playerid] = 0; Ha meghalsz akkor lenullázza a pontjaidat.
     if(killstreak[killerid] == 3)
     {
          // Szöveg, pénz stb...
          killstreak[killerid] = 0;
     }
     return 1;
}
« Utoljára szerkesztve: 2011. április 14. - 06:27:22 írta Koncz_Norbert »

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
Kill Streak
« Válasz #3 Dátum: 2011. április 14. - 11:30:59 »
0 Show voters
Miért nem használjátok a Per Player Variable Systemet?  :dead:

Nem elérhető Mike.

  • 720
    • Profil megtekintése
Kill Streak
« Válasz #4 Dátum: 2011. április 14. - 13:08:31 »
0 Show voters
Köszönöm
Kipróbálom

Nem elérhető ►ѕтa

  • 2016
  • Newbie
    • Profil megtekintése
Kill Streak
« Válasz #5 Dátum: 2011. április 14. - 13:15:26 »
0 Show voters

#include <a_samp>
public OnPlayerDeath(playerid, killerid, reason)
{
GivePVarInt(playerid, \"kills\", 1);
if(GetPVarInt(playerid, \"kills\" == 3)
{
GivePlayerMoney(playerid, 1000), GivePlayerScore(playerid, 1), SetPVarInt(playerid, \"kills\", 0);
}
return 1;
}
 
GivePVarInt(playerid, varname[], int) { SetPVarInt(playerid, varname, GetPVarInt(playerid, varname) + int); }
GivePlayerScore(playerid, score) { SetPlayerScore(playerid, GetPlayerScore(playerid) + score); }

 
Ha mûködik lájkold :D

Nem elérhető Mike.

  • 720
    • Profil megtekintése
Kill Streak
« Válasz #6 Dátum: 2011. április 14. - 13:17:36 »
0 Show voters
Hát még az elõbbit sem sikerült kipróbálni mert per pillanat nincs fent senki :angry: majd este... :)

Nem elérhető ►ѕтa

  • 2016
  • Newbie
    • Profil megtekintése
Kill Streak
« Válasz #7 Dátum: 2011. április 14. - 13:18:56 »
0 Show voters
segítek

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Kill Streak
« Válasz #8 Dátum: 2011. április 14. - 19:56:58 »
0 Show voters
Csak egy kis hiba (playerid helyett killerid)
 
#include <a_samp>
public OnPlayerDeath(playerid, killerid, reason)
{
GivePVarInt(killerid, \"kills\", 1);
if(GetPVarInt(killerid, \"kills\" == 3)
{
GivePlayerMoney(playerid, 1000), GivePlayerScore(killerid, 1), SetPVarInt(killerid, \"kills\", 0);
}
return 1;
}
 
GivePVarInt(playerid, varname[], int) { SetPVarInt(playerid, varname, GetPVarInt(playerid, varname) + int); }
GivePlayerScore(playerid, score) { SetPlayerScore(playerid, GetPlayerScore(playerid) + score); }

 
Meg legyetek szívesek a tabulátort alkalmanzi, mert így hogy egybe vannak a kódok (egysorban) nagyon szar és átláthatatlan.

Nem elérhető ALIEN

  • 1163
    • Profil megtekintése
Kill Streak
« Válasz #9 Dátum: 2011. április 14. - 23:35:08 »
0 Show voters
Idézetet írta: Koncz_Norbert date=1302754522\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"7526\" data-ipsquote-contentclass=\"forums_Topic


egy változóval megoldható - ami így nézne ki:
 
new killstreak[MAX_PLAYERS]; // mód, szkript elejére

 
és minden ölésnél:
 
killstreak[playerid] ++; // OnPlayerDeath alá

 
és ha a változó értéke 3 akkor:
 
if(killstreak[playerid] == 3) // szintén OnPlayerDeath alá
{
// megkapja a pénzt
// és a szöveg
}

 

Kifelejtetted a lenullázást.
 

if(killstreak[playerid] == 3) // szintén OnPlayerDeath alá
{
// megkapja a pénzt
// és a szöveg
killstreak[playerid] = 0;
}

 
Ha nem nullázod le akkor csak növekedni fog a szám. Ezalatt úgy értem hogy 3x megölsz valakit akkor kapsz pénzt,
de tovább már nem fog mûködni.
Szerkesztés:

Ja és van benne egy bökkenõ...
Ha én 3x meghalok akkor kapok pénzt. De az ölõ nem fog kapni semmit.
 

public OnPlayerDeath(playerid, killerid, reason)
{
     new killstreak[500]; // A MAX_PLAYERS száma 500 de megadhatod slotszámtól függõen.
     killstreak[killerid]++;
     //killstreak[playerid] = 0; Ha meghalsz akkor lenullázza a pontjaidat.
     if(killstreak[killerid] == 3)
     {
          // Szöveg, pénz stb...
          killstreak[killerid] = 0;
     }
     return 1;
}

 

[/quote]
Bocs tesi, álmos voltam.  :P
Mint ahogy most is.  :dead:

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal