Korisne skripte i kodovi

Započeo Correlli, Mart 10, 2010, 20:26:26 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 4 gostiju pregledaju ovu temu.

Evo jedne funkcije koju možete koristiti kao loop poruku...

Spam(playerid,broj_poruka,poruka[])
{
 #define SCM(%0,%1,%2) SendClientMessage(%0,%1,%2)
     for (new i = 0; i < broj_poruka; i++)
     {
static
   LEN = 1;
                 new
                    string[64];
format(string, sizeof string, "%s - %d",poruka,LEN);
SCM(playerid, 0xFFFFFF, string);
printf("%d,%s",LEN,poruka);
LEN++;
     }
     return true;
}


Poslednja Izmena: Maj 12, 2011, 21:30:54 POSLE PODNE od [H]265
Kristijan Stipić

evo jedne funkcije koju sam izvadio iz moda koju editujem
Naime, s tom funkcijom mozete stavljati rotaciju igraca, znaci ova funkcija se zove SetPlayerPos2 i koristi parametre: X,Y,Z,Rot
Znaci s ovim mozete u svojoj funkcij za teleport igraca koristit i onaj parametar zadnji iz savedpostions zvan rotacija :D

evo

SetPlayerPos2(playerid, Float:X, Float:Y, Float:Z, Float:Ang, text[])
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,X,Y,Z);
SetPlayerFacingAngle(playerid, Ang);
SetCameraBehindPlayer(playerid);
new cmdtext[256];
strmid(cmdtext,text,1,strlen(text));
if(!tele[playerid]){
    tele[playerid] = 1;
    SetTimerEx("Tele", 3000, 0, "d", playerid);
    }
    ResetPlayerWeapons(playerid);
    SetPlayerWorldBounds(playerid, 6666.6666, -6666.6666, 6666.6666, -6666.6666);
}

ostalo:
na vrh
forward Tele(playerid);
ispod ove funkcije
public Tele(playerid) tele[playerid] = 0;
Mislim da bi to trebalo biti sve, ako jos nesto fali recite (nije moja funkcija!)
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √


stock Port(playerid, Float:x, Float:y, Float:z)
{
  new
  Float:ox,
  Float:oy,
  Float:oz;
  GetPlayerPos(playerid, ox, oy, oz);
  printf("x: %f, y: %f, z: %f\nox: %f, oy: %f, oz: %f\n\trez: %f", x, y, z, ox, oy, oz, (((ox + oy + oz) >= (x + y + z)) ? ((ox + oy + oz) - (x + y + z)) : ((x + y + z) - (ox + oy + oz))));
  if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SetPlayerPos(playerid, x, y, z);
  SetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
  return true;
}



Opis
Ovo je koda koju sam poslao za prijavu u CH developer team.
Ja sam licno napravio kodu i dosta je brza.
Sta ona radi? Ona portuje igraca na odredjenu poziciju ali prethodno uzima njegovu staru poziciju i printa...



PS.
Ukoliko posaljete moju kodu Zoranu kao svoju, onda ste dobili veliki - od mene



Zahvale
Luka P.
Poslednja Izmena: Maj 16, 2011, 23:35:40 POSLE PODNE od eXtreme

/* stock */ PlayerToPlayer(playerid,playerid2,Float:distance)
{
if(!IsPlayerConnected(playerid) || !IsPlayerConnected(playerid2)) return 0;
new Float:x,Float:y,Float:z; GetPlayerPos(playerid2,x,y,z);
if(IsPlayerInRangeOfPoint(playerid,distance,x,y,z)) return 1;
else return 0;
}


Provjerava jeli playerid u blizini playerid2, u okrugu distance

Edit: Hvala eXtreme-u na ispravci
Poslednja Izmena: Maj 21, 2011, 13:04:30 POSLE PODNE od [AG] BloodMaster

Citat: [AG] BloodMaster poslato Maj 20, 2011, 21:36:24 POSLE PODNE
/* stock */ PlayerToPlayer(playerid,playerid2,distance)
{
if(!IsPlayerConnected(playerid) || !IsPlayerConnected(playerid2)) return 0;
new Float:x,Float:y,Float:z; GetPlayerPos(playerid2,x,y,z);
if(IsPlayerInRangeOfPoint(playerid,distance,x,y,z)) return 1;
else return 0;
}


Provjerava jeli playerid u blizini playerid2, u okrugu distance
/* stock */ PlayerToPlayer(playerid,playerid2,Float:distance)
{
if(!IsPlayerConnected(playerid) || !IsPlayerConnected(playerid2)) return 0;
new Float:x,Float:y,Float:z; GetPlayerPos(playerid2,x,y,z);
if(IsPlayerInRangeOfPoint(playerid,distance,x,y,z)) return 1;
else return 0;
}

Evo dosao sam na jednu lijepu ideju. Vidim da svi koriste neke streamere i dobro sam pregledao neke. I vidim da vecina radi na IsPlayerInRangeOfPoint i CreatePlayerObject funkcijama a CreateObject se ne pojavljuje.

Zato sam svima odlucio skratiti muke i napraviti ovo:

#if defined CreateDynamicObject
#undef CreateObject
#define CreateObject CreateDynamicObject
#else if defined CreateStreamObject
#undef CreateObject
#define CreateObject CreateStreamObject
#endif


P.S. Ovo ce raditi samo ako koristite Incognito-v streamer ili MidoStreamer

EDIT: E da, zaboravio napisati cemu sluze xD. Naime, ukoliko koristite CreateDynamicObject, a imate vec puno CreateObject, necete ove CreateObject morati mjenjati, oni ce automatski biti streamani...

EDIT2: Sad mi se ovo cini beskorisno, zaboravio sam na CTRL + H xD
Poslednja Izmena: Maj 30, 2011, 21:21:20 POSLE PODNE od [AG] BloodMaster

Citat: BloadEDIT2: Sad mi se ovo cini beskorisno, zaboravio sam na CTRL + H xD
Samo jedno pitanje za tebe:
Citat: [AG] BloodMaster poslato Maj 20, 2011, 22:46:21 POSLE PODNE
Odes na neki konverter...

primjer: http://gtamap.delux-host.com/converter/

Citat: eXtreme poslato Maj 20, 2011, 22:45:04 POSLE PODNE

CTRL + H

Netocno, CreateObject i CreateDynamicObject imaju razlicite argumente...

Citat: [AG] eXtreme poslato Maj 30, 2011, 22:15:08 POSLE PODNE
Citat: BloadEDIT2: Sad mi se ovo cini beskorisno, zaboravio sam na CTRL + H xD
Samo jedno pitanje za tebe:
Citat: [AG] BloodMaster poslato Maj 20, 2011, 22:46:21 POSLE PODNE
Odes na neki konverter...

primjer: http://gtamap.delux-host.com/converter/

Citat: eXtreme poslato Maj 20, 2011, 22:45:04 POSLE PODNE
http://slike.hr/slike/s/screenshot1_1fddf.png
CTRL + H

Netocno, CreateObject i CreateDynamicObject imaju razlicite argumente...

To sam ja bio fulo

Znam zato sam i to stavio, CreateDynamicObject ima mogucnost raznih argumenata, ako nestavis naprimer distancu on ce staviti sam... Tako da je moguce...

Citat: [AG] eXtreme poslato Maj 31, 2011, 13:36:18 POSLE PODNE
Znam zato sam i to stavio, CreateDynamicObject ima mogucnost raznih argumenata, ako nestavis naprimer distancu on ce staviti sam... Tako da je moguce...
svejedno je bolje otici na ConvertFFS i konvertat u CreateDynamicObject jer koristi drugacije parametre
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

Citat: [AG] System32 poslato Maj 31, 2011, 19:16:58 POSLE PODNE
Citat: [AG] eXtreme poslato Maj 31, 2011, 13:36:18 POSLE PODNE
Znam zato sam i to stavio, CreateDynamicObject ima mogucnost raznih argumenata, ako nestavis naprimer distancu on ce staviti sam... Tako da je moguce...
svejedno je bolje otici na ConvertFFS i konvertat u CreateDynamicObject jer koristi drugacije parametre

Sto se mucis s tim online konverterima.

http://wiki.sa-mp.com/wiki/Multi_Object_Converter

Citat: [AG] eXtreme poslato Maj 16, 2011, 23:33:37 POSLE PODNE

stock Port(playerid, Float:x, Float:y, Float:z)
{
  new
  Float:ox,
  Float:oy,
  Float:oz;
  GetPlayerPos(playerid, ox, oy, oz);
  printf("x: %f, y: %f, z: %f\nox: %f, oy: %f, oz: %f\n\trez: %f", x, y, z, ox, oy, oz, (((ox + oy + oz) >= (x + y + z)) ? ((ox + oy + oz) - (x + y + z)) : ((x + y + z) - (ox + oy + oz))));
  if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SetPlayerPos(playerid, x, y, z);
  SetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
  return true;
}


sto tacno predstavlja "rez"? je li razliku, tj predjeni put?

ako "rez" pokazuje udaljenost izmedju stare i nove pozicije, ova funkcija je totalno pogresna
jesi je uopste testirao?
Poslednja Izmena: Jun 02, 2011, 16:22:16 POSLE PODNE od [BU] Gigi_Falcone



cao, evo jedne "funkcije" odnosno skripte s kojom provjerava ako igrac pise sa upaljenim caps lockom i ako napise nesto u text boxu velik slovima u chatu ce to pisati malim

Dodajte ovo pod OnPlayerText
for(new i=0; i<MAX_WORDS; i++)
{
    if(IsPlayerConnected(i))
    {
    while (text[++i])
    {
        if ('A' <= text[i] <= 'Z') text[i] |= 0x20;
}
}
}
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

bolje da ga napravis kao stock i pozivas gdje treba, tako da ne moras par puta kopirati isti kod pod OnPlayerText , /b, kao i ostale chat komande koju vecina servera ima



Citat: [BU] Gigi_Falcone poslato Jun 03, 2011, 11:23:11 PRE PODNE
bolje da ga napravis kao stock i pozivas gdje treba, tako da ne moras par puta kopirati isti kod pod OnPlayerText , /b, kao i ostale chat komande koju vecina servera ima
jel to nesto vako?
   
stock CapsLock()
{
for(new i=0; i<MAX_WORDS; i++) 
   { 
       if(IsPlayerConnected(i)) 
       { 
          while (text[++i]) 
          { 
              if ('A' <= text<i> <= 'Z') text<i> |= 0x20; 
         } 
      } 
   }
}

xD ako nevalja reci!
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √