-
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!
-
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
}
-
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;
}
-
Miért nem használjátok a Per Player Variable Systemet? :dead:
-
Köszönöm
Kipróbálom
-
#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
-
Hát még az elõbbit sem sikerült kipróbálni mert per pillanat nincs fent senki :angry: majd este... :)
-
segítek
-
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.
-
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: