[TuT] První jednoduché zaměstnání

Sekcia určená pre programovací jazyk pawn.

[TuT] První jednoduché zaměstnání

Poslaťod Radiss » Str 28. Mar 2012 13:14:06

V tomto TuToriálu si názorně ukážeme jak udělat jednoduché Zaměstnání.Třeba Ruská Mafie.

Začneme proměnou.

Nahoře mezi newy si dáme : new ruska[MAX_PLAYERS]; a pod to : new zamestnani[MAX_PLAYERS];

Potom si musíme do :
public OnPlayerSpawn(playerid)
{
povolani[playerid] = 0; // Tohle znamená že je hráč po spawnu nezaměstnaný
return 1;
}
Začátek bychom měli.
Nyní si vytvoříme object. Takže z5 mezi newy a dejte si tam třeba new ruska;

Pokud vytváříte GameMód tak do :

Kód: Vybrať všetko
public OnGameModeInit()
Naopak pokud vytváříte FiletScript tak do public OnPlayerFilterscriptInit()
{
ruska = CreatePickup(1581, 23, X,Y,Z);

[i]Vysvětlení :[/i]
1581 = Pickup který chceme vytvořit , 23 = Toto je číslo spawnu pickupu. (viz http://wiki.sa-mp.com/wiki/PickupTypes) a X,Y,Z  To jsou souřadnice umístění.
Pickup by byl vytvořen. Ale pokud byste zmáčkli F5 Vyhodí to warning. Tudíš musíme do :

Kód: Vybrať všetko
public OnPlayerPickUpPickup(playerid, pickupid)
{
if( pickupid == ruska)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST, "Ruská mafie", "Zaměstnant","OK","");
return 1;
}
return 0;
}


Vysvětlení:
Kód: Vybrať všetko
OnPlayerPickUpPickup - Určuje co se stane když hráč stoupí na pickup.
if( pickupid == ruska) - Pickup na který stoupí
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST, "Ruská mafie", "Zaměstnant","OK",""); - Vyběhne hráči dialog ve kterém se může zaměstnat.


Jenomže pokud kliknete na ikonku v dialogu nic se nestane. Tudíž musíme do :
Kód: Vybrať všetko
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)
    {
    switch(dialogid)
        {
      case 0:
           {
              switch(listitem)// Checking which listitem was selected
           {
               case 0:// The first item listed
               {
                   povolani[playerid] = 1;
                   SetPlayerColor(playerid,0xFF0011FF);
                   new string[128];
                        format(string,sizeof(string),"Hráč %s se připojil k Ruské mafii !",PlayerName(playerid));
         SendClientMessageToAll(0xFF7700FF,string);
         SetSpawnInfo(playerid,1,17,-1969.8873,297.5993,35.1719,2.4933,22,150,25,150,28,150);
         SpawnPlayer(playerid);
               }
         }
                       }
   }
        }
return 1;
}


Vysvětlení:

Kód: Vybrať všetko
if(response)
    {
    switch(dialogid)
        {
   case 2: -- Totok je ID Vašeho dialogu
           {
              switch(listitem)
           {
               case 0: -- A tohle je první kolonka v dialogu.
               {
                   povolani[playerid] = 1; -- Tohle dá hráči povolání
                   SetPlayerColor(playerid,0xFF0011FF); -- Změní hráči barvu nicku ( Můžete si klidně změnit)
                   new string[128];
                        format(string,sizeof(string),"Hráč %s se připojil k Ruské mafii !",PlayerName(playerid));
         SendClientMessageToAll(0xFF7700FF,string);
         SetSpawnInfo(playerid,1,17,X,Y,Z,Weapon1,Weapon1_ammo, Weapon2,weapon2_ammo ,weapon3,weapon3_ammo);
         SpawnPlayer(playerid); -- spawne hráče.
          }
          }
      }
           }
   }


Gratuliji =D Vaše první zaměstnání je hotovo Jejda abych nezapoměl úplně dolů si dejte
Kód: Vybrať všetko
stock PlayerName(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
return pname;
}


[b]Komentujte , [shadow=red,left]Hodnoťte ale NENADÁVEJTE :)
Máteli nějáký problém popř. našli v TuTu nějákou chybu napište jej níže do komentu a společně to vyřešímě ;)
Radiss
Nováčik
Nováčik
 
Príspevky: 37
Registrovaný: Ned 25. Dec 2011 21:53:14

Re: [TuT] První jednoduché zaměstnání

Poslaťod KarTooN » Štv 29. Mar 2012 7:23:20

Jednoduché je to udělat pomocí stocku... AddPovolani(nazev[],Float:X,Float:Y,Float:Z,Float:sX,Float:sY,Float:sZ,VW,INT);
Takto dělat 100 povolání máš na několik hodin... pomocí stocku to máš mnohem rychleji..
Obrázok
KarTooN
Super člen
Super člen
 
Príspevky: 1320
Registrovaný: Pon 27. Jún 2011 9:49:07
Bydlisko: Opava
Obľúbený server?: PTPM

Re: [TuT] První jednoduché zaměstnání

Poslaťod Riso135 » Pia 30. Mar 2012 12:49:27

načo tam dávaš tak velký string ?  ???
btw. nechápem prečo si odtaboval len OnDialogResponse...
Naposledy upravil Anonymous dňa Pia 30. Mar 2012 13:00:57, celkovo upravené 1
Obrázok
Obrázok užívateľa
Riso135
Vo výslužbe
Vo výslužbe
 
Príspevky: 209
Registrovaný: Pia 03. Dec 2010 20:32:03
Bydlisko: Bratislava

Re: [TuT] První jednoduché zaměstnání

Poslaťod TomanKaspa » Štv 16. Jan 2014 16:12:02

Mám problém dám F5 a

C:\Documents and Settings\Petra\Plocha\WoG.pwn(237) : error 017: undefined symbol "ruska"
C:\Documents and Settings\Petra\Plocha\WoG.pwn(350) : error 017: undefined symbol "povolani"
C:\Documents and Settings\Petra\Plocha\WoG.pwn(350) : warning 215: expression has no effect
C:\Documents and Settings\Petra\Plocha\WoG.pwn(350) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\Petra\Plocha\WoG.pwn(350) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Petra\Plocha\WoG.pwn(350) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.

237je:
if( pickupid == ruska)

350je:
povolani[playerid] = 1;
TomanKaspa
Nováčik
Nováčik
 
Príspevky: 10
Registrovaný: Štv 16. Jan 2014 15:48:36

Re: [TuT] První jednoduché zaměstnání

Poslaťod Matess » Pia 17. Jan 2014 10:48:18

new ruska;
new povolani[MAX_PLAYERS];
Matess
Administrátor
Administrátor
 
Príspevky: 764
Registrovaný: Sob 27. Jún 2009 13:43:35
Bydlisko: Ostrov
Obľúbený server?: SHOOTER

Re: [TuT] První jednoduché zaměstnání

Poslaťod TomanKaspa » Pia 17. Jan 2014 14:49:43

D:\Tomas\GTA\World of Gangsters (zaloha).pwn(31) : error 017: undefined symbol "ruska"
D:\Tomas\GTA\World of Gangsters (zaloha).pwn(197) : error 021: symbol already defined: "OnRconCommand"
D:\Tomas\GTA\World of Gangsters (zaloha).pwn(230) : warning 225: unreachable code
D:\Tomas\GTA\World of Gangsters (zaloha).pwn(224) : warning 203: symbol is never used: "ruska"
D:\Tomas\GTA\World of Gangsters (zaloha).pwn(331) : error 001: expected token: "-identifier-", but found "["
D:\Tomas\GTA\World of Gangsters (zaloha).pwn(334) : warning 217: loose indentation
D:\Tomas\GTA\World of Gangsters (zaloha).pwn(335) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.


nejde a to jsme to dělal přesně
TomanKaspa
Nováčik
Nováčik
 
Príspevky: 10
Registrovaný: Štv 16. Jan 2014 15:48:36


Späť na Pawn

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia

cron