GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: Shady - 2012. december 27. - 10:40:37

Cím: Max+Bónuszfegyver
Írta: Shady - 2012. december 27. - 10:40:37
Hali írtam egy szkriptet, aminek az a lényege hogy ha valaki beírja a /max parancsot az kap egy bonúszfegyvert (RocketLauncher) és feltölti a játékos HP-ját és Pajzsát. Ezt a parancsot csak egyszer lehet használni. Halál után megint be lehet írni. Azért nem töltöm fel feltöltõ oldalakra mert azoknak megszûnhet a linkje inkább ide bemásolom. Teszteltem és nálam mûködik!

Jó szórakozást hozzá, és kellemes ünnepeket!
;)
Kezdõknek beillesztés:

1. Inditsd el a pawno-t és kérj egy új lapot.


2. Törölj ki mindent és másold be a kódot.


3. Ezután F5 és nevezd el \"max\"-nak (vagy aminek akarod).


4. Másold be a filterscript mappába a max.pwn + max.amx fájlt (vagy aminek elnevezted)


5. Nyisd meg a server.cfg fájlt jegyzettömbbel és a filtescript-hez írd oda hogy \"max\" és mentsd el, ezután bezárhatod és indítsd el a samp-server.exe-t hogy betölti-e.


Sok szerencsét!

 
//----------------------------------------------------------------------------//
//----------------------------MAX HP&ARMOUR ----------------------------------//
//---------------------------- By Shady --------------------------------------//
//----------------------------------------------------------------------------//
#include <a_samp>
#pragma tabsize 0
#define FILTERSCRIPT
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xcc2626AA
new bool:HP;
public OnFilterScriptInit()
{
print(\"--------------------------------------\");
print(\" Bónuszfegyver + MaxHP by Shady !\"     );
print(\"--------------------------------------\");
}
 
public OnPlayerCommandText(playerid, cmdtext[])
{
if ( strcmp ( cmdtext, \"/max\", true ) == 0 )
{
    if ( HP == true ) return SendClientMessage ( playerid, COLOR_RED, \"Ha meghaltál utána megint használhatod!\" );
    SetPlayerHealth ( playerid, 100 );
    SetPlayerArmour ( playerid, 100 );
    PlayerPlaySound ( playerid, 1057, 0.0, 0.0, 0.0 );
      GivePlayerWeapon( playerid, 35, 10 );
GivePlayerWeapon( playerid, 34, 2 );
GivePlayerMoney( playerid, 1000 );
SendClientMessage ( playerid, COLOR_GREEN, \"{1eff00}HP és Armour feltöltve! {e67409}[+ Bónusz RocketLauncher | 10 lõszer]\");
    new pName[MAX_PLAYER_NAME], stringg[256];
GetPlayerName(playerid, pName, sizeof(pName));
    format(stringg, sizeof(stringg), \"{1eff00}%s használta a {e67409}/max{1eff00} parancsot!\", pName);
    SendClientMessageToAll(-1, stringg);
HP = true;
return 1;
}
return 0;
}
public OnPlayerDeath(playerid, killerid, reason)
{
HP = false;
     return 1;
}
Cím: Max+Bónuszfegyver
Írta: Dead - 2012. december 27. - 10:43:42
Kezdõként jó!
Ötlet: Használd a ZCMD -t, mint parancsfeldolgozó.
Cím: Max+Bónuszfegyver
Írta: ][Fo[R]cE][ - 2012. december 27. - 10:44:42
Nagyon egyszerû, nekem tetszik! :)
Cím: Max+Bónuszfegyver
Írta: Shady - 2012. december 27. - 10:50:41
Köszi, Majd még tovább fejlesztem holnapig...  :D
Azért nem ZCMDt használok mert a szerverem nem tudja beolvasni pedig includolva is van (linux) :)
Cím: Max+Bónuszfegyver
Írta: ZyZu. - 2012. december 27. - 10:58:28
Kezdõként nagyon jó, csak ki lehet használni ha valaki direkt megöli magát /kill -el akkor meg újra tudja használni  :)
Cím: Max+Bónuszfegyver
Írta: Shady - 2012. december 27. - 11:03:27
nálam halál után nem tölti fel. Visszaállitja az alapfegyolat
Cím: Max+Bónuszfegyver
Írta: Colebron - 2012. december 27. - 12:14:27
Szép, nagyon Shady amúgy következõbe használj ZCMD-t mert az gyorsan feldolgozza a parancsokat!!

Adtam, a pluszt!!
Cím: Max+Bónuszfegyver
Írta: Shady - 2012. december 30. - 23:06:34
Itt olvastam a fórumon olyat hogy \"ha kevés parancs van a módba akkor elég az strcmp-s megoldás, Zcmd akkor jó ha sok parancs van egy módba/script-be.\"
Nem tudom már ki írta ezt, nem szó szerint idéztem, de ez volt a lényege :)
Cím: Max+Bónuszfegyver
Írta: xD1999 - 2013. április 29. - 15:29:11
Szép kapsz 1 +
Cím: Max+Bónuszfegyver
Írta: EnterR - 2013. április 29. - 23:46:41
Kezdõként nem rossz, csak így tovább :)
+
Cím: Max+Bónuszfegyver
Írta: scripter01 - 2013. április 30. - 07:24:50
Kezdõként végre egy tökéletes munka, csak így tovább Shady  :)
Cím: Max+Bónuszfegyver
Írta: Shady - 2013. május 03. - 15:48:51
Kezdõként végre egy tökéletes munka, csak így tovább Shady[/quote]
 
Kezdõként nem rossz, csak így tovább[/quote]
 
Szép kapsz 1 +[/quote]
 :) Köszi, jó szórakozást hozzá  ;)
Cím: Max+Bónuszfegyver
Írta: Zsolesszka - 2013. május 03. - 19:07:19
Majdnem tökéletes.
A legelsõnek beírt játékos használhatja, a többi nem, egészen addig míg valamelyik játékos meg nem hal a játékban, utána megint egy játékos használhatja és addig senki míg újra nem lesz egy áldozat.
Cím: Max+Bónuszfegyver
Írta: Shady - 2013. május 05. - 11:43:07
Majdnem tökéletes.
A legelsõnek beírt játékos használhatja, a többi nem, egészen addig míg valamelyik játékos meg nem hal a játékban, utána megint egy játékos használhatja és addig senki míg újra nem lesz egy áldozat.
[/quote]
Köszi az észrevételt! :)
Teszteltük több játékossal miután szóltál, de nem jövök rá hogy tudnám ugy hogy ez a bug ne forduljon elõ. Tudsz segíteni kijavítani?  :)
Cím: Max+Bónuszfegyver
Írta: BeNiBoY - 2013. május 29. - 10:56:22
Nem hívnám bug-nak, szimplán csak egy olyan globális változót hoztál létre, ami mindenkire vonatkozik. Alakítsd tömbbé, és akkor külön, játékosonként tudod változtatni az értékét:
 
new bool:HP[MAX_PLAYERS]

 
ellenõrzésnél:
 
if(HP[playerid] == true)

 
új érték megadásánál:
 
HP[playerid] = true
HP[playerid] = false

 
Amúgy tipp: spawnolásnál tedd false-ra, mert így(halálnál változtatva) ha valaki használja, kilép, akkor a következõ ugyanolyan ID-vel belépõ játékos nem fogja tudni használni, míg nem hal meg elõtte egyszer.