Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Negalima prašyti ar platinti betkokių žaidimą (multiplayer) palengvinančių programų ir scriptų! Kitaip bus taikoma 1.21. taisyklė

Scriptai( Ne default'inės funkcijos )


hustrine

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1734 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki. Taigi kuriu šia temą norėdamas dalintis savo mini scriptukais. Taip pat jūs irgi galite juos rašyti komentaruose. Tai va pradėsiu.

Funkcija: mStilius

Parametrai:

playerid - žaidėjo id,

stilius - muštynių stiliaus id.

Kodas:

stock mStilius( playerid, on=0 )
{
switch( on )
{
	case 0: SetPlayerFightingStyle( playerid, FIGHT_STYLE_NORMAL );
	case 1: SetPlayerFightingStyle( playerid, FIGHT_STYLE_BOXING );
	case 2: SetPlayerFightingStyle( playerid, FIGHT_STYLE_KUNGFU );
	case 3: SetPlayerFightingStyle( playerid, FIGHT_STYLE_KNEEHEAD );
	case 4: SetPlayerFightingStyle( playerid, FIGHT_STYLE_GRABKICK );
	case 5: SetPlayerFightingStyle( playerid, FIGHT_STYLE_ELBOW );
}
}

Stilių ID:

0 - Paprastas ( FIGHT_STYLE_NORMAL )
1 - Bokso stilius( FIGHT_STYLE_BOXING )
2 - KungFu( FIGHT_STYLE_KUNGFU )
3 - Iš kelio į galvą( FIGHT_STYLE_KNEEHEAD )
4 - Iš kojos į galva( FIGHT_STYLE_GRABKICK )
5 - Iš alkūnės( FIGHT_STYLE_ELBOW )

Naudojimas:

mStilius( playerid, stiliaus id );

Kreditai: Hustrine( Justinas )

Nuoroda į komentarą
Dalintis per kitą puslapį

Funkcija: PlayerSay

Naudojimas:

PlayerSay( playerid, "tekstas" );

Atvaizdavimas: Žaidėjas: tekstas.

Kodas:

stock PlayerSay( playerid, textas[] )
{
 new zinute[ 126 ], vardas[ MAX_PLAYER_NAME ];
 GetPlayerName( playerid, vardas, MAX_PLAYER_NAME );
format( zinute, 126, "{B0AEAE}%s: {B0AEAE}%s", vardas, textas );
 new Float:Poz[ 3 ];
 foreach(Player,i)
 {
		 GetPlayerPos( i, Poz[ 0 ], Poz[ 1 ], Poz[ 2 ] );
		 if( IsPlayerInRangeOfPoint( playerid, 17.0, Poz[ 0 ], Poz[ 1 ], Poz[ 2 ] ) )
		 SendClientMessage( i, -1, zinute );
 }
 return 1;
}

Kreditai: Hustrine( Justinas )

Nuoroda į komentarą
Dalintis per kitą puslapį

Funkcija: Veiksmas

Naudojimas:

Veiksmas( playerid, id );

Veiksmų id:

0 - Atšaldymas
1 - Užšaldymas

Kodas:


Stock Veiksmas( playerid, on=0 )
{
switch( on )
{
	 case 0: TogglePlayerControllable( playerid, 1 ); //atšaldytas
	 case 1: TogglePlayerControllable( playerid, 0 ); //užšaldytas
}
}

Nuoroda į komentarą
Dalintis per kitą puslapį

stock OnlinePlayers( )

{

new

online

;

for( new i = 0; i < MAX_PLAYERS; i++ )

if( IsPlayerConnected( i ))

online++ ;

return online;

}

Grynai mano stilium parašytas kodas :D Beto, kam ant šitos f-jos stock? Jei galima paprastai :

OnlinePlayers ( ) { 
new p;
for ( new i; i < MAX_PLAYERS; i ++ ) 
if ( IsPlayerConnected ( i ) ) 
p ++;
return p;
}
Nuoroda į komentarą
Dalintis per kitą puslapį

Funkcija: GautiVarda

Aprašymas:

Su šia funkcija galėsite išgauti žaidėjo vardą.

Parametrai:

playerid - Žaidėjo id

Kodas:

stock GautiVarda( playerid )
{
new vardas[ MAX_PLAYER_NAME ];
GetPlayerName(playerid,vardas,MAX_PLAYER_NAME);
return vardas;
}

Naudojimo pavyzdys:

COMMAND:vardas(playerid, params[])
{
new string[ 30 ];
format(string,30, "Jūsų vardas: %s", GautiVarda(playerid));
SendClientMessage(playerid,0xFAFAFAFF, string);
return 1;
}

--------------------------------------------------------------------------------------------------------------------------------------------

Funkcija: GautiIp

Aprašymas:

Su šia funkcija galėsite išgauti žaidėjo IP adresą.

Parametrai:

playerid - Žaidėji id

Kodas:

stock GautiIP( playerid )
{
new IP[ 18 ];
GetPlayerIp(playerid,IP,18);
return IP;
}

Naudojimo pavyzdys:

COMMAND:ip(playerid, params[])
{
new string[ 30 ];
format(string,30, "Jūsų IP: %s", GautiIP(playerid));
SendClientMessage(playerid,0xFAFAFAFF, string);
return 1;
}

Redaguota , nario sneroq
Nuoroda į komentarą
Dalintis per kitą puslapį

Sveiki. Taigi kuriu šia temą norėdamas dalintis savo mini scriptukais. Taip pat jūs irgi galite juos rašyti komentaruose. Tai va pradėsiu.

Funkcija: mStilius

Parametrai:

playerid - žaidėjo id,

stilius - muštynių stiliaus id.

Kodas:

stock mStilius( playerid, on=0 )
{
switch( on )
{
	case 0: SetPlayerFightingStyle( playerid, FIGHT_STYLE_NORMAL );
	case 1: SetPlayerFightingStyle( playerid, FIGHT_STYLE_BOXING );
	case 2: SetPlayerFightingStyle( playerid, FIGHT_STYLE_KUNGFU );
	case 3: SetPlayerFightingStyle( playerid, FIGHT_STYLE_KNEEHEAD );
	case 4: SetPlayerFightingStyle( playerid, FIGHT_STYLE_GRABKICK );
	case 5: SetPlayerFightingStyle( playerid, FIGHT_STYLE_ELBOW );
}
}

Stilių ID:

0 - Paprastas ( FIGHT_STYLE_NORMAL )
1 - Bokso stilius( FIGHT_STYLE_BOXING )
2 - KungFu( FIGHT_STYLE_KUNGFU )
3 - Iš kelio į galvą( FIGHT_STYLE_KNEEHEAD )
4 - Iš kojos į galva( FIGHT_STYLE_GRABKICK )
5 - Iš alkūnės( FIGHT_STYLE_ELBOW )

Naudojimas:

mStilius( playerid, stiliaus id );

Kreditai: Hustrine( Justinas )

Tikrai labai vertinga funkcija kišti į funkciją. Jau jei nori trumpinti tai geriau tiesiog konstantą panaudok.

#define mStilius SetPlayerFightingStyle

Nuoroda į komentarą
Dalintis per kitą puslapį

stock GautiData()
{
/* gauname data ir laika tokiu formatu METAI.MENUO.DIENA, VALANDA:MINUTE */
new
stringas[ 31 ],
data[ 6 ]
;
getdate( data[ 0 ], data[ 1 ], data[ 2 ] );
gettime( data[ 3 ], data[ 4 ], data[ 5 ] );
format( stringas, 31, "%d.%02d.%02d, %02d:%02d", data[ 0 ], data[ 1 ], data[ 2 ], data[ 3 ], data[ 4 ] );
return stringas;
}

naudojimas pvz kai nori gauti data kada žaidėjas užsiregistravo:

format( Query,sizeof( Query ),"INSERT INTO `"#MYSQL_TABLE"` (vardas,slaptazodis,IP,registruotas) VALUES ('%s','%s','%s','%s')",GetPlayerNameEx( playerid ), pw, zIP, GautiData() );
Redaguota , nario !AnceZas!
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 2 savaičių...

Pasidalinsiu skriptu, su kuriuo galėsite patogiau sukurti įėjimą.

Šitą dėkite skripto apačioje:

stock Iejimas( playerid, Float:TpPosX, Float:TpPosY, Float:TpPosZ, Float:TpPosA, Int )
{
SetPlayerPos( playerid, TpPosX,TpPosY,TpPosZ );
SetPlayerFacingAngle( playerid, TpPosA );
SetPlayerInterior( playerid, Int );
return 1;
}

Parametrai:

playerid - Zaidėjo id.

Float:TpPosX - Pozicijos X koordinatės.

Float:TpPosY - Pozicijos Y koordinatės.

Float:TpPosZ - Pozicijos Z koordinatės.

Float:TpPosA - Pozicijos Angle koordinatės.

Int - Interjero id.

Pavyzdys:

Iejimas( playerid, 457.304748,-88.428497,999.554687, 179.2752, 4 );

Skripto autorius: @Sneroq

Redaguota , nario sneroq
Nuoroda į komentarą
Dalintis per kitą puslapį

Teleportas su mašina 1 eilutė:

stock TeleWithCar( playerid, Float:xP, Float:yP, Float:zP )
{
 new vehicleid = GetPlayerVehicleID( playerid );
 SetVehiclePos( vehicleid, Float:xP, Float:yP, Float:zP );
 SetPlayerPos( playerid, Float:xP, Float:yP, Float:zP );
 PutPlayerInVehicle( playerid, vehicleid, 0 );
}

Naudojimo PVZ:

CMD:tele( playerid, params[] )
{
 TeleWithCar( playerid, 999.000, 999.000, 999.000 );
 return (true);
}

Nuoroda į komentarą
Dalintis per kitą puslapį

Teleportas su mašina 1 eilutė:

stock TeleWithCar( playerid, Float:xP, Float:yP, Float:zP )
{
new vehicleid = GetPlayerVehicleID( playerid );
SetVehiclePos( vehicleid, Float:xP, Float:yP, Float:zP );
SetPlayerPos( playerid, Float:xP, Float:yP, Float:zP );
PutPlayerInVehicle( playerid, vehicleid, 0 );
}

Naudojimo PVZ:

CMD:tele( playerid, params[] )
{
TeleWithCar( playerid, 999.000, 999.000, 999.000 );
return (true);
}

#define gotoWithCar(%0,%1) (GetPlayerState(%0)==PLAYER_STATE_DRIVER)?SetVehiclePos(GetPlayerVehicleID(%0),%1):SetPlayerPos(%0,%1)

Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 3 savaičių...

Patikrina ar transporto priemone tuscia. Naudinga darant masinu respawn.

stock IsVehicleEmpty(vehicleid)
{
   for(new i; i<MAX_PLAYERS; i++)
   {
       if(IsPlayerConnected(i))
       {
           if(IsPlayerInVehicle(i, vehicleid)) return 0;
       }
   }
   return 1;
}

Funkcija skirta siusti zinutei tam tikru atsumu

Naudojimas ProxDetector(Atsumas kokiu rodys zinute,playerid,"Tekstas",Spalva);

stock ProxDetector(Float:radi,playerid,string[],color)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
for(new i; i<MAX_PLAYERS; i++)
{
 if(IsPlayerConnected(i))
 {
  if(IsPlayerInRangeOfPoint(i,radi,x,y,z))
  {
   SendClientMessage(i,color,string);
  }
 }
}
}

Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 3 savaičių...

suprast ką daro suprantam, bet ar pats supranti kaip šitas macro tai daro? :D

Na tarkim norime patikrint ar kintamasis string yra tuščias:

if (string[0] == 0 || (string[0] == 1 && string[1] == 0))

čia be isnull(); kuri tiesiog pakeičia visą kodą kurį kątik parašiau.

Visų pirma patikrina pagal string masyvą, tikrina ar kiekviena jo dalis lygi nuliui - yra tuščia. Na bent jau aš taip suprantu šią funkciją. Bet žinoma, kaip ir visur gali būt įvairių paaiškinimų.

Nuoroda į komentarą
Dalintis per kitą puslapį

Pasidalinsiu skriptu, su kuriuo galėsite patogiau sukurti įėjimą.

Šitą dėkite skripto apačioje:

stock Iejimas( playerid, Float:TpPosX, Float:TpPosY, Float:TpPosZ, Float:TpPosA, Int )
{
SetPlayerPos( playerid, TpPosX,TpPosY,TpPosZ );
SetPlayerFacingAngle( playerid, TpPosA );
SetPlayerInterior( playerid, Int );
return 1;
}

Parametrai:

playerid - Zaidėjo id.

Float:TpPosX - Pozicijos X koordinatės.

Float:TpPosY - Pozicijos Y koordinatės.

Float:TpPosZ - Pozicijos Z koordinatės.

Float:TpPosA - Pozicijos Angle koordinatės.

Int - Interjero id.

Pavyzdys:

Iejimas( playerid, 457.304748,-88.428497,999.554687, 179.2752, 4 );

Skripto autorius: @Sneroq

#define Iejimas( %0,%1,%2,%3,%4,%5 ); SetPlayerPos( %0, %1,%2,%3 ); SetPlayerFacingAngle( %0, %4 ); SetPlayerInterior( %0, %5  );

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1734 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai



×
×
  • Sukurti naują...