Právě je čtv 24. kvě 2012 0:22:15
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[otázka] Kde spraviť mod ? od D4n09
[Ms 2012] NHL 2009 Remake od SweS
[HELP] stock & undefined symbol od WilliamKrizak
asus k8v-x od 7.Host
[HELP] Pickupy ! od AvestX

Vyzkoušejte antivirus ESET Smart Security 5

Vyhledat témata bez odpovědí | Zobrazit aktivní témata Zobrazit nové příspěvky | Zobrazit vaše příspěvky


Všechny časy jsou v UTC + 1 hodina [ Letní čas ]





Odeslat nové téma Odpovědět na téma  [ Příspěvků: 39 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: [TUT] Užitečné funkce
PříspěvekNapsal: sob 02. led 2010 13:21:50 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 04. pro 2008 12:15:11
Příspěvky: 4563
Bydliště: @home

Ahoj, zakladam tohle tema protože se opičim po forum.sa-mp.com :) dejme sem funkce ktere se mužou nekomu hodit...
Klidně nemusi byt vaše ale aspon napište autora...

GetClosestVehicle (ZiskatNejbližšíAuto)

Kód:
stock GetClosestVehicle(playerid) //By Darkrealm (edited by Gabrie "Larcius" Cordes)
{
   if(IsPlayerConnected(playerid) && IsVehicleConnected(0))
   {
      new closestvehicle=0;
      new Float:closestdist=GetDistanceToVehicle(playerid,0);
      for(new vehicleid=0; vehicleid<MAX_VEHICLES; vehicleid++)
      {
         new Float:dist = GetDistanceToVehicle(playerid,vehicleid);
         if ((dist < closestdist))
         {
            closestdist = dist;
            closestvehicle = vehicleid;
         }
      }
      return closestvehicle;
   }
   return -1;
}


Kód:
stock GetDistanceBetweenPlayers(playerid, playeridnr2)
{
   new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
   new Float:tmpdis;
   GetPlayerPos(playerid,x1,y1,z1);
   GetPlayerPos(playeridnr2,x2,y2,z2);
   tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+ floatpower(floatabs(floatsub(y2,y1)),2)+ floatpower(floatabs(floatsub(z2,z1)),2));
   return floatround(tmpdis);
}

Kód:
stock GetClosestPlayer(playerid)
{
    new Float:cdist, targetid = -1;
    for (new i = 0; i < MAX_SLOTS; i++)
    {
        if (IsPlayerConnected(i) && playerid != i && (targetid < 0 || cdist > GetDistanceBetweenPlayers(playerid, i)))
        {
            targetid = i;
            cdist = GetDistanceBetweenPlayers(playerid, i);
        }
    }
    return targetid;
}

_________________
Omlouvám se všem, které jsem tu někdy urazil, dal jim ban nebo jim provedl cokoliv jiného, co se jim nelíbilo.

Twitter: @Cinska_polivka
Last.fm: Chinese_soup
XMPP (Jabber): Cinska_polivka@jabbim.com"
IRC: Chinese_soup @ IRCNet, Freenode, CZFree


Offline
 Profil  
 Předmět příspěvku: Re: Užitečné funkce
PříspěvekNapsal: stř 06. led 2010 22:23:10 
Lance Wilson "Ryder"
Lance Wilson "Ryder"
Uživatelský avatar
Registrován: stř 20. srp 2008 10:24:58
Příspěvky: 2444

Tato funkce vám zjistí ID bota podle jména. ( vrací ID bota )
Kód:
stock NPC(botnick[]){
   if(strlen(botnick) == 0) return 1;
   new id;
   for(new i=0;i<GetMaxPlayers();i++){
      if(IsPlayerConnected(i) && IsPlayerNPC(i)){
         new botname[MAX_PLAYER_NAME];
         GetPlayerName(i, botname, MAX_PLAYER_NAME);
         if(strcmp(botname, botnick, false) == 0){
             id = i;
             break;
         }
      }
   }
   return id;
}

příklad použití funkce v podmínce:
Kód:
if(IsPlayerInAnyVehicle(NPC("Bot1")) // pokud je bot s jménem "Bot1" ve vozidle

_________________

Každý má právo na svůj názor . . .
. . . ale někdy stojí za to, se nad sebou zamyslet



Obrázek

Obrázek

Obrázek


Naposledy upravil FreeWall dne pát 16. zář 2011 19:06:07, celkově upraveno 1

Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: úte 16. úno 2010 20:13:08 
Sean Johnson "Sweet"
Sean Johnson "Sweet"
Uživatelský avatar
Registrován: pon 29. čer 2009 17:47:40
Příspěvky: 3165
Bydliště: Petrovice u Sedlčan

Tady máš některé mé funkce ...:
Spoiler:
takže funkce GivePlayerWantedLevel:
Kód:
stock GivePlayerWantedLevel(playerid, level)
{
SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) + level);
return 1;
}

aneb touto funkcí můžeme přidat hráči WL napříkad takto:
Kód:
GivePlayerWantedLevel(playerid, 9); // tímto přidáme hráči WantedLevel + 9.

[hr][/hr]
funkce GivePlayerHealth:
Kód:
stock GivePlayerHealth(playerid, Float:zdravi)
{
new Float:HP
SetPlayerHealth(playerid, GetPlayerHealth(playerid,HP) + zdravi);
return 1;
}

aneb touto funkcí můžeme přidat hráči zdraví napříkad takto:
Kód:
GivePlayerHealth(playerid, 9); // tímto přidáme hráči zdraví + 9.

[hr][/hr]
funkce GivePlayerDrunkLevel:
Kód:
stock GivePlayerDrunkLevel(playerid, level)
{
SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid) + level);
return 1;
}

aneb touto funkcí můžeme přidat hráči picí level napříkad takto:
Kód:
GivePlayerDrunkLevel(playerid, 9); // tímto přidáme hráči zdraví + 9.

[hr][/hr]
funkce GiveMoneyForAll:
Kód:
stock GiveMoneyForAll(suma)
{
for(new s=0; s< 500; s++)
{
if(IsPlayerConnected(s))
{
GivePlayerMoney(s, suma);
}
}
return 1;
}

aneb touto funkcí můžeme přidat všem hráčům peníze takto:
Kód:
GiveMoneyForAll(9); // tímto přidáme všem hráčům peníze + 9$.

[hr][/hr]
funkce GiveWeaponForAll:
Kód:
stock GiveWeaponForAll(weapon_id, slots)
{
for(new w=0; w< 500; w++)
{
if(IsPlayerConnected(w))
{
GivePlayerWeapon(w, weapon_id, slots);
}
}
return 1;
}

aneb touto funkcí přidáme danou zbran s danýma nábojema všem hráčům například takto:
Kód:
GiveWeaponForAll(30,100); // tímto přidáme všem hráčům zbran ID 30 s 100 slotama munice.

_________________
Obrázek
Obrázek
Obrázek

[FS] Titanic


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pon 19. dub 2010 16:03:56 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 04. pro 2008 12:15:11
Příspěvky: 4563
Bydliště: @home

DisableBadWord(word[])
word[] - slovo které bude zakázáno (cenzurovano)

Kód:
#define DisableBadword(%1) for(new i=0; i<strlen(text); i++) if(strfind(text[i], %1, true) == 0) for(new a=0; a<256; a++) if (a >= i && a < i+strlen(%1)) text[a]='*'


misto text[a]='*' si mužete dat misto hvezdicky cokoli co se misto cenzurovaneho slova objevi

-- pon 19. dub 2010 16:04:41 --

rasto5300 píše:
hmm dobre!!

-----------------------------------------------------------------------------------
Obrázek



nepište sem hmmm dobre, ale spíše piště také funkce!!

_________________
Omlouvám se všem, které jsem tu někdy urazil, dal jim ban nebo jim provedl cokoliv jiného, co se jim nelíbilo.

Twitter: @Cinska_polivka
Last.fm: Chinese_soup
XMPP (Jabber): Cinska_polivka@jabbim.com"
IRC: Chinese_soup @ IRCNet, Freenode, CZFree


Offline
 Profil  
 Předmět příspěvku: Skore
PříspěvekNapsal: pon 26. dub 2010 14:49:41 
Jeffery Wilson "OG LOC"
Jeffery Wilson "OG LOC"
Uživatelský avatar
Registrován: pát 13. lis 2009 19:47:35
Příspěvky: 1061

Skore v Seznamu hracu "TAB"

Do public OnGameModeInit()
Kód:
SetTimer("ScoreUpdate", 1000, true);

Pak nekam do modu
Kód:
public ScoreUpdate()
{
for ( new i;i<200;i++)
{
SetPlayerScore(i,GetPlayerMoney(i));
}
}

_________________
Obrázek
Minecraftuj.eu - Nejen herní server, ale portál o hře Minecraft. Prohlížejte si videa, stahujte přímo z webu užitečné utility nebo si jen čtěte nejnovější zprávy z vývoje Minecraftu.
Original Minecraft Zdarma


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pon 26. dub 2010 16:28:12 

Tak sem pridám nejaké svoje funkcie možno niekomu pomôžu ;)

PortPlayer(playerid, car,interior,Float:x,Float:y,Float:z)
car - 1-port s autom 0-port bez auta
interior - ID interioru
Float:x,Float:y,Float:z - súradnice
Kód:
forward PortPlayer(playerid, car,interior,Float:x,Float:y,Float:z);
public PortPlayer(playerid, car,interior,Float:x,Float:y,Float:z)
{
SetPlayerInterior(playerid,interior);
SetPlayerPos(playerid,Float:x,Float:y,Float:z);

if(car == 1) {
if(IsPlayerInAnyVehicle(playerid)) {
SetVehiclePos(GetPlayerVehicleID(playerid), Float:x,Float:y+2,Float:z);
PutPlayerInVehicle(playerid,GetPlayerVehicleID(playerid), 0);
}
}

   return 1;
}


a funkcia na vytvorenie infoboxu
CreateBox(playerid, inputtext [])
inputtext - náš vlastný text
Kód:
forward CreateBox(playerid, inputtext []);
public CreateBox(playerid,inputtext [])
{

   box = TextDrawCreate(17.000000, 142.000000,inputtext);
TextDrawBackgroundColor(box, 255);
TextDrawFont(box, 3);
TextDrawLetterSize(box, 0.519999, 1.200000);
TextDrawColor(box, -1);
TextDrawSetOutline(box, 0);
TextDrawSetProportional(box, 1);
TextDrawSetShadow(box, 1);
TextDrawUseBox(box, 1);
TextDrawBoxColor(box, 255);
TextDrawTextSize(box, 221.000000, 0.000000);


   TextDrawShowForPlayer(playerid, box);
   SetTimerEx("skrybox",7000,0,"i",playerid);


   return 1;
}
forward skrybox(playerid);
public skrybox(playerid)
{
TextDrawHideForPlayer(playerid, box);


}


a takto vyzerá náš infobox
Obrázek

PS : môj prvý výtvor.


  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pon 26. dub 2010 17:40:37 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: stř 18. úno 2009 12:34:23
Příspěvky: 2626

Funkce která zjistí jestli se auto používá

Kód:
stock IsVehicleInUse(vehicleid)
{
   new temp;
   for(new i=0;i<MAX_PLAYERS;i++)
   {
      if(IsPlayerConnected(i) && GetPlayerState(i)==PLAYER_STATE_DRIVER && GetPlayerVehicleID(i)==vehicleid)
      {
         temp++;
      }
   }
   if(temp > 0)
   {
      return true;
   }
   else return false;
}

_________________
AdminBot Osfald v4.0

Aktuální práce:
The BlueShark
AdminBot Osvald v4.1

Pub4Fun Freeroam RELOADED


Další práce v budoucnu:
AdminBot Osvald v5.0
- (90% že bude)
Game Over - The Next Series - nejisté


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pát 30. dub 2010 18:29:43 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4559
Bydliště: Blava ne ?

taka kravinka...

stock
Kód:
AddStaticVehicleInVirtualWorld(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:angle, color1, color2,vw)
   {
    SetVehicleVirtualWorld(AddStaticVehicle(modelid, spawn_x, spawn_y, spawn_z, angle, color1, color2), vw);
   }

je to staticke auto vo virtual worlde... inac ak date -1 tak to pojde vo vsetkych svetoch...
je do odo mna >D taka blbost...

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty.
"Pravda je ze ja jsem zacal delat pawn od 0.3a, ale ja jsem se neucil pawn podle wiki ale sam... " by Ceeker


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pát 30. dub 2010 19:45:44 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: stř 18. úno 2009 12:34:23
Příspěvky: 2626



Samé zajímavé FCE xD :D

_________________
AdminBot Osfald v4.0

Aktuální práce:
The BlueShark
AdminBot Osvald v4.1

Pub4Fun Freeroam RELOADED


Další práce v budoucnu:
AdminBot Osvald v5.0
- (90% že bude)
Game Over - The Next Series - nejisté


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: sob 01. kvě 2010 8:03:12 
Eddie Pulaski
Eddie Pulaski
Registrován: pon 05. říj 2009 19:36:07
Příspěvky: 1531
Bydliště: Ostrava

MultiLanguage Dialog


Kód:
stock LanguageDialog(playerid, dialog, styldialog, czhlavicka[], enhlavicka[], czobsah[], enobsah[], cztlacidlo[], entlacidlo[], cztlacidlo2[],entlacidlo2[])
{
switch(Jazyk[playerid])
{
case 1: ShowPlayerDialog(playerid, dialog, styldialog, czhlavicka, czobsah, cztlacidlo, cztlacidlo2);
case 2: ShowPlayerDialog(playerid, dialog, styldialog, enhlavicka, enobsah, entlacidlo, entlacidlo2);
}
return 1;
}


- Je to jako normalní dialog až na to že je to rozdělene

Citace:
Playerid : Znamená že se ukáže nějakému hráčovi kterého si vyberete
- Dialog : ID Dialogu kterého chcete vytvořit
- styldialog : Třeba dialog_style_list
- czhlavicka : Nádpis dialogu
- czobsah : Texty co budou v dialogu
- cztlacidlo : První Tlačítko
- cztlacidlo2 : Druhé Tlačítko

Druhá vrstva ( Anglická je stejna )


Copyright (c) 2010 - 2011 by B4RR0N & Nikdo jinný! xD

_________________
Nicky, kterýma přijíždím servery: Bl4ck.J0k3r nebo Tatarska_Omacka :)


Naposledy upravil nVidiaX dne sob 04. zář 2010 20:39:25, celkově upraveno 1

Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: sob 01. kvě 2010 8:49:04 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 04. pro 2008 12:15:11
Příspěvky: 4563
Bydliště: @home

Marwin37 píše:


Nebud zase vtipnej! :D měl si zkopčit celej topic (přispevky) ne sem dat odkaz vime že tohle je kopirka :D

_________________
Omlouvám se všem, které jsem tu někdy urazil, dal jim ban nebo jim provedl cokoliv jiného, co se jim nelíbilo.

Twitter: @Cinska_polivka
Last.fm: Chinese_soup
XMPP (Jabber): Cinska_polivka@jabbim.com"
IRC: Chinese_soup @ IRCNet, Freenode, CZFree


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: sob 26. čer 2010 8:34:35 
Carl Johnson "CJ"
Carl Johnson "CJ"
Registrován: stř 19. srp 2009 17:31:39
Příspěvky: 6369

By MaverickCZE

Koukal jsem do apache.inc a jsou tam některé zajímavé stocky tak sem dám jen pár a zbytek si vemte samy - http://www.pawno.cz/include/apache.inc

[hr][/hr]

A_SPMI - Zabranuje vytvareni MapIcon pro neexistujici hrace.
Spoiler:
Kód:
stock A_SPMI(playerid,iconid,Float:x,Float:y,Float:z,typ)
{
  if(IsPlayerConnected(playerid)) SetPlayerMapIcon(playerid,iconid,x,y,z,typ,0);
}


stock GetVehicleType - Zjistí jestli sedíte v autě, letadle, na motorce a vrátí danou hodnotu.
Spoiler:
Kód:
stock GetVehicleType(vehicleid)
{
   new model = GetVehicleModel(vehicleid);

   if(model > 399 && model < 613)
   {
   switch(model)
   {
   case 590,569,537,538,570,449: return TYPE_TRAIN;
   case 481,509,510,581,462,521,463,522,461,448,468,586: return TYPE_BIKES;
   case 592,577,511,548,512,593,425,417,487,553,488,497,563,476,447,519,460,469,513,520: return TYPE_AIRPLANE;
   case 472,473,493,595,484,430,453,452,446,454: return TYPE_BOATS;
   case 441,464,594,465,501,564: return TYPE_RC;
   default: return TYPE_CAR;
   }
   }
   return false;
}


stock ResetPlayer // Resetuje hraci uplne vsechno. (Money, Weapon, Wanted...)
Spoiler:
Kód:
stock ResetPlayer(playerid)
{
   if(IsPlayerConnected(playerid))
   {
       ResetPlayerMoney(playerid);
       SetPlayerWantedLevel(playerid, 0);
       ResetPlayerWeapons(playerid);
       SetPlayerScore(playerid, 0);
       SetPlayerHealth(playerid, 100.0);
       SetPlayerArmour(playerid, 0.0);
       SetPlayerWeather(playerid, 10);
       DisablePlayerCheckpoint(playerid);
       DisablePlayerRaceCheckpoint(playerid);
       ClearAnimations(playerid);
       SetCameraBehindPlayer(playerid);
       SetPlayerVirtualWorld(playerid, 0);
       TogglePlayerSpectating(playerid, 0);
   }
}



Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: ned 05. zář 2010 8:40:40 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4559
Bydliště: Blava ne ?

Kód:
#define ForEx(%0,%1) for(new %0; %0<%1; %0++)

Kód:
#define ForConnected(%0,%1) for(new %0; %0<%1; %0++) if(IsPlayerConnected(%0))

jednoducho skrátene for
ForConnected => nemusíte dávať
Spoiler:
for(new i; i < Players; i++){
if(IsPlayerConnected(i)){
..
}}


ale iba jednoducho
ForConnected(i,Players){
...
}
a ForEx je teoreticky to isté ale nie iba pre hráčov, npr. na zničenie objektov
new objects[10];
objects[0] = createobject...
objects[1] = createobject...
....

a potom
Spoiler:
ForEx(i,10){
DestroyObject(objects[i]);
}

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty.
"Pravda je ze ja jsem zacal delat pawn od 0.3a, ale ja jsem se neucil pawn podle wiki ale sam... " by Ceeker


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: čtv 16. zář 2010 20:16:28 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 04. pro 2008 12:15:11
Příspěvky: 4563
Bydliště: @home

Kód:
stock GetDistanceBetweenVehicles(vehicleid, vehicleid2)
{
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    new Float:tmpdis;
    GetVehiclePos(vehicleid,x1,y1,z1);
    GetVehiclePos(vehicleid2,x2,y2,z2);
    tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    return floatround(tmpdis);
}

Kód:
stock GetDistanceBetweenPlayers(playerid, playerid2)
{
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    new Float:tmpdis;
    GetPlayerPos(playerid,x1,y1,z1);
    GetPlayerPos(playerid2,x2,y2,z2);
    tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    return floatround(tmpdis);
}


Kód:
stock GetPlayerVehicleModel(playerid)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    new model = GetVehicleModel(vehicleid);
    return model;
}

_________________
Omlouvám se všem, které jsem tu někdy urazil, dal jim ban nebo jim provedl cokoliv jiného, co se jim nelíbilo.

Twitter: @Cinska_polivka
Last.fm: Chinese_soup
XMPP (Jabber): Cinska_polivka@jabbim.com"
IRC: Chinese_soup @ IRCNet, Freenode, CZFree


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pon 04. říj 2010 10:43:49 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4559
Bydliště: Blava ne ?

stock GivePlayerHealth(playerid,Float:health){//by QWER :D
SetPlayerHealth(playerid,GetPlayerHealth(playerid)+health);
if(GetPlayerHealth(playerid) > 100) SetPlayerHealth(playerid,100);
}


Kuba5 to tvoje ani nešlo :D (ked má 6 wl tak mu pridá 6 xD ? :D )

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty.
"Pravda je ze ja jsem zacal delat pawn od 0.3a, ale ja jsem se neucil pawn podle wiki ale sam... " by Ceeker


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pon 04. říj 2010 13:40:26 
Eddie Pulaski
Eddie Pulaski
Uživatelský avatar
Registrován: pát 02. říj 2009 13:59:22
Příspěvky: 1455
Bydliště: ?????????

tady mate nejakev ty funkce byl to muj prvni includ ktery sem delal asi pred rokem a pul kdyz sem zacina ldelat life that 1
http://www.ulozto.cz/6060187/frajtr2-inc
Dnes sem to akorát nakopal z life that 1 do includu


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: ned 06. úno 2011 11:10:32 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4559
Bydliště: Blava ne ?

#undef AddStaticVehicle AddStaticVehicleXX
stock AddStaticVehicleXX(spz[],modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2){
SetVehicleNumberPlate(AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2), spz);
}

využitie ?
AddStaticVehicle("BA-146RH",522, 52, 50, 5, 359, -1, -1);
AddStaticVehicle("BA-536AR",522, 52, 50, 5, 359, -1, -1);
AddStaticVehicle("PK-444JK",522, 52, 50, 5, 359, -1, -1);
PK ? Akože PK ? akože že pezínsky koko* ? :D
užívajte v zdraví

čiže AddStaticVehicle s ŠPZ-tkou

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty.
"Pravda je ze ja jsem zacal delat pawn od 0.3a, ale ja jsem se neucil pawn podle wiki ale sam... " by Ceeker


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pát 01. dub 2011 15:42:20 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: úte 03. lis 2009 22:16:28
Příspěvky: 95

Kód:
stock GetWeaponSlot(model)
{
   switch(model)
        {
         case 0,1: return 0;
         case 2..9: return 1;
         case 10..15: return 10;
         case 16..18,39: return 8;
         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,36,37,38: return 7;
         case 41..43: return 9;
         case 44..46: return 11;
         }
         return -1;
}

Napriklad:
Kód:
new zbran=GetPlayerWeapon(playerid);
new str[128];
format(str,128,"Drzis zbran %d, ktora patri do slotu cislo %d",zbran,GetWeaponSlot(zbran));

_________________
[TuT]Anti-Godmode
[TuT]Tuning auta - All in one
[TuT]Jednoduche rozmiestnovanie aut
[TuT]ESC Pauza
[TuT]Premenovanie (vratane DUDB)
[TuT]Tag, untag, a ine hratky s SetPlayerChatBubble
[INC]Prehadzovanie zbrani v aute (Q+E)

Obrázek


Offline
 Profil  
 Předmět příspěvku: [Tut] Useful Functions
PříspěvekNapsal: úte 17. kvě 2011 21:55:48 
Nováček
Nováček
Uživatelský avatar
Registrován: úte 17. kvě 2011 21:20:58
Příspěvky: 12

Ahoj všichni, jsem tady na fórku nový a tak bych zde chtěl jako první svůj příspěvek zveřejnit pár užitečných funkcí, které jsem vytvořil při tvorbě svých módů... Zezačátku pár funkcí, ale občas budu příspěvek aktualizovat a přidávat nové funkce...

PorovnatCisla(...)
- Funkce porovná vždy 2 čísla která jsou vedle sebe (např. v příkladu níže tyto čísla: 2 a 3; 4 a 5; 8 a 9; 10 a 6) a vrátí počet stejných čísel...
- Musí být zadaný sudý počet čísel
Kód:
stock PorovnatCisla(...){
   new stejnych = 0;

   for(new i=0; i<(numargs() / 2); i++){
      if(getarg(i) == getarg((i + 1))) stejnych++;
   }
   
   return stejnych;
}

Příklad:
Kód:
PorovnatCisla(2, 3, 4, 5, 8, 9, 10, 6);


PocetStejnychCisel(...)
- Podobná funkce jako předchozí, akorát funkce porovná každé číslo s každým... vhodné např. pro loterii.
Kód:
stock PocetStejnychCisel(...){
   new stejnych = 0;
   
   for(new i=0; i<numargs(); i++){
       for(new y=0; y<numargs(); y++){
           if(y != i){
               if(getarg(i) == getarg(y)) stejnych++;
           }
       }
   }
   
   return stejnych;
}

Příklad:
Kód:
PocetStejnychCisel(10, 5, 6, 8, 9, 10, 2, 10);


IsSkinFemale(skinid)
- Zjistí jestli zadaný skin je žena...
Kód:
stock IsSkinFemale(skinid){
   switch(skinid){
      case 9..13,31,39,40,41,54..56,63,64,69,75..77,85..90: return 1;
      case 92,93,129..131,138,140,141,145,148,150..152,157: return 1;
      case 169,172,178,190..199,201,205,207,211,214..216: return 1;
      case 218,219,224..226,231..233,237,238,243..246,251: return 1;
      case 256,257,263,298: return 1;
      default: return 0;
   }
   
   return 1;
}


UlozData(cesta[], ...)
- Jednoduché uložení dat do souboru (zatím pouze typu integer - čísla)
Kód:
stock UlozData(cesta[], ...){
   new soubor[64], polozka[64], id = 0;
    format(soubor, sizeof(soubor), "%s.txt", cesta);
   
    if(dini_Exists(soubor)){
        ulozeni_dat:
            for(new i=1; i<(numargs()); i++){
               format(polozka, sizeof(polozka), "%d", id);
               dini_IntSet(soubor ,polozka, getarg(i, 0));
               id++;
            }
    } else {
      dini_Create(soubor);
      goto ulozeni_dat;
   }
}

Příklad:
Kód:
UlozData("test", playerid, GetPlayerWeapon(playerid));

- Vytvoří soubor test.txt ve složce scriptfiles a uloží do něj id hráče a aktuální zbraň kterou hráč drží...

NactiData(cesta[], index)
- Načte data ze souboru, který byl vytvořený funkcí ,,UlozData"...
Kód:
forward NactiData(cesta[], index);
public NactiData(cesta[], index){
    new soubor[64], polozka[64];
   
    format(soubor, sizeof(soubor), "%s.txt", cesta);
    format(polozka, sizeof(polozka), "%d", index);
   
    if(dini_Exists(soubor)) return dini_Int(soubor, polozka);

    return -1;
}

Příklad:
Kód:
NactiData("test", 0);

- Načte ze souboru test.txt první položku, která byla uložená funkcí ,,UlozData"... v našem případě je to playerid

_________________
Caligua Software
$$Andreas Times 2$$
=============================================
GM: Andreas Times 2 by Marsal and Tux[20%]


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pon 06. čer 2011 20:08:32 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: sob 29. led 2011 0:00:16
Příspěvky: 108

vytaženo vše z mého INC

Kód:
stock IsPlayerInWater(playerid) {
        new anim = GetPlayerAnimationIndex(playerid);
        if (((anim >=  1538) && (anim <= 1542)) || (anim == 1544) || (anim == 1250) || (anim == 1062)) return 1;
        return 0;
}

Kód:
stock IsPlayerAiming(playerid) {
   new anim = GetPlayerAnimationIndex(playerid);
   if (((anim >= 1160) && (anim <= 1163)) || (anim == 1167) || (anim == 1365) ||
   (anim == 1643) || (anim == 1453) || (anim == 220)) return 1;
    return 0;
}


Kód:
stock PlayerIp(playerid)
{
      new ip[16];
   GetPlayerIp(playerid,ip,16);
   return ip;
}

Kód:
stock IsNumeric(const string[]) {
   new length=strlen(string);
   if (length==0) return false;
   for (new i = 0; i < length; i++) {
      if (
      (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+')
      || (string[i]=='-' && i!=0)
      || (string[i]=='+' && i!=0)
      ) return false;
   }
   if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
   return true;
}


Kód:
stock IsPlayerInLS(playerid)
{
   new Float:x,Float:y,Float:z;
   GetPlayerPos(playerid, x, y, z);
   if(x >= 238.45492553711 && x <= 2920.5192871094 && y >= -2723.2412109375 && y <= 427.88403320313)
   {
   return 1;
   }
return 0;
}

//=========================================================================== LV
stock IsPlayerInLV(playerid)
{
   new Float:x,Float:y,Float:z;
   GetPlayerPos(playerid, x, y, z);
   if(x >= -528.79284667969 && x <= 3052.1303710938 && y >= 559.11853027344 && y <= 3149.9541015625)
   {
   return 1;
   }
return 0;
}

Kód:
stock SCMToAdmins(color, zprava[])
{
   for(new i;i<=MAX_PLAYERS;i++)
      {
      if(IsPlayerAdmin(i) && IsPlayerConnected(i))
      {
      SendClientMessage(i, color, zprava);
      }
     }
}


tak aspon něco ode mě :)

_________________
K zamračení je potřeba 23 svalů… na vytažení pojistky granátu jen 6.
ObrázekObrázekObrázekObrázekObrázekObrázek
Anti-Lams team
Řešíme lams help topicy stylem:
• Nebudeme ti dělat kód na přání
• Nebudeme postovat celý script do tvého helpu
• Opravíme ti tvůj kód, když u tebe uvidíme snahu
Pokud souhlasíš, zkopíruj si to do podpisu


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pát 15. črc 2011 14:44:53 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: sob 16. říj 2010 16:16:27
Příspěvky: 654
Bydliště: Nitra, Slovensko

Ahoj vytvoril som jednoduchú funkciu na usmrtenie všetkých hráčov...či to tu je to neviem ale viem, že toto som písal sám!

Kód:
forward KillAllPlayers();
public KillAllPlayers()
{
        for(new i;i<MAX_PLAYERS;i++)
        {
                if(IsPlayerConnected(i))
                {
                        SetPlayerHealth(i,0);
                }
        }
        return 1;
}


Malo by to fungovať :)

_________________
Obrázek

Obrázek


Naposledy upravil _Martin_ dne pát 15. črc 2011 15:34:10, celkově upraveno 1

Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pát 15. črc 2011 15:09:07 

Aj ja som spravil pár funkcií... Zo zbraňami...

Kód:
stock RemovePlayerWeapon(playeridweaponid,ammo) {
new 
wd[2][13];
for(new 
ii<13i++) GetPlayerWeaponData(playerid,i,wd[0][i],wd[1][i]);
ResetPlayerWeapons(playerid);
for(new 
ii<13i++){
if(
wd[0][i] == weaponid){
if(
wd[1][i] > ammo){
new 
newammo wd[1][i]-ammo;
GivePlayerWeapon playeridwd[0][i], newammo);
continue;
}else{
continue;
}
}
GivePlayerWeapon playeridwd[0][i], wd[1][i]);
}


Removne hráčovy zbraň... a náboje (ak chcete...) je to super, môžete niekomu zmazať iba polovicu nábojov... alebo iba 5... :)
npr.
Spoiler:
public OnPlayerDeath(playerid,killerid,reason){
if(gteam[killerid] == gteam[playerid]){
RemovePlayerWeapon(killerid,GetPlayerWeapon(killerid),GetPlayerAmmo(killerid)/2);
}
}

Ak spraví hráč team kill, zobere mu to polovicu nábojov

Kód:
stock GetPlayerWeaponAmmo(playerid,weaponid){
new 
wd[2][13];
for(new 
ii<13i++) GetPlayerWeaponData(playerid,i,wd[0][i],wd[1][i]);
for(new 
ii<13i++){
if(
weaponid == wd[0][i]) return wd[1][i];
}
return 
false;

Ďalšia super funkcia z mojej dielne, funkcia "GetPlayerAmmo" zistí iba náboje v práve držanej zbrane... táto funkcia to zistí aj keď má v ruke inú zbraň...
npr.
Spoiler:
if(GetPlayerWeaponAmmo(playerid,38) > 0) RemovePlayerWeapon(playerid,38,99999);


Kód:

stock GetPlayerWeaponEx
(playerid,weaponid){
new 
wd[2];
GetPlayerWeaponData(playerid,GetWeaponSlot(weaponid),wd[0],wd[1]);
if(
weaponid == wd[0] && wd[1] > 0) return true;
return 
false;

Toto je funkcia potobná GetPlayerWeaponAmmo, jednoducho zistí či hráč danú zbraň má (nemusí ju mať práve vytiahnutú) alebo nie...
npr.
Spoiler:
if(GetPlayerWeaponEx(playerid,26) SCM(playerid,color,"Nice sawnoff-shotgun !");


Kód:

stock GetWeaponSlot
(weaponid)
{
   switch (
weaponid)
   {
       case 
0,1: return 0;
       case 
2..9: return 1;
       case 
10..15: return 10;
       case 
16..18,39: return 8;
       case 
22..24: return 2;
       case 
25..27: return 3;
       case 
28,29,32: return 4;
       case 
33,34: return 6;
       case 
35..38: return 7;
       case 
41..43: return 9;
       case 
44..46: return 11;
       default: return 
12;
   }
   return 
12;

funkcia na zistenie slotu zbrane podľa id zbrane...


  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: pát 15. črc 2011 15:33:47 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: sob 16. říj 2010 16:16:27
Příspěvky: 654
Bydliště: Nitra, Slovensko

KickEx


Kód:
stock KickEx(playerid,dovod)
{
        new dovod1[80];
        new meno[25];
        GetPlayerName(playerid,meno,25);
        format(dovod1,80,"Hráč %s bol vyhodený za %s",meno,dovod);
        SendClientMessageToAll(0xFFFFFFFF,dovod1);
        Kick(playerid);
        return 1;
}


...Neviem či sa to hodí do stocku, teraz som to napísal (No copy!)

_________________
Obrázek

Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: stř 17. srp 2011 15:14:01 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

IsPointInPolygon
autor: RyDeR (samp fórum)

Super funkce, která se může hodně lidem hodit.
Zjišťuje, jestli je určený bod ve vybrané oblasti.

Využití:
*Nepravidelné oblasti
*Pravidelné n-úhelníky (pro pravidelný 4úhelník rovnoběžný s osami je výhodnější použít IsPlayerInArea !!!)

Kód:
Spoiler:
Kód:
stock IsPointInPolygon(Float: point_X, Float: point_Y, { Float, _ }: ...)
{
    #define MAX_POINTS (32)
    
    new
        args_Total 
= numargs(),
        polygon_Sides = (args_Total - 2) / 2
    
;
    if((args_Total - 2) & 0b1 || MAX_POINTS <= polygon_Sides || polygon_Sides < 3)
        return 0;
        
    new
        Float
: polygon_Data[2][MAX_POINTS],
        cross_Total
    
;
    #undef MAX_POINTS
    
    for
(new i = 2, j; i < args_Total; i += 2, ++j)
    {
        polygon_Data[0][j] = Float: getarg(i);
        polygon_Data[1][j] = Float: getarg(+ 1);
    }
    for(new i, j = polygon_Sides - 1; i < polygon_Sides; j = i, ++i)
    {
        if(polygon_Data[1][i] < point_Y && polygon_Data[1][j] >= point_Y || polygon_Data[1][j] < point_Y && polygon_Data[1][i] >= point_Y)
        {
            if(polygon_Data[0][i] + (point_Y - polygon_Data[1][i]) / (polygon_Data[1][j] - polygon_Data[1][i]) * (polygon_Data[0][j] - polygon_Data[0][i]) < point_X)
            {
                cross_Total++;
            }
        }
    }
    return cross_Total & 0b1;   
}


Funkce vrací hodnoty 0,1

Zde máte i zobrazení, jak to celé funguje:
Spoiler:
Obrázek

Modré body vyznačují námi zvolenou oblast a červené body jsou ty, u kterých zjišťujeme, zda jsou v oblasti nebo ne. Body číslo 1,2 se v oblasti nacházejí, číslo 3 nikoli.

A teď si ukážeme, jak zadat tuto funkci do pawna. Použijeme oblast z předchozí obrázku a budeme kontrolovat, zda je bod číslo 1 v oblasti.

Citace:
if(IsPointInPolygon(1931.93, 958.42, //Souřadnice bodu 1
402.31, 944.28, //Souřadnice bodu A polygonu
1011.81, 1388.28, //Souřadnice bodu B polygonu
1797.5, 1208.28, //Souřadnice bodu C polygonu
2186.37, 666.28, //Souřadnice bodu D polygonu
1718.13, 1138.28, //Souřadnice bodu E polygonu
1232.44, 1218.28, //Souřadnice bodu F polygonu
1470.52, 358.28, //Souřadnice bodu G polygonu
359.45, 228.28, //Souřadnice bodu H polygonu
1091.17, 720.28 //Souřadnice bodu I polygonu
)) {
//Kód: Bod je v polygonu


ORIGINÁLNÍ TOPIC

_________________
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: stř 17. srp 2011 15:16:05 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: sob 16. říj 2010 16:16:27
Příspěvky: 654
Bydliště: Nitra, Slovensko

Toto je pekná funkcia Petr

_________________
Obrázek

Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: stř 17. srp 2011 15:23:35 
Eddie Pulaski
Eddie Pulaski
Uživatelský avatar
Registrován: pát 02. říj 2009 13:59:22
Příspěvky: 1455
Bydliště: ?????????

Tady vám dávám funkci na posílání zbraně
funkci sem si udělal pro Life That

Kód:
stock RemovePlayerWeapon(playerid)
{
new ZbranvRuce = GetPlayerWeapon(playerid);
new Naboje = GetPlayerAmmo(playerid);

return GivePlayerWeapon(playerid,ZbranvRuce,-Naboje);
}

Použití
Kód:
např:

dcmd_sendweapon(playerid, params[])
{

        if(IsPlayerConnected(playerid))
   {
          if(!strlen(params)) return 0;
     if(!IsPlayerConnected(strval(params))) return 0;
     new ZbranvRuce = GetPlayerWeapon(playerid);
     new Naboje = GetPlayerAmmo(playerid);
     GivePlayerWeapon(strval(params),ZbranvRuce,Naboje);
     RemovePlayerWeapon(playerid);
   }
   return 1;
}


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: stř 17. srp 2011 21:15:59 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4559
Bydliště: Blava ne ?

Spravil som funkciu ktorá spolu s auto pridá aj tuning... a aj ŠPZ-tku...

Kód:
stock CreateVehicleWithTuning(plate[],model,Float:x,Float:y,Float:z,Float:a,c1,c2,time,...){
   new vehicle = CreateVehicle(model,x,y,z,a,c1,c2,time);
   SetVehicleNumberPlate(vehicle,plate);

for(new i=9; i<(numargs()); i++){
   AddVehicleComponent(vehicle, getarg(i));
}
return vehicle;
}

neobmedzený počet argumentov... (componentov)

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty.
"Pravda je ze ja jsem zacal delat pawn od 0.3a, ale ja jsem se neucil pawn podle wiki ale sam... " by Ceeker


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: stř 17. srp 2011 21:19:38 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: sob 16. říj 2010 16:16:27
Příspěvky: 654
Bydliště: Nitra, Slovensko

Pekné! :D

-- stř 17. srp 2011 21:22:28 --

Neviem či funguje ale

randomex

Kód:
stock randomex(od,do)
{
        #if od > do
        #error Chyba
        #endif
        new cislo;
        cislo = random(do-do) + do;
        return cislo;
}


Neviem či to funguje len ma to napadlo ;)

_________________
Obrázek

Obrázek


Naposledy upravil _Martin_ dne stř 17. srp 2011 21:44:10, celkově upraveno 1

Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: stř 17. srp 2011 21:31:06 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4559
Bydliště: Blava ne ?

randomex(5,10)

ak je náhodné číslo 5+10 (10 = náhodné číslo) == 15...
niak ti to nevychádza :D

ale pekne to s errorom, len si mohol napísať dôvod :D

Kód:
stock GetID(part[]){
new Name[MAX_PLAYER_NAME];
ForPlayers(i){
GetPlayerName(i,Name,24);
if(strfind(Name,part,true) != -1) return id;
}
    return -1;
}

zistí id podľa nicku...

Kód:
stock GetPlayerFPS(playerid){ // By DraKiNs | Thankz Mr Turtle
SetPVarInt(playerid, "DrunkL", GetPlayerDrunkLevel(playerid));
if(GetPVarInt(playerid, "DrunkL") < 100) SetPlayerDrunkLevel(playerid, 2000);

if(GetPVarInt(playerid, "LDrunkL") != GetPVarInt(playerid, "DrunkL"))
{
SetPVarInt(playerid, "FPS", (GetPVarInt(playerid, "LDrunkL") - GetPVarInt(playerid, "DrunkL")));
SetPVarInt(playerid, "LDrunkL", GetPVarInt(playerid, "DrunkL"));
if((GetPVarInt(playerid, "FPS") > 0) && (GetPVarInt(playerid, "FPS") < 256))
{
return GetPVarInt(playerid, "FPS") - 1;
}
}
    return 0;
}

zistí hráčovo FPS
Kód:
stock FindChar(str[],chars)
{
for(new i;str[i];i++) if(str[i] == chars) return true;
return false;
}

zistí či je niaky znak v stringu...
npr.
public OnPlayerText(...)
if(FindChar(cmd,'$')) return kick(playerid),SCMTAF("Hráč %s je žebrák a žebre $",Jmeno(playerid));

Kód:
stock DeleteChar(string[],chars)
{
for(new i = 0; string[i]; ++i) if(string[i] == chars) string[i] = string[i+1];
return true;
}

zmaže znak npr.

public OnDialogResponse(....)
DeleteChar(inputtext,"%");
if(dialogid ==....

-- stř 17. srp 2011 20:35:29 --

Kód:
stock randomex(min,max)
{
        #if min > max
        #error Min je vacsie ako Max !
        #endif
        new cislo;
        cislo = random(max-min)+min;
        return cislo;
}


randomex(5,10);
random == 5
+ 5
== 10

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty.
"Pravda je ze ja jsem zacal delat pawn od 0.3a, ale ja jsem se neucil pawn podle wiki ale sam... " by Ceeker


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Užitečné funkce
PříspěvekNapsal: stř 17. srp 2011 21:52:51 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: sob 16. říj 2010 16:16:27
Příspěvky: 654
Bydliště: Nitra, Slovensko

Ešte ma napadlo

randomnegative

Píšem len z mobilu... :)

Kód:
stock randomnegative(cislo)
{
        #if cislo < 0
        #error Zlý formát
        #endif
        new cislo2;
        cislo2 = random(cislo) - 2 * cislo;
        return cislo2;
}

_________________
Obrázek

Obrázek


Offline
 Profil  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 39 ]  Přejít na stránku 1, 2  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


 Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na: