Jump to content
  • 0

pomoc Zase ja :D problem Zamestnania


kamilko39

Dotaz

Ahojte potreboval by som poradiť, že mám Svoj mod no mám problém so zamestnaniami

keď hráč neni zaregistrovaný tak sa spawne na mape kde ostatný a v tom je ten problém že sa spawne a má zamestnanie

potom ešte je jeden, že ked sa zamestná tak ho to spawne tam kde zaregistrovaneho hráča 

 

No a znova ked odíde a pride tak je zase Povolanie  Hitman  a nie ako za zamestnal napr Novinár

 

Ani jedno zamestnanie mi nejde ale pickupi Idú

 

post-17385-0-19273400-1463311978_thumb.png

Toto je ten prvý

 

post-17385-0-21192200-1463312063_thumb.png

Hned Po spawne :( znova Hitman a chcem aby tam nebolo povolanie ale iba nováčik

 

 

Ešte jeden problém ak vidite hore ten dátum tak mi nefunguje ako urobím public na čas ? a datum ?

Dakujem za pomoc

Edited by kamilko39
Link to comment
Share on other sites

21 odpovědí na tuto otázku

Recommended Posts

  • 0

~> Bez kódu nemůžeme tušit, čím to je. Nejlepší by bylo pro ty neregistrované všechno vynulovávat dokud se neregnout.

 

~> A s časem je problém, že to nezjišťuje čas ze správné časové zóny.

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

  • 0

~> Bez kódu nemůžeme tušit, čím to je. Nejlepší by bylo pro ty neregistrované všechno vynulovávat dokud se neregnout.

 

~> A s časem je problém, že to nezjišťuje čas ze správné časové zóny.

ktorý public konkrétne ?

Link to comment
Share on other sites

  • 0

Proměnné vynulovat.

Konkrétne ?

 

public OnPlayerConnect(playerid)
{
 if(gPlayerLogged[playerid] == 1)
    {
        dini_IntSet(file, "Kills",PlayerInfo[playerid][pKills]);
        dini_IntSet(file, "Score", PlayerInfo[playerid][pScore]);
        dini_IntSet(file, "Money", PlayerInfo[playerid][pCash]);
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
        dini_IntSet(file, "Deaths",PlayerInfo[playerid][pDeaths]);
        dini_IntSet(file, "Seconds",PlayerInfo[playerid][pDays]);
        dini_IntSet(file, "Minutes",PlayerInfo[playerid][pMinuts]);
        dini_IntSet(file, "Hours",PlayerInfo[playerid][pHours]);
        dUserSetINT(PlayerName(playerid)).("banka",Banka[playerid]);//do disconnetu
        Job[playerid] = dUserINT(PlayerName(playerid)).("Povolanie");
    }
      gPlayerLogged[playerid] = 0;

    new file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if (!dini_Exists(file))
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registrácia", "Zadajte Svoje Heslo", "Register", "Exit");
    }
    if(fexist(file))
    {
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Zadajte svoje Heslo", "Login", "Exit");
    }
        return 1;
}



//========================================================================================
//========================================================================================
//========================================Public OnPlayerDisconnect=======================

public OnPlayerDisconnect(playerid, reason)
{
    new pname[MAX_PLAYER_NAME], string[39 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    switch(reason)
    {
        case 0: format(string, 350, "{FFFFFF} Hráč {FF0000}%s {FFFFFF}opustil Knight-Parbu {FF0000}[Odpojil se]", pname);
        case 1: format(string, 350, "{FFFFFF} Hráč {FF0000}%s {FFFFFF}opustil Knight-Parbu {FF0000}[Pád Hry]", pname);
        case 2: format(string, 350, "{FFFFFF} Hráč {FF0000}%s {FFFFFF}opustil Knight-Parbu {FF0000}[Kick/Ban]", pname);
    }
    SendClientMessageToAll(0xAAAAAAAA, string);

    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if(gPlayerLogged[playerid] == 1)
    {
        dini_IntSet(file, "Kills",PlayerInfo[playerid][pKills]);
        dini_IntSet(file, "Score", PlayerInfo[playerid][pScore]);
        dini_IntSet(file, "Money", PlayerInfo[playerid][pCash]);
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
        dini_IntSet(file, "Deaths",PlayerInfo[playerid][pDeaths]);
        dini_IntSet(file, "Seconds",PlayerInfo[playerid][pDays]);
        dini_IntSet(file, "Minutes",PlayerInfo[playerid][pMinuts]);
        dini_IntSet(file, "Hours",PlayerInfo[playerid][pHours]);
        Job[playerid] = dUserINT(PlayerName(playerid)).("Povolanie");
        dUserSetINT(PlayerName(playerid)).("banka",Banka[playerid]);//do disconnetu
    }
    gPlayerLogged[playerid] = 0;
        return 1;
}
 
forward Ulozeni(playerid);
public Ulozeni(playerid)
{
    GetPlayerName(playerid, Name, sizeof(Name));
     format(file, sizeof(file), "SuperGrand/%s.ini", Name);
      if(dini_Exists(file))
       {
          dini_IntSet(file, "Kills",PlayerInfo[playerid][pKills]);
          dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
           dini_IntSet(file, "Score",PlayerInfo[playerid][pScore]);
           dini_IntSet(file, "Money",PlayerInfo[playerid][pCash]);
        dini_IntSet(file, "Deaths",PlayerInfo[playerid][pDeaths]);
        dini_IntSet(file, "Seconds",PlayerInfo[playerid][pDays]);
        dini_IntSet(file, "Minutes",PlayerInfo[playerid][pMinuts]);
        dini_IntSet(file, "Hours",PlayerInfo[playerid][pHours]);
        Job[playerid] = dUserINT(PlayerName(playerid)).("Povolanie");
        dUserSetINT(PlayerName(playerid)).("banka",Banka[playerid]);//do disconnetu
}

}


forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
          dini_IntSet(file, "Kills",PlayerInfo[playerid][pKills]);
          dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
           dini_IntSet(file, "Score",PlayerInfo[playerid][pScore]);
           dini_IntSet(file, "Money",PlayerInfo[playerid][pCash]);
        dini_IntSet(file, "Deaths",PlayerInfo[playerid][pDeaths]);
        dini_IntSet(file, "Seconds",PlayerInfo[playerid][pDays]);
        dini_IntSet(file, "Minutes",PlayerInfo[playerid][pMinuts]);
        dini_IntSet(file, "Hours",PlayerInfo[playerid][pHours]);
        Job[playerid] = dUserINT(PlayerName(playerid)).("Povolanie");
        dUserSetINT(PlayerName(playerid)).("banka",Banka[playerid]);//do disconnetu
    return 1;
}
Edited by вlyѕтer
Link to comment
Share on other sites

  • 0

Proměnné říkám:

 

 

PlayerInfo[playerid][pKills]
PlayerInfo[playerid][pScore]
PlayerInfo[playerid][pCash]
PlayerInfo[playerid][pAdminLevel]
PlayerInfo[playerid][pDeaths]
PlayerInfo[playerid][pDays]
...

 

Link to comment
Share on other sites

  • 0

 

Proměnné vynulovat.

 

 

    if (dialogid == 1)

    {

 

        new name[MAX_PLAYER_NAME], file[256], string[300];

        GetPlayerName(playerid, name, sizeof(name));

        format(file, sizeof(file), SERVER_USER_FILE, name);

        if(!response) return Kick(playerid);

        if (!strlen(inputtext)) return

                ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registrácia", "Napíšte Svoje Heslo", "Register", "Exit");

        dini_Create(file);

        dini_IntSet(file, "Password", udb_hash(inputtext));

        //dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);

        dini_IntSet(file, "Kills",PlayerInfo[playerid][pKills]);

        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);

        dini_IntSet(file, "Money",PlayerInfo[playerid][pCash]);

        dini_IntSet(file, "Deaths",PlayerInfo[playerid][pDeaths]);

        dini_IntSet(file, "Seconds",PlayerInfo[playerid][pDays]);

        dini_IntSet(file, "Minutes",PlayerInfo[playerid][pMinuts]);

        dini_IntSet(file, "Hours",PlayerInfo[playerid][pHours]);

        dini_IntSet(file, "Score",PlayerInfo[playerid][pScore]);

        Job[playerid] = dUserINT(PlayerName(playerid)).("Povolanie");

        dUserSetINT(PlayerName(playerid)).("banka",Banka[playerid]);//do disconnetu

        format(string, 300, "{FFFFFF}[ {FF0000}SYSTEM {FFFFFF}] {FF0000}:Uspešne zaregistrovaný tvoje meno je {FFFFFF}%s {FF0000}a heslo je {FFFFFF}%s.", name, inputtext);

        SendClientMessage(playerid, COLOR_YELLOW, string);

        gPlayerLogged[playerid] = 1;

    }

 

Nemôže byť chyba aj v tomto ? gPlayerLogged[playerid] = 0; bola tam 1 skusil som to zameniť u register na 0 a u login na 1

Link to comment
Share on other sites

  • 0

~> Okej, tak to zkusím jinak... Přiřaď všem deklarovaným proměnám, určené pro hráče, hodnotu 0.

 

 

 

Nemôže byť chyba aj v tomto ? gPlayerLogged[playerid] = 0; bola tam 1 skusil som to zameniť u register na 0 a u login na 1

~> Ne, to opravdu být nemůže... ta proměnná je určená pro pozdější podmínky, jestliže je přihlášen(logged... angličtina... nic ti to neříká? :unsure:)

Link to comment
Share on other sites

  • 0

Máš to nejspíš celý špatně podle toho co čtu :-D

 

Měl by si mít nejdřív new pro job já dám příklad skrz enum Player[playerid][pJob]

Do connectu si dát Player[playerid][pJob] = 0; třeba jako že 0 = nezaměstnaný.

Při zaměstnání nastavit hráči id jobu například 1 Player[playerid][pJob] = 1; jako první job. 

Pak ukládat Player[playerid][pJob] a načítat.

Jestli to je dynamický systém tak do spawnu zkrátka když má job dát SetPlayerPos(playerid, x y z údaje jobu třeba id vezmeš s toho Player[playerid][pJob]);

Měl by sis to prohlídnout pořádně.

Link to comment
Share on other sites

  • 0

Máš to nejspíš celý špatně podle toho co čtu :-D

 

Měl by si mít nejdřív new pro job já dám příklad skrz enum Player[playerid][pJob]

Do connectu si dát Player[playerid][pJob] = 0; třeba jako že 0 = nezaměstnaný.

Při zaměstnání nastavit hráči id jobu například 1 Player[playerid][pJob] = 1; jako první job. 

Pak ukládat Player[playerid][pJob] a načítat.

Jestli to je dynamický systém tak do spawnu zkrátka když má job dát SetPlayerPos(playerid, x y z údaje jobu třeba id vezmeš s toho Player[playerid][pJob]);

Měl by sis to prohlídnout pořádně.

 

New Pre Job Mám new Job[MAX_PLAYERS];

ďakujem za tvoju radu hádam to pôjde

 

ozaj rEF

if(dialogid == 1) // ID Dialogu

{

if(response == 1) // ak hráč klikne na prvé tlačitko

{

   new string[100];//definicia stringu pre odoslanie správy

 

   //Armáda

   if(Job[playerid] == 1) return SendClientMessage(playerid, COLOR_YELLOW, "[    --    ]: Už si zamestnaný !");

   format(string, sizeof(string) , "Hráč %s má nové povolanie:Armáda" ,PlayerName(playerid));

   SendClientMessageToAll(COLOR_YELLOW, string);

   SetPlayerSkin(playerid, 287);

   ResetPlayerWeapons(playerid);

   SetPlayerColor(playerid,COLOR_BLUE);

   GivePlayerWeapon(playerid, 24,1000);

   GivePlayerWeapon(playerid, 3,0);

   GivePlayerWeapon(playerid, 25,1000);

   PlayerInfo[playerid][pJob] = 1;

   SpawnPlayer(playerid);

   }

}

ak tam mám dať tu jednotku :d a už povolanie na jednotku mám ?

 

nevadí že používam PlayerInfo a nie player ?

 

~> Okej, tak to zkusím jinak... Přiřaď všem deklarovaným proměnám, určené pro hráče, hodnotu 0.

 

 

 

 

~> Ne, to opravdu být nemůže... ta proměnná je určená pro pozdější podmínky, jestliže je přihlášen(logged... angličtina... nic ti to neříká? :unsure:)

hej hej zistil som :d

Edited by kamilko39
Link to comment
Share on other sites

  • 0

~> Okej, tak abych ti ušetřil práci vynulovávat jednu proměnné po druhé, udělal jsem ti na to cyklus:

 

 

for(new iem; pInfo:iem < pInfo; iem++) PlayerInfo[playerid][pInfo:iem] = 0;
~> Dál jeden z problémů je, že v tom máš hrozný bordel. Pro jeho práci v podmínkách používáš Job[playerid], ale pak mu nastavuješ práci přes PlayerInfo[playerid][pJob]

~> Potom bych ti doporučil si na nastavování práce udělat fci:

 

 

SetPlayerJob(playerid, jobid) {

	new 
		sString[144 + 1];
	ResetPlayerWeapons(playerid);
	switch(jobid) {

		case 1: {

			format(sString, sizeof(sString) , "Hráč %s má nové povolanie: Armáda", PlayerName(playerid));
			SendClientMessageToAll(COLOR_YELLOW, sString);
			SetPlayerSkin(playerid, 287);
			SetPlayerColor(playerid,COLOR_BLUE);
			GivePlayerWeapon(playerid, 24,1000); GivePlayerWeapon(playerid, 3,0); GivePlayerWeapon(playerid, 25,1000);
		}

		case 2: {


			format(sString, sizeof(sString) , "Hráč %s má nové povolanie: Policista", PlayerName(playerid));
			SendClientMessageToAll(COLOR_YELLOW, sString);
			SetPlayerSkin(playerid, 285);
			SetPlayerColor(playerid,COLOR_BLUE);
			GivePlayerWeapon(playerid, ...); GivePlayerWeapon(playerid, ...); GivePlayerWeapon(playerid, ...);
		}

		case 3: {

			...
		}

		case 4: {

			...			
		}
	}
	SendClientMessageToAll(COLOR_YELLOW, sString);
	PlayerInfo[playerid][pJob] = (jobid);
	SpawnPlayer(playerid);
	return (true);
}

 

 

~> Trochu mě trápí, že máš id dialogů prací zrovna od 1 a tak dále, když by se tam hodil register a login, ale dobře... můžeš toho využít v podmínce v rozmezí:

	if (dialogid > 1 || dialogid < /* PočetPrací */) /* od Armády, Policii až po například Mafii */
	{
		if(PlayerInfo[playerid][pJob]) return SendClientMessage(playerid, COLOR_YELLOW, "[    --    ]: Už si zamestnaný !");
		return SetPlayerJob(playerid, dialogid);
	}
~> Teď, když sem u otevře dialogid například 5, a ve fci si zpracuješ, že 5 bude mafie, tak to bude přes tu podmínku pokračovat(pokud tedy není zaměstnán).
Link to comment
Share on other sites

  • 0

~> Okej, tak abych ti ušetřil práci vynulovávat jednu proměnné po druhé, udělal jsem ti na to cyklus:

 

 

for(new iem; pInfo:iem < pInfo; iem++) PlayerInfo[playerid][pInfo:iem] = 0;
~> Dál jeden z problémů je, že v tom máš hrozný bordel. Pro jeho práci v podmínkách používáš Job[playerid], ale pak mu nastavuješ práci přes PlayerInfo[playerid][pJob]

~> Potom bych ti doporučil si na nastavování práce udělat fci:

 

 

SetPlayerJob(playerid, jobid) {

	new 
		sString[144 + 1];
	ResetPlayerWeapons(playerid);
	switch(jobid) {

		case 1: {

			format(sString, sizeof(sString) , "Hráč %s má nové povolanie: Armáda", PlayerName(playerid));
			SendClientMessageToAll(COLOR_YELLOW, sString);
			SetPlayerSkin(playerid, 287);
			SetPlayerColor(playerid,COLOR_BLUE);
			GivePlayerWeapon(playerid, 24,1000); GivePlayerWeapon(playerid, 3,0); GivePlayerWeapon(playerid, 25,1000);
		}

		case 2: {


			format(sString, sizeof(sString) , "Hráč %s má nové povolanie: Policista", PlayerName(playerid));
			SendClientMessageToAll(COLOR_YELLOW, sString);
			SetPlayerSkin(playerid, 285);
			SetPlayerColor(playerid,COLOR_BLUE);
			GivePlayerWeapon(playerid, ...); GivePlayerWeapon(playerid, ...); GivePlayerWeapon(playerid, ...);
		}

		case 3: {

			...
		}

		case 4: {

			...			
		}
	}
	SendClientMessageToAll(COLOR_YELLOW, sString);
	PlayerInfo[playerid][pJob] = (jobid);
	SpawnPlayer(playerid);
	return (true);
}

 

 

~> Trochu mě trápí, že máš id dialogů prací zrovna od 1 a tak dále, když by se tam hodil register a login, ale dobře... můžeš toho využít v podmínce v rozmezí:

	if (dialogid > 1 || dialogid < /* PočetPrací */) /* od Armády, Policii až po například Mafii */
	{
		if(PlayerInfo[playerid][pJob]) return SendClientMessage(playerid, COLOR_YELLOW, "[    --    ]: Už si zamestnaný !");
		return SetPlayerJob(playerid, dialogid);
	}
~> Teď, když sem u otevře dialogid například 5, a ve fci si zpracuješ, že 5 bude mafie, tak to bude přes tu podmínku pokračovat(pokud tedy není zaměstnán).

 

SkiBig18 : Nebude to tým že mám u register a login if (dialogid == 1)  a if (dialogid == 2)

lebo totiž na Povolania mám tie iste Dialogi či sa to nebude krížiť mohol by som to zmeniť trebars na if (dialogid == 31)  a if (dialogid == 32)

Link to comment
Share on other sites

  • 0

if(dialogid == 1) // ID Dialogu

{

if(response == 1) // ak hráč klikne na prvé tlačitko

{

   new string[100];//definicia stringu pre odoslanie správy

 

   //Armáda

   if(Job[playerid] == 1) return SendClientMessage(playerid, COLOR_YELLOW, "[    --    ]: Už si zamestnaný !");

   format(string, sizeof(string) , "Hráč %s má nové povolanie:Armáda" ,PlayerName(playerid));

   SendClientMessageToAll(COLOR_YELLOW, string);

   SetPlayerSkin(playerid, 287);

   ResetPlayerWeapons(playerid);

~> Já tam žádnou 31 ani 32 nevidím.

Link to comment
Share on other sites

  • 0

~> Já tam žádnou 31 ani 32 nevidím.

Registračka je 1 a 2

 

    if (dialogid == 1)

    {

 

        new name[MAX_PLAYER_NAME], file[256], string[300];

        GetPlayerName(playerid, name, sizeof(name));

        format(file, sizeof(file), SERVER_USER_FILE, name);

        if(!response) return Kick(playerid);

        if (!strlen(inputtext)) return

                ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registrácia", "Napíšte Svoje Heslo", "Register", "Exit");

        dini_Create(file);

        dini_IntSet(file, "Password", udb_hash(inputtext));

        //dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0);

        dini_IntSet(file, "Kills",PlayerInfo[playerid][pKills] = 0);

        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0);

        dini_IntSet(file, "Money",PlayerInfo[playerid][pCash] = 2000000);

        dini_IntSet(file, "Deaths",PlayerInfo[playerid][pDeaths] = 0);

        dini_IntSet(file, "Seconds",PlayerInfo[playerid][pDays] = 0);

        dini_IntSet(file, "Minutes",PlayerInfo[playerid][pMinuts] = 0);

        dini_IntSet(file, "Hours",PlayerInfo[playerid][pHours] = 0);

        dini_IntSet(file, "Score",PlayerInfo[playerid][pScore] = 2000000);

        dini_IntSet(file, "Povolanie",PlayerInfo[playerid][pJob] = 0);

        dUserSetINT(PlayerName(playerid)).("banka",Banka[playerid] = 500);//do disconnetu

        format(string, 300, "{FFFFFF}[ {FF0000}SYSTEM {FFFFFF}] {FF0000}:Uspešne zaregistrovaný tvoje meno je {FFFFFF}%s {FF0000}a heslo je {FFFFFF}%s.", name, inputtext);

        SendClientMessage(playerid, COLOR_YELLOW, string);

        gPlayerLogged[playerid] = 0;

    }

    if (dialogid == 2)

    {

        new name[MAX_PLAYER_NAME], file[256];

        GetPlayerName(playerid, name, sizeof(name));

        format(file, sizeof(file), SERVER_USER_FILE, name);

        if(!response) return Kick(playerid);

        if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Si zaregistrovaný", "Vyborne zaregistrovaný .. pametaj si heslo", "Login", "Leave");

        new tmp;

        tmp = dini_Int(file, "Password");

        if(udb_hash(inputtext) != tmp) {

            SendClientMessage(playerid, COLOR_RED, "{FFFFFF}[ {FF0000} Systém  {FFFFFF}] {FF0000}Zadaly Ste si zle Heslo ");

            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "zadajte Znova Heslo", "Login", "Exit");

        }

        else

        {

            gPlayerLogged[playerid] = 1;

            PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel");

            SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);

            PlayerInfo[playerid][pKills] = dini_Int(file, "Kills");

            PlayerInfo[playerid][pDeaths] = dini_Int(file, "Deaths");

            PlayerInfo[playerid][pDays] = dini_Int(file, "Days");

            PlayerInfo[playerid][pMinuts] = dini_Int(file, "Minuts");

            PlayerInfo[playerid][pHours] = dini_Int(file, "Hours");

            dini_IntSet(file, "Povolanie",PlayerInfo[playerid][pJob]);

            GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid));

            dUserSetINT(PlayerName(playerid)).("banka",Banka[playerid]);//do disconnetu

            SendClientMessage(playerid,COLOR_RED, "{FFFFFF}[ {FF0000}SYSTEM {FFFFFF}]{FF0000}:Login prijatý!");

           //**************************************možno*****************************************

               format(string,sizeof(string), "Meno hráča: %s\n", PlayerName(playerid));

            format(string,sizeof(string), "%s Money: %d\n", string,GetPlayerMoney(playerid));

            format(string,sizeof(string), "%s Score: %d\n", string,PlayerInfo[playerid][pScore]);

            format(string,sizeof(string), "%s Hodin: %d\n", string,PlayerInfo[playerid][pHours]);

            format(string,sizeof(string), "%s minut: %d\n", string,PlayerInfo[playerid][pMinuts]);

            format(string,sizeof(string), "%s Dní: %d\n",   string,PlayerInfo[playerid][pDays]);

            format(string,sizeof(string), "%s Deaths: %d\n",string,PlayerInfo[playerid][pDeaths]);

            format(string,sizeof(string), "%s Kills: %d\n", string,PlayerInfo[playerid][pKills]);

            dUserSetINT(PlayerName(playerid)).("banka",Banka[playerid]);//do disconnetu

 

            ShowPlayerDialog(p,8878547,DIALOG_STYLE_MSGBOX,"Info hráča",string,"Ok","koniec");

        }

    }

tak tie 2 zamestnania som dal na 31 a 32 môže to tak byť aby sa to nejako nekrížilo ?

SkiBig18 : Nedalo by sa dajako toto if(Job==30){ GivePlayerMoney(i,16000); SendClientMessage(i,COLOR_YELLOW,"[  VÝPLATY  ] Ako Colnik si dostal vyplatu  16,000 $"); }else{             upraviť na if(Job[playerid] == 1)

Link to comment
Share on other sites

  • 0

Rozhodne doporucuji misto cisel si dat define, vyhnes se tim hodne problemum. Uz treba krizenim dialogu a nebo to ze si musis pamatovat jaky job ma jake ID. U jobu to jeste jde, ale kdyz budes mit 100 dialogu napr...

enum
{
DIALOG_REGISTER,
DIALOG_LOGIN,
DIALOG_JOB
}

jinak

for(new iem; pInfo:iem < pInfo; iem++) PlayerInfo[playerid][pInfo:iem] = 0;

lze udelat rychleji takto:

new null[pInfo];
PlayerInfo[playerid] = null;
Edited by ATomas
Link to comment
Share on other sites

  • 0

 

Rozhodne doporucuji misto cisel si dat define, vyhnes se tim hodne problemum. Uz treba krizenim dialogu a nebo to ze si musis pamatovat jaky job ma jake ID. U jobu to jeste jde, ale kdyz budes mit 100 dialogu napr...

enum
{
DIALOG_REGISTER,
DIALOG_LOGIN,
DIALOG_JOB
}

jinak

for(new iem; pInfo:iem < pInfo; iem++) PlayerInfo[playerid][pInfo:iem] = 0;

lze udelat rychleji takto:

new null[pInfo];
PlayerInfo[playerid] = null;

Tie dialogi na Register urobim ale dajaký help na toto by sa zišiel

 

if(Job==30){ GivePlayerMoney(i,16000); SendClientMessage(i,COLOR_YELLOW,"[  VÝPLATY  ] Ako Colnik si dostal vyplatu  16,000 $"); }else{

 

aby v predu bolo toto  if(Job[playerid] == 1)

Edited by kamilko39
Link to comment
Share on other sites

  • 0

 

if(Job==30){ GivePlayerMoney(i,16000); SendClientMessage(i,COLOR_YELLOW,"[  VÝPLATY  ] Ako Colnik si dostal vyplatu  16,000 $"); }else{

 

aby v predu bolo toto  if(Job[playerid] == 1)

Dokud ty dotazy nebudes pokladat tak, aby jim slo rozumet, tezko dostanes odpoved.

Link to comment
Share on other sites

  • 0

Dokud ty dotazy nebudes pokladat tak, aby jim slo rozumet, tezko dostanes odpoved.

Tak dobre :d  Ešte jednou

 

No mám taký Problém že už všetko ide tak ako má, ale nedostávajú výplaty šlo by to dajako zmeniť aby ich dostávali

 

 

Potom by som chcel ešte jednu vec a to je tá že od kedy som zmenil V dialogu Job na [pJob]

 

if(dialogid == 6) // ID Dialogu

{

if(response == 1) // ak hráč klikne na prvé tlačitko

{

   new string[350];//definicia stringu pre odoslanie správy

 

 

   if(Job[playerid] == 6)return SendClientMessage(playerid, COLOR_YELLOW, "[    --    ]: Už si zamestnaný !");

   format(string, sizeof(string) , "{FFFFFF}Hráč {FF0000}%s {FFFFFF}má nové povolanie: {FF0000}Policia" ,PlayerName(playerid));//formatuje text správy pre odoslanie

   SendClientMessageToAll(COLOR_YELLOW, string);//odošle formatovanu správu hráčom

   SetPlayerSkin(playerid, 266);//hráčovi ktorý sa zamestná nastavi skin: id 285

   ResetPlayerWeapons(playerid);//resetne zbrane ktoré mal pred zamestnaním

   SetPlayerColor(playerid,COLOR_MODRA);//nastavi mu farbu nicku na modru

   GivePlayerWeapon(playerid, 28,500);//dá mu zbraň

   GivePlayerWeapon(playerid, 36,500);//dá mu zbraň

   GivePlayerWeapon(playerid, 31,500);//dá mu zbraň

   PlayerInfo[playerid][pJob] = 6;//nastaví mu že je SFFD

   SpawnPlayer(playerid);//a spawne ho

 

   }

}

 

Tak mi nejde príkaz na news vypisuje mi že Niesom zamestnaný ako novinár

 

dcmd_news(playerid,params[])//prikaz

{

if(Job[playerid] == 4)//ak je novinar

{

if(IsPlayerConnected(playerid))

{

if(!strlen(params)) SendClientMessage(playerid,COLOR_MODRA,"[  !  ] Použi: /news [CLANOK]");//pouzitie

else

{

new string[128];//defnicia stringu

new string2[128];//definica strinug

format(string, sizeof(string), "[  News ] Novinár %s vydal článok:",PlayerName(playerid));//text

SendClientMessageToAll(COLOR_MODRA, string);//farba a ze sa odosle setkym

format(string2, sizeof(string2), "%s",params);//toto sluzi nato co napise ten novinar

SendClientMessageToAll(COLOR_MODRA, string2);//farba a ze sa odosle setkym

}

}

}else{

SendClientMessage(playerid,COLOR_RED,"Musíš byť novinár aby si mohol vydávať článok");//ak nie je novinar

}

return 1;

}

 

//===============================================================//

if(Job==32)

{

GivePlayerMoney(i,13000);

SendClientMessage(i,COLOR_YELLOW,"{FF0000}[  {FFFFFF}VÝPLATY  {FF0000}] {FFFFFF}Ako hitman si dostal vyplatu  {FF0000}13,000 $");

}

else

{

 

 

tuná je toto chcel by som toto if(Job==32) aby tam bolo toto no vkuse mi to hádže errory PlayerInfo[playerid][pJob] = 32

 

 

Je to tu čitateľne

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...