Korisne skripte i kodovi

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

prethodna tema - sledeća tema

0 članova i 3 gostiju pregledaju ovu temu.

Da ipak nisam u pravu nisam nikad radio sa macro funkcijama sa viÅ¡e argumenata niti sam testirao. Mislio sam da i za macro funkciju postoji odeÄ'eni način kako to napraviti jer uvijek sam radio sa normalnim funkcijama jer kao Å¡to sam rekao naredbe takog tipa ( SendClientMessage ) se često return-aju, a macro funkcije se ne mogu return-ati
Kristijan Stipić

stock PostaviIgraca(playerid, Float:X, Float:Y, Float:Z, Int)
{
       SetPlayerPos(playerid, X, Y, Z);
       SetPlayerInterior(playerid, Int);
       return 1;
}



Kako koristiti?

Pa umesto da koristite u nekoj komandi itd,
SetPlayerPos(playerid, X,Y,Z);
SetPlayerInt(playerid,IDInta);


vi jednostavo stavite PostaviIgraca(playerid,X,Y,Z,IDInta);

Primer:

CMD:a(playerid,params[])
{
PostaviIgraca(playerid,1321.312,123.312,312.12,12);
return true;
}


Takodje,mozete staviti i VirtualWorld..

Malo promenite ovaj stock,da izgleda ovako:
stock PostaviIgraca(playerid, Float:X, Float:Y, Float:Z, Int, VW)
{
       SetPlayerPos(playerid, X, Y, Z);
       SetPlayerInterior(playerid, Int);
       SetPlayerVirtualWorld(playerid, VW);
       return 1;
}


I onda bi koristenje izgledalo :
CMD:a(playerid,params[])
{
PostaviIgraca(playerid, 131.321, 321.312, 414.01, 2, 1);
return true;
}



Napomena: Ove koordinate sam lupao bezveze..

(Nesta slicno mi je danas zatrebalo za jedan system koji radim)
Poslednja Izmena: Jul 18, 2011, 16:23:25 POSLE PODNE od Aleksandar?

EDIT: - bespotrebno
Poslednja Izmena: Jul 21, 2011, 16:59:36 POSLE PODNE od [H]265
Kristijan Stipić

Extra, cak si postao ovo u 4 ujutro xD


mozda budum i ja napravil digitron :D
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: Luka P. poslato Jul 21, 2011, 14:28:55 POSLE PODNE
Citat: [H265]Primjer:

printf(" 2 + 5 = %d   ", Izracunaj(2,+,5)); return 7
printf(" 2 - 5 = %d   ", Izracunaj(2,-,5)); return -3
printf(" 2 x 5 = %d   ", Izracunaj(2,*,5)); return 10
printf(" 5 / 2 = %d   ", Izracunaj(2,/,5)); return 2 (ide na cijeli broj)


Koja je svrha te funkcije?
printf(" 2 + 5 = %d   ", (2+5));
printf(" 2 - 5 = %d   ", (2-5));
printf(" 2 x 5 = %d   ", (2*5));
printf(" 5 / 2 = %.2f   ", Float:(2/5));



Omg pa najobicniji kalkulator ... lik je samo pokazo
Datum registracije:    Listopad 21, 2009, 15:56:43
|Rick Dunn| NaNx |Soldier |
|Maper | Web Developer [HTML+CSS] | C++ beginner |

Respect: Karike, Chris, ///Masic, Stormer, Walter, NeNo, Pacino, NaNek

@Luka P. - ImaÅ¡ pravo  :D (bilo je 4 ujutro)
Poslednja Izmena: Jul 21, 2011, 16:58:38 POSLE PODNE od [H]265
Kristijan Stipić

Callback by BloodMaster:

stock _ALT_CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 200.0)
{
  if(modelid == 1649 || modelid == 3851)
  {
     CreateDynamicObject(modelid,  x, y, z, rx+180, ry, rz,worldid,interiorid,playerid,distance);
     CreateDynamicObject(modelid,  x, y, z, rx, ry, rz, worldid ,interiorid,playerid,distance);
     return 1;
  }

   return CreateDynamicObject(modelid,  x, y, z, rx, ry, rz, worldid ,interiorid,playerid,distance);
}



Sa ovime ne morate da okrecete objekte koji trebaju biti dupli nego samo ih dodate sa ovim callback-om.
Poslednja Izmena: Jul 25, 2011, 01:42:11 PRE PODNE od No Name




@No Name, nije to vec tu u temi postano, tj. taj stock (btw. to nije callback :) )?
Poslednja Izmena: Jul 25, 2011, 01:57:56 PRE PODNE od LuKsA
Aequam memento rebus in arduis servare mentem.

Neće raditi, prekopirao si samo stock a ne i hook...

edit:

stock _ALT_CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 200.0)
{
              //by BloodMaster
   if(modelid == 1649 || modelid == 3851)
   {
      CreateDynamicObject(modelid,  x, y, z, rx+180, ry, rz,worldid,interiorid,playerid,distance);
      CreateDynamicObject(modelid,  x, y, z, rx, ry, rz, worldid ,interiorid,playerid,distance);
      return 1;
   }

    return CreateDynamicObject(modelid,  x, y, z, rx, ry, rz, worldid ,interiorid,playerid,distance);
}

            #if defined _ALS_CreateDynamicObject
         #undef CreateDynamicObject
            #else
         #define _ALS_CreateDynamicObject
            #endif
         #define CreateDynamicObject _ALT_CreateDynamicObject
Poslednja Izmena: Jul 26, 2011, 10:43:34 PRE PODNE od [TG] BloodMaster

Počeo sam sa pisanjem ove skripte


#include   "a_samp"
#include   "YSI\y_hooks"

#define H_FNC:%0(%1) \
            forward%0(%1); public%0(%1) // by [H]265

#define Sec(%0) \
      ((%0)*(1000)) // by [H]265

new
bool:inVozilo[MAX_PLAYERS char] = false,
LOCAL_TIMER;

Hook:PINC_OnGameModeInit() return \
    LOCAL_TIMER = SetTimer("Checker", Sec(1), true);

Hook:P2INC_OnGameModeExit() return \
KillTimer(LOCAL_TIMER);

Hook:P3INC_OnPlayerConnect(playerid) return \
    inVozilo{playerid} = false;

Hook:P4INC_OnPlayerStateChange(playerid,newstate,oldstate) { if(newstate == PLAYER_STATE_DRIVER) return \
inVozilo{playerid} = true; }

Hook:P5INC_OnPlayerExitVehicle(playerid, vehicleid) return \
    inVozilo{playerid} = false;

stock SafePutPlayerInVehicle(playerid, vehicleid, seatid) { PutPlayerInVehicle(playerid, vehicleid, seatid); return \
    inVozilo{playerid} = true; }

stock SafeRemovePlayerFromVehicle(playerid) { RemovePlayerFromVehicle(playerid); return \
    inVozilo{playerid} = false; }

stock bool:IsPlayerInAnyVehicleEx(playerid) {
new
statePlayer = GetPlayerState(playerid);
if(statePlayer == PLAYER_STATE_ONFOOT || statePlayer  == PLAYER_STATE_NONE || statePlayer == PLAYER_STATE_WASTED || statePlayer  == PLAYER_STATE_SPAWNED) return \
 inVozilo{playerid} = false;
else if(statePlayer == PLAYER_STATE_DRIVER || statePlayer  == PLAYER_STATE_PASSENGER || statePlayer == PLAYER_STATE_SPECTATING) {
 if(IsPlayerInAnyVehicle(playerid)) return \
  inVozilo{playerid} = true; }

H_FNC: Checker() {
foreach(Player, s) {
  if(IsPlayerInAnyVehicleEx(s) == true) return \
  inVozilo{s} = true;
  else if(IsPlayerInAnyVehicleEx(s) == false) return \
  inVozilo{s} = false; } }


Ovo je više INC nego korisne skripte i kodovi naime skripta nije gotova ali ako netko ima volje neka dovrši mislim da svatko zna da postji GTA bug sa enter/exit iz vozila stoga sam htio napraviti Safe checker ugl. oni koji znaju ako trebaju neka dovrše ja imam svoju staru verziju koju ću koristiti
Poslednja Izmena: Avgust 01, 2011, 17:48:54 POSLE PODNE od [H]265
Kristijan Stipić

Provjerava igračev armor i vraća vrijednost(float value)/količinu armora.
stock Float:GetArmour(playerid)
{
    new Float:armor; GetPlayerArmour(playerid, armor);
    return armor;
}


Provjerava naziv oružja i vraća vrijednost(string)/naziv oruzja.
stock GetWeapon(gunid)
{
    new gunname[32];
    GetWeaponName(gunid,gunname,sizeof(gunname));
    return gunname;
}


Broji odreÄ'ene znakove unutar teksta. Recimo ako želite provjeriti koliko je igrač upisao odreÄ'enih znakova unutar teksta ova funkcija će vam vratiti vrijednost (integer, brojevnu vrijednost) koliko znakova se nalazi unutar teksta - ovo sam napravio kad sam izraÄ'ivao antiadvertising skriptu ali mi nije trebalo.

stock PrebrojiZnakove(text[], str[])
{
new val;
for(new g = 0; g < strlen(text)+1; g++) if(text[g] == str) val++;
return val;
}


Seif je negdje 'okačio' ovakvu istu funkciju (bar mislim)... ali ja sam pri korištenu shvatio da u njoj nije bilo baš 'sve'. Nedostajali su IDovi oruzja za slot 5 (m4 i ak47) te je nešto još pogriješio (neznam točno). Uglavnom, ispravljeno.. eto..
stock GetWeaponSlot(weaponid)
{
switch (weaponid)
{
    case 0,1: return 0;
    case 2..9: return 1;
    case 22..24: return 2;
    case 25..27: return 3;
    case 28,29,32: return 4;
    case 30,31: return 5;
    case 33,34: return 6;
    case 35..38: return 7;
    case 16..18,39: return 8;
    case 41..43: return 9;
    case 10..15: return 10;
    case 44..46: return 11;
    case 40: return 12;
    default: return -1;
}
return -1;
}



Eto malo, od mene. Ako kome posluži dobro, a ako ne opet dobro :-*

Respekt: [H]265, John, [03]Garsino, LordShigi, Dujma, Carlsson, Randy, Jacobs, Hu5o, Toni, Lukas, Curtis, Ivo, Hawks, Jack, Koksildo, gonss

Haha OMG => http://zaslike.com/files/9rd5urq94yqagvdsx3i.png [ovo nema nigdje]

zic mortale, u ovoj funkciji za weapon name, jel to recimo da mi izbaci ime oruzija, primjer ja u mojoj komandi /givegun printam adminu poruku da je dao tom i tom igracu id tog i tog oruzija, sad ako sam mu dao gun id 38 s tvojom funkcijom bi njemu printalo da mu je dao minigun?
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: System32 poslato Avgust 04, 2011, 20:06:53 POSLE PODNE
zic mortale, u ovoj funkciji za weapon name, jel to recimo da mi izbaci ime oruzija, primjer ja u mojoj komandi /givegun printam adminu poruku da je dao tom i tom igracu id tog i tog oruzija, sad ako sam mu dao gun id 38 s tvojom funkcijom bi njemu printalo da mu je dao minigun?

Bi

sta bi? :O
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 √