Jump to content
  • 0

pomoc problém s Dini


PauleCz

Dotaz

Zdravím .. jsem takový pokročilý začátečník s pawnem :d , ale narazil jsem na problém. Když jsem tuhle dělal řidičák podle tutoriálu ve fóru tak .. vše je oukej řidičák šlape jak má jenže dělal jsem pro 4 skupiny A,B,C,D a nepochopil jsem bool :eh: vůbec netuším jak to mám uložit .. hledám už přes hodinu nějaký jednoduchý návod, ale bohužel, kdyby jste mi někdo mohl jednoduše rozepsat jak na to

new ridicak[MAX_PLAYERS];
 
ridicakA = 0
ridicakB= 1
ridicakC= 2
ridicakD=3

předem moc děkuju :facepalm:

Link to comment
Share on other sites

8 odpovědí na tuto otázku

Recommended Posts

  • 0

Raději přejdi na dof2, ušetříš si hodně trápení a rozhodně si polepšíš... btw, ukládat boolean je snad nejjednoduší věc, co existuje(ukládat jakýkoliv dat. typ(int, float, boolean a str) více primitivněji snad ani nejde). Stačí místo (například)Int ukládat Bool. Přepíšeš slovo ve fci.

Link to comment
Share on other sites

  • 0
  • Administrátor

Bool je proměná která může nabýt pouze hodnot 0 nebo 1.

 

Ten řidičák takto bych nejspíš řešil binárně..

new Ridicak[MAX_PLAYERS];

//Má jen A
Ridcak[playerid] = 1000;

//Má jen B
Ridcak[playerid] = 100;

//Má jen C
Ridcak[playerid] = 10;

//Má jen D
Ridcak[playerid] = 1;

Kombinace

AB
Ridcak[playerid] = 1100;


AC
Ridcak[playerid] = 1010;

Vsechny
Ridcak[playerid] = 1111;

Zádný
Ridcak[playerid] = 0;

Upřímně nevím jak by se stím prakticky pracovalo ( myslím tím jestli by se stím pracovalo dobře nebo špatně ) jen mě to tak napadlo

 

Důležité je si představit hlavně ty 0 na bitech kde jsou.

AB

Ridcak[playerid] = 1100;

Link to comment
Share on other sites

  • 0

Takto?

new pRidicak;

#define r_a 0x00000001
#define r_b 0x00000002
#define r_c 0x00000004
#define r_d 0x00000008

//pridani ridicaku skupiny A
pRidicak |= r_a;

//odebrani ridicaku skupiny C
pRidicak &= ~r_c;

//podminka pokud ma ridicak skupiny B
if(pRidicak & r_

Jinak pokud budeš mít takto málo skupin, můžeš to udělat v "char" poli

Edited by Lukasz
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

jednoduše

 

//========================Autoskola=============================================
if(dialogid == 500)
{
if(response == 1)
//==============================================================================
{
if(listitem == 0) // když klikne na prvni možnost v tabulce ( ŘP A id 0 )
{
//==============================================================================

if(GetPlayerMoney(playerid) < 9999) //když nemá peníze
{
ShowPlayerDialog(playerid,000,DIALOG_STYLE_MSGBOX,"Autoškola","[ ! ] {FF0000}Nemáš 9,000 $ $ !","OK",""); //zobrazíme mu dialog se zprávou
}
else if (ridicak[playerid] == 0 ) //když už má řidičák typu A
{
ShowPlayerDialog(playerid,000,DIALOG_STYLE_MSGBOX,"Autoškola","[ ! ] {FF0000}Už máš řidičák typu A!","OK",""); // zobrazí se mu dialog se zprávou
}
else //když splňuje podmínky
{
GivePlayerMoney(playerid,-2000); //vezmem mu peníze
SendClientMessage(playerid,0x0000FFAA,"[ ! ] Projiždej Cheackpointy!"); //řeknem mu co má dělat
SetPlayerCheckpoint(playerid,-2047.6212,-78.2796,34.7413,7.0); //nastavíme checkpoint číslo 1
skolacar = CreateVehicle(521, -2046.2155,-97.1307,34.8948, 6.6187, random(100), random(100), 1000); //vytvoříme auto
PutPlayerInVehicle(playerid, skolacar,0); //a dáme ho do něj
autoskola[playerid] = 2; //nastavíme CP proměnnou
ridicak[playerid]=0;
}

//==============================================================================
}
else if(listitem == 1) // když klikne na druhou možnost v tabulce ( ŘP B id 1 )
{
//==============================================================================

if(GetPlayerMoney(playerid) < 13000) //když nemá peníze
{
ShowPlayerDialog(playerid,000,DIALOG_STYLE_MSGBOX,"Autoškola","[ ! ] {FF0000}Nemáš 13,000 $ !","OK",""); //zobrazíme mu dialog
}
else if (ridicak[playerid] == 1) // když už má řidičák typu B
{
ShowPlayerDialog(playerid,000,DIALOG_STYLE_MSGBOX,"Autoškola","[ ! ] {FF0000}Už máš řidičák typu B !","OK",""); //řekneme mu že už má řidičák aldshaimr
}
else //když splňuje naše podmínky
{
GivePlayerMoney(playerid,-13000); //čórnem mu prachy
SendClientMessage(playerid,0x0000FFAA,"[ ! ] Projiždej Cheackpointy!"); //řeknem mu co má dělat
SetPlayerCheckpoint(playerid,-2047.6212,-78.2796,34.7413,7.0); //nastavíme checkpoint číslo 1
skolacar = CreateVehicle(405, -2046.2155,-97.1307,34.8948, 6.6187, random(100), random(100), 1000); //vytvoříme auto
PutPlayerInVehicle(playerid, skolacar,1); //a dáme ho do něj
autoskola[playerid] = 2; //nastavíme CP proměnnou
ridicak[playerid]=1;
}
//==============================================================================
}
else if(listitem == 2) // když klikne na třetí možnost v tabulce ( ŘP C id 2 )
{
//==============================================================================

if(GetPlayerMoney(playerid) < 19999) //když nemá prachy bezdomovec
{
ShowPlayerDialog(playerid,000,DIALOG_STYLE_MSGBOX,"Autoškola","[ ! ] {FF0000}Nemáš 20,000 $ !","OK",""); //zobrazíme mu dialog
}
else if (ridicak[playerid] == 2)     //když už má řidičák blbec bedomovec
{
ShowPlayerDialog(playerid,000,DIALOG_STYLE_MSGBOX,"Autoškola","[ ! ] {FF0000}Už máš řidičák typu C!","OK",""); //řekneme mu že už má řidičák aldshaimr
}
else //když splňuje naše podmínky
{
GivePlayerMoney(playerid,-20000); //čórnem mu prachy
SendClientMessage(playerid,0x0000FFAA,"[ ! ] Projiždej Cheackpointy!"); //řeknem mu co má dělat
SetPlayerCheckpoint(playerid,-2047.6212,-78.2796,34.7413,7.0); //nastavíme checkpoint číslo 1
skolacar = CreateVehicle(578, -2046.2155,-97.1307,34.8948, 6.6187, random(100), random(100), 1000); //vytvoříme auto
PutPlayerInVehicle(playerid, skolacar,0); //a dáme ho do něj
autoskola[playerid] = 2; //nastavíme CP proměnnou
ridicak[playerid]=2;
}
//==============================================================================
}
else if(listitem == 3) // když klikne na čtvrtou možnost ( ŘP D id 3 )
{
//==============================================================================

if(GetPlayerMoney(playerid) < 24999) //když nemá prachy bezdomovec
{
ShowPlayerDialog(playerid,000,DIALOG_STYLE_MSGBOX,"Autoškola","[ ! ] {FF0000}Nemáš 25,000 $ $ !","OK",""); //zobrazíme mu dialog
}
else if (ridicak[playerid] == 3) //když už má řidičák blbec bedomovec
{
ShowPlayerDialog(playerid,000,DIALOG_STYLE_MSGBOX,"Autoškola","[ ! ] {FF0000}Už máš řidičák typu D!","OK",""); //řekneme mu že už má řidičák aldshaimr
}
else //když splňuje naše podmínky
{
GivePlayerMoney(playerid,-25000); //čórnem mu prachy
SendClientMessage(playerid,0x0000FFAA,"[ ! ] Projiždej Cheackpointy!"); //řeknem mu co má dělat
SetPlayerCheckpoint(playerid,-2047.6212,-78.2796,34.7413,7.0); //nastavíme checkpoint číslo 1
skolacar = CreateVehicle(431, -2046.2155,-97.1307,34.8948, 6.6187, random(100), random(100), 1000); //vytvoříme auto
PutPlayerInVehicle(playerid, skolacar,1); //a dáme ho do něj
autoskola[playerid] = 2; //nastavíme CP proměnnou
ridicak[playerid]=3;
}
}
}
}
return 1;
}

tohle je kousek kódu a já jen potřebuju nějak udělat aby se mi ty data po odpojení hráče uložili do /scriptfiles/... / %s.cfg
a po přihlášení hráče se data načetli, aby nemusel řidičák dělat znovu :p

Link to comment
Share on other sites

  • 0

a to je právě ono .. nevím jak :/ proto jsem tady napsal :o

Stačí, aby sis našel návod, jak vůbec ukládat údaje. Jakmile pochopíš základní princip, tak na 100% musíš vědět, co dál.

 

 

V jiném případě ti tu pošlu pár odkazů, které by ti mohly pomoct. Které si budeš chtít přečíst, je čistě na tobě:

http://pawno.cz/topic/49283-práca-so-súbormi/

http://pawno.cz/topic/53489-práce-s-dof2-dini-už-nikdy-víc

http://forum.sa-mp.com/showthread.php?t=281736

 

Link to comment
Share on other sites

  • 0

Dobrý večer. 
Nedá mi nezareagovať na túto tému. 
Vážení užívateľ. To čo hladáte je sofistikovaný návod na ukladanie. Takýchto návodou tu máme nespočet či už v Slovenskom alebo českom jazyku. Prípadne si môžte svoje naučené dovednosti vyskúšať aj na hotových prácach našich užívateľov. Odkážem vám pár stránok s návodmi a s nejakou prácou. 

Návody: 
Dof2
http://pawno.cz/topic/53489-pr%C3%A1ce-s-dof2-dini-u%C5%BE-nikdy-v%C3%ADc/

File.inc
http://pawno.cz/topic/49283-pr%C3%A1ca-so-s%C3%BAbormi/?hl=dini

DINI
http://pawno.cz/topic/32922-tut-pracujeme-s-dini/?hl=dini

Práca: 
MySQL, File.inc
https://github.com/ITCMatus/Save-System

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...