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;
}
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.