Právě je čtv 24. kvě 2012 0:09:26
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ů: 2 ] 
Autor Zpráva
 Předmět příspěvku: [TUT] Tvorime si vlastni funkce
PříspěvekNapsal: čtv 05. srp 2010 17:08:13 
Frank Tempenny
Frank Tempenny
Registrován: sob 10. led 2009 22:02:03
Příspěvky: 1615

Zdravim,
tento tut je pro pokrocilejsi pro lidi kteri chteji pawnu porozumet a ne jen neco udelat a neresit
jak vite pawno ma svoje funkce
SendClientMessage
SetPlayerHealth
cely seznam najdete v includech
uz podle nazvu ponate co to udela.. kdyz ne tak si to proste vyzkousite

svoje funkce muzete tvorit pomoci techto funkci

tak pro priklad si udelame funkci ktera hraci da zbran a bude to od nej chtit za to penize

este pro informaci to stock na zacatku znamena ze pokud v gamemodu tuto funkci nepouzijete tak se do compilace nevytvori (nehodi to warning)
Kód:
stock SellPlayerWeapon(playerid,weapon,ammo,money)
{
   if(GetPlayerMoney(playerid < money))
   {
       new string[128];
       format(string,sizeof(string),"Potrebujete %d$",money);
      SendClientMessage(playerid,0xFFFFFFAA,string);
      return 1;
   }
   GivePlayerMoney(playerid,-money);
   GivePlayerWeapon(playerid,weapon,ammo);
}

jak vite je to snadsi nez kdyz si delate treba prodej zrbani se s tim porad vypisovat takhle to vmrstite do jednoho radku

dale si ukazeme funkci ktera bude odesilat hodnotu
Kód:
stock GetPlayerAmmoToSlot(playerid,slot)
{
   new weapon,ammo;
   GetPlayerWeaponData(playerid,slot,weapn,ammo);
   return ammo;//ke pomoci returt odesleme hodnotu (lze odeslat pouze cele cislo nebo string)
}

dale si ukazeme funkci ktera vam umeni hodnotu prmene a odesle zase zpet
Kód:
stock GetPlayerHealthAndArmour(playerid,&Float:hp,&Float:ar)// to & je infrmace ze se promena zmeni a zase odesle zpet
{
   GetPlayerHealth(playerid,hp);
   GetPlayerArmour(playerid,ar);
}

dale si ukazeme funkci ktera se vyvola pomoci casovase
zde se uz musi pouzit public sel by pouzit i stock ale nedoporucoval bych

S
Kód:
etTimerEx("pp",1000,0,"i",playerid);//za 1 vterinu pouze jednou vyvola public a odesne hodnotu playerid

public pp(playerid)
{
   SetPlayerHealth(playerid,0);
   return 1;
}

a tady uz seznam ruznych funkci (nejsou vsechny odeme)
Kód:
stock WeaponName(weapon)
{
   new Nazev[50];

   if      (weapon ==  0) Nazev = "Nic";
   else if(weapon ==  1) Nazev = "Boxer";
   else if(weapon ==  2) Nazev = "Golfova hul";
   else if(weapon ==  3) Nazev = "Hul";
   else if(weapon ==  4) Nazev = "Nuz";
   else if(weapon ==  5) Nazev = "Baseballka";
   else if(weapon ==  6) Nazev = "Lopata";
   else if(weapon ==  7) Nazev = "Kulecnikova hul";
   else if(weapon ==  8) Nazev = "Katana";
   else if(weapon ==  9) Nazev = "Motorovka";
   else if(weapon == 10) Nazev = "Dildo";
   else if(weapon == 11) Nazev = "Dildo2";
   else if(weapon == 12) Nazev = "Vibrator";
   else if(weapon == 13) Nazev = "Vibrator2";
   else if(weapon == 14) Nazev = "Kvetiny";
   else if(weapon == 15) Nazev = "Cane";
   else if(weapon == 16) Nazev = "Granat";
   else if(weapon == 17) Nazev = "Slzny plyn";
   else if(weapon == 18) Nazev = "Molotovuv koktejl";
   else if(weapon == 22) Nazev = "Kolt45";
   else if(weapon == 23) Nazev = "Pistole s tlumicem";
   else if(weapon == 24) Nazev = "Desert Eagle";
   else if(weapon == 25) Nazev = "Shotgun";
   else if(weapon == 26) Nazev = "Sawn-off Shotgun";
   else if(weapon == 27) Nazev = "Combat Shotgun";
   else if(weapon == 28) Nazev = "Uzi";
   else if(weapon == 29) Nazev = "Mp5";
   else if(weapon == 30) Nazev = "AK47";
   else if(weapon == 31) Nazev = "M4";
   else if(weapon == 32) Nazev = "Tec9";
   else if(weapon == 33) Nazev = "Rifle";
   else if(weapon == 34) Nazev = "Sniperka";
   else if(weapon == 35) Nazev = "Raketomet";
   else if(weapon == 36) Nazev = "Teplonavadeci Raketomet";
   else if(weapon == 37) Nazev = "Plamenomet";
   else if(weapon == 38) Nazev = "Minigun";
   else if(weapon == 39) Nazev = "Satchel";
   else if(weapon == 40) Nazev = "Bomba";
   else if(weapon == 41) Nazev = "Spray";
   else if(weapon == 42) Nazev = "Hasicak";
   else if(weapon == 43) Nazev = "Fotak";
   else if(weapon == 44) Nazev = "Nocni videni";
   else if(weapon == 45) Nazev = "Infracervena vize";
   else if(weapon == 46) Nazev = "Padak";

   return Nazev;
}

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

stock SendMessageToAdmins(color,const string[])
{
   for(new i;i<MAX_PLAYERS_EX;i++)
   {
      if(IsPlayerConnected(i) == 1)
      {
         if(AdminLevel[i] > 0) SendClientMessage(i,color,string);
      }
   }
   return 1;
}

stock SendJobMessage(job,color,text[])
{
   for(new i;i<MAX_PLAYERS_EX;i++)
   {
       if(IsPlayerConnected(i))
       {
           if(Zamestnani[i] == job) SendClientMessage(i,color,text);
      }
   }
   return 1;
}

stock Jmeno(playerid)
{
   new p[MAX_PLAYER_NAME];
   if(IsPlayerConnected(playerid)) GetPlayerName(playerid,p,MAX_PLAYER_NAME);
   return p;
}

//tato funkce se pouziva kdyz ctete ze souboru a potrebujete odmazat ten enter
stock SearchEnd(const string[]) // by Luk_Ass
{
   for(new i=strlen(string) -1; i>-1; i--)
   {
       if(string[i] != '\r' && string[i] != '\n')
       {
         return i +1;
       }
   }
   return false;
}
//tato funkce oddeli cast stringu hned za zvolenym znakem
stock chrfind(n,h[],s=0)
{
   new l=strlen(h);
   while(s<l)
   {
      if(h[s]==n)
      return s;s++;
   }
   return -1;
}
//tato funkce zjistije li string ciselny
stock IsNumeric(string[])
{
   for(new i = 0,j = strlen(string);i < j;i++) if(string[i] > '9' || string[i] < '0') return 0;
   return 1;
}

stock IsPlayerInArea(playerid,Float:minx1,Float:maxx1,Float:miny1,Float:maxy1)
{
   new Float:x,Float:y,Float:z;
   GetPlayerPos(playerid,x,y,z);
   if(x > minx1 && x < maxx1 && y > miny1 && y < maxy1) return 1;
   return 0;
}

stock IsPlayerInLS(playerid)
{
    new Float:xls,Float:yls,Float:zls;
   GetPlayerPos(playerid,xls,yls,zls);
   if(xls > 0 && yls < 0) return 1;
   return 0;
}

stock IsPlayerInSF(playerid)
{
    new Float:xls,Float:yls,Float:zls;
   GetPlayerPos(playerid,xls,yls,zls);
   if(xls < 0) return 1;
   return 0;
}

stock IsPlayerInLV(playerid)
{
    new Float:xls,Float:yls,Float:zls;
   GetPlayerPos(playerid,xls,yls,zls);
   if(xls > 0 && yls > 0) return 1;
   return 0;
}

stock DistanceBTWPlayers(playerid,playerid2)
{
   new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2,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);
}

stock GetVehicleWithinDistance(playerid,Float:x1,Float:y1,Float:z1,Float:dist,&veh)
{
   for(new i;i<MAX_VEHICLES_EX;i++)
   {
      if(GetVehicleModel(i)>0)
      {
         if(GetPlayerVehicleID(playerid) != i)
         {
              new Float:x,Float:y,Float:z,Float:x2,Float:y2,Float:z2;
            GetVehiclePos(i,x,y,z);
            x2 = x1 - x;y2 = y1 - y;z2 = z1 - z;
            new Float:vDist = (x2*x2+y2*y2+z2*z2);
            if(vDist<dist)
            {
               dist = vDist;
               veh = i;
            }
         }
      }
   }
}

stock GetPlayerIDFromName(const name[])
{
   for(new p=0;p<MAX_PLAYERS_EX;p++)
   {
      if(IsPlayerConnected(p))
      {
         new jm[MAX_PLAYER_NAME];
         GetPlayerName(p,jm,MAX_PLAYER_NAME);
         if(strcmp(jm,name,true) == 0) return p;
      }
   }
   return -1;
}
//tato funkce poupravi souradnice tak, aby podle vasi zvolene vzdalenosti vytvoril bod
stock Float:InfrontOf(playerid,&Float:x,&Float:y,Float:vzd)
{
   new Float:a;
   new vehicleid = GetPlayerVehicleID(playerid);
   GetPlayerPos(playerid,x,y,a);
   if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(vehicleid,a);
   else GetPlayerFacingAngle(playerid,a);
   x += (vzd * floatsin(-a,degrees));
   y += (vzd * floatcos(-a,degrees));
   return a;
}

_________________
Poděkujte :
Daffymu za ukradení a zveřejnění rze6, rze7, rze7.3, rze7.4
Luk_assovi za cracknuti rze7.3 rze7.4 rze8
Crispemu za to že to luk_assovi zaplatil. A zveřejnil cracklou rze8
cz_dominik007 za to že zveřejnil craknutou rze7.3 rze7.4
Získání rze8 zatím neni úplně jasné bylo to z přestupu z cpor.eu na (stary) xel.cz

play.superparba.eu:7777
http://www.superparba.eu


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Tvorime si vlastni funkce
PříspěvekNapsal: čtv 05. srp 2010 17:11:07 
Carl Johnson "CJ"
Carl Johnson "CJ"
Registrován: stř 19. srp 2009 17:31:39
Příspěvky: 6369

Ty funkce IsPlayerInLS atd. jsou dobrý :D

Pekny navod :D


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Tvorime si vlastni funkce
PříspěvekNapsal: čtv 05. srp 2010 21:10:13 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: stř 18. úno 2009 12:34:23
Příspěvky: 2626

Sqěle ........ ale tu InfrontOf sem hledal ráno půl hodiny ksakru a ty ji tu ted sem 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  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 

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


 Kdo je online

Uživatelé procházející toto fórum: Bing, Seznam


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: