[pomoc]oko komande /poslovi

Započeo McAfee, Mart 19, 2011, 13:10:23 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Radi se o GTARP-ovoj skripti i sad imam komandu /poslovi. Kada kod ukucam poslovi izadje mi lista poslaova. Ako kliknem na prvo uredu sve bude ok, ali ako kliknem na drugo uredu izbaci me iz igrice.

Ovako izgleda taj deo gde mi je skripta:

if(strcmp(cmd, "/poslovi", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
            ShowPlayerDialog(playerid, 4, DIALOG_STYLE_MSGBOX, "Poslovi", "1----Detektiv\n2----Advokat\n4----Diler Droge\n5----Kradljivac automobila\n6----Reporter Novinar\n7----Mehanicar\n8----Cuvar\n9----Diler oruzja\n10----Diler automobila\n12----Bokser\n14----Vozac autobusa\n16----Kamiondzija\n17----Raznosac pice\n18----Farmer\n19----Ilegalni Farmer\n20----Diler Droge\n21----Cistac Ulice\n23----Prodavac oruzja", "Uredu", "Uredu");
}
return 1;
}

Molim vas ako mozete da mi pomognete hvala....
~~~ProSolution Roleplay Samp Server
ProSolution RolePlay Nas ip je: 193.192.59.107:7783

~~~ProSolution TeamSpeak 3~~~
iNfamous Team Speak 3 Server...  64.31.59.188:9999

~~~ProSolution Roleplay Forum
ProSolution RolePlay Nas forum je:

postaj OnDialogResponse te cmd...
Poslednja Izmena: Mart 19, 2011, 13:37:55 POSLE PODNE od [NS]Michael

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new sendername[MAX_PLAYER_NAME];
new string[128];
if(response)
{
if(dialogid == 12346 || dialogid == 12347)
{
    if(strlen(inputtext))
    {
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
else
{
new loginstring[128];
new loginname[64];
GetPlayerName(playerid,loginname,sizeof(loginname));
format(loginstring,sizeof(loginstring),"POGRESAN PASSWORD\nMolimo vas upisite tacan password:",loginname);
ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",loginstring,"Login","Exit");
gPlayerLogTries[playerid] += 1;
if(gPlayerLogTries[playerid] == 5) { Ban(playerid); }
}
}
if(dialogid == 12345)
{
    if(strlen(inputtext))
    {
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "To ime vec postoji u nasoj bazi podataka izaberite drugo.");
fclose(hFile);
return 1;
}
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
else
{
new regstring[128];
new regname[64];
GetPlayerName(playerid,regname,sizeof(regname));
format(regstring,sizeof(regstring),"Dobrodosli, %s\nJos uvek nemate account.\nMolimo registrujte se:",regname);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Register",regstring,"Register","Exit");
}
}
}
else
{
Kick(playerid);
}
return 1;
}




Nadam se da je to to znate ja sam novi u skriptanju vise radim Mape u MTA
~~~ProSolution Roleplay Samp Server
ProSolution RolePlay Nas ip je: 193.192.59.107:7783

~~~ProSolution TeamSpeak 3~~~
iNfamous Team Speak 3 Server...  64.31.59.188:9999

~~~ProSolution Roleplay Forum
ProSolution RolePlay Nas forum je:

N0NE

omg pa kad nemas dialogid 4 uopce uradjen

mozes mi pomoci oko tod dialogid-a :D  :-[
~~~ProSolution Roleplay Samp Server
ProSolution RolePlay Nas ip je: 193.192.59.107:7783

~~~ProSolution TeamSpeak 3~~~
iNfamous Team Speak 3 Server...  64.31.59.188:9999

~~~ProSolution Roleplay Forum
ProSolution RolePlay Nas forum je:

pa ti ni nemas OndialogResponse code za tu cmd. xD.

napravi ovako:

if(dialogid == 4)
{
if(response)
{
   if(listitem == 0)
   {
//Tvoj code za posao detektiva
}
  if(listitem == 1)
   {
//Tvoj code za posao Advokata
}
if(listitem == 2)
   {
//Tvoj code za posao Dilera Droge
}
}
return 1;
}


i ispod "if(listitem == 2)" dodas "if(listitem == 3)" otvoris zagradu, napravis code za slijedeci posao, zatvoris zagradu, onda opet stavis "if(listitem == 4)" i tako opet posupak za slijedeci posao. sam pazi na brojeve kod "listitem"

i ovaj "return 1;" na kraju, zbog toga te nece izbaciti kad pritisnes onu drugu tipku...

Malo sam ti prepravio komandu:


if(strcmp(cmd, "/poslovi", true) == 0)
{
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_LIST, "Poslovi", "1----Detektiv\n2----Advokat\n4----Diler Droge\n5----Kradljivac automobila\n6----Reporter Novinar\n7----Mehanicar\n8----Cuvar\n9----Diler oruzja\n10----Diler automobila\n12----Bokser\n14----Vozac autobusa\n16----Kamiondzija\n17----Raznosac pice\n18----Farmer\n19----Ilegalni Farmer\n20----Diler Droge\n21----Cistac Ulice\n23----Prodavac oruzja", "Uredu", "");
return 1;
}


1. stvar: Ako hoćeš da ti bude samo jedan gumb onda staviš pod drugi gumb samo "".
2. stvar: Kad radiÅ¡ neku listu, to znači da igrač može izabrati izmeÄ'u viÅ¡e opcija, onda stavi DIALOG_STYLE_LIST, a ne DIALG_STYLE_MSGBOX.
3. stvar: Na početku komande ne moraš koristiti IsPlayerConnected() funkciju.

Last nick: Paradox

Ako hoces da ti na /poslovi bude samo lista ok, al ako hoces da mozes i pritisnuti na te poslove pa da se izvrsi neka funkcija onda moras ubacti ono
dialogid == 4 ..

E ovako dosao sam do resenja skinucu jednostavno ovaj drugi deo i to je to... Hvala vam svima mnogo ste pomogli narucito oko dialogid... Hvala....
Poslednja Izmena: Mart 19, 2011, 14:44:58 POSLE PODNE od McAfee
~~~ProSolution Roleplay Samp Server
ProSolution RolePlay Nas ip je: 193.192.59.107:7783

~~~ProSolution TeamSpeak 3~~~
iNfamous Team Speak 3 Server...  64.31.59.188:9999

~~~ProSolution Roleplay Forum
ProSolution RolePlay Nas forum je: