[Pomoc] Public Podaci

Započeo Mladen Smiljan, Januar 10, 2012, 17:43:25 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: Moj mod
Detaljan opis problema: Napravio sam jedan public za Podatke koje igrac treba ispuniti ali mi baca ovaj error:
C:\Users\Smiljan\Desktop\Serveri\HardCore RolePlay\gamemodes\HardCore.pwn(142) : error 029: invalid expression, assumed zero
Znaci sta znaci taj error i kako ga rijesiti..
Dio skripte:
Na pocetku skripte forward:
forward Podaci(playerid, dialogid, response, listitem, inputtext[]);
Ovaj Public sto sam ga napravio:
public Podaci(playerid, dialogid, response, listitem, inputtext[])
{
ShowPlayerDialog(playerid,3,DIALOG_STYLE_LIST,"Kojeg ste spola?","Musko \nZensko","Odaberi","Odustani");
if(dialogid == 3)
{
if(listitem == 0)
{
PlayerInfo[playerid][pSpol] = 1;
}
if(listitem == 1)
{
PlayerInfo[playerid][pSpol] = 2;
}
}
return 1;
}

I taj public koristim da mi to napravi sto hocu! ali mi baca error!
Podaci(playerid, dialogid, response, listitem, inputtext[]); // to je linija 142
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Poslednja Izmena: Januar 10, 2012, 17:44:17 POSLE PODNE od Mladen Smiljan
Trenutni projekt: NightLife Roleplay

Bizz System 40%
House System 70%
Car Ownership 20%
Log/reg System 100%
Poslovi 20%
Anticheat 0%
Organizacije 50%
Event System 0%
Komande 20%

Nerazumem sta si ovde sve radio... uradi ovako

public Podaci(playerid)
{
ShowPlayerDialog(playerid,3,DIALOG_STYLE_LIST,"Kojeg ste spola?","Musko \nZensko","Odaberi","Odustani");
return 1;
}


Ovo stavi pod ondialogrespone, tj evo ti sve posto mi se cin ida radis od "nule"

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 3)
{
if(listitem == 0)
{
PlayerInfo[playerid][pSpol] = 1;
}
if(listitem == 1)
{
PlayerInfo[playerid][pSpol] = 2;
}
}
return 1;
}


edit: zaboravio sam da kazem, nevidim uopste zasto koristis public za to da ga pitas jer musko ili zensko... to stavis kod registracije, tj kad ga spawnuje, stavis mu ovo

ShowPlayerDialog(playerid,3,DIALOG_STYLE_LIST,"Kojeg ste spola?","Musko \nZensko","Odaberi","Odustani");

zatim kad on izabere nesto od ta dva, pita ga odakle je...

if(dialogid == 3)
{
if(listitem == 0)
{
PlayerInfo[playerid][pSpol] = 1;
                 ShowPlayerDialog(playerid,4,DIALOG_STYLE_LIST,"Odakle ste?","Srbija \nBosna\nHrvatska\nCrna Gora\n Makedonija\n Slovenija","Odaberi","Odustani");
SendClientMessage(playerid, BELA, "Ok, znaci musko si.");
}
if(listitem == 1)
{
PlayerInfo[playerid][pSpol] = 2;
                 ShowPlayerDialog(playerid,4,DIALOG_STYLE_LIST,"Odakle ste?","Srbija \nBosna\nHrvatska\nCrna Gora\n Makedonija\n Slovenija","Odaberi","Odustani");
  SendClientMessage(playerid, BELA, "Ok, znaci zensko si...");
}
}


Onda kad odgovori odakle je na isti nacin ga pitas za godine... msm to ti je moja preporuka, a ti kako hoces :)
Poslednja Izmena: Januar 10, 2012, 18:37:01 POSLE PODNE od [FG]Maki187

Ma radim od nule i necu da stavljam po Dialog za registraciju jer se ne zeli promijeni pSpol u 1 ili 2!
Zato zelim rijesiti taj Error pa da vidim hoceli ili nece!
Trenutni projekt: NightLife Roleplay

Bizz System 40%
House System 70%
Car Ownership 20%
Log/reg System 100%
Poslovi 20%
Anticheat 0%
Organizacije 50%
Event System 0%
Komande 20%

Citat: Mladen Smiljan poslato Januar 10, 2012, 19:10:02 POSLE PODNE
Ma radim od nule i necu da stavljam po Dialog za registraciju jer se ne zeli promijeni pSpol u 1 ili 2!
Zato zelim rijesiti taj Error pa da vidim hoceli ili nece!
Pa ne mozes napraviti tako, moras koristiti OnDialogResponse za to sto ti hoces. Bas tako kako ti je Maki rekao...

Citat: Mladen Smiljan poslato Januar 10, 2012, 19:10:02 POSLE PODNE
Ma radim od nule i necu da stavljam po Dialog za registraciju jer se ne zeli promijeni pSpol u 1 ili 2!
Zato zelim rijesiti taj Error pa da vidim hoceli ili nece!

Ovo što si ti napravio neće nikako raditi.

Još sam ja u onom pastebinu što si uzeo od mene dobro napravio i ti mijenjaš bezveze.
"I'm a loser and a user so I don't need no accuser" - Billie Joe Armstrong

Citat: Mladen Smiljan poslato Januar 10, 2012, 19:10:02 POSLE PODNE
jer se ne zeli promijeni pSpol u 1 ili 2!

Pa jel si napravio SAVE sistem, to znaci akd igrac ide offline/kad ti odredis, da mu se sacuvaju ti statsi...

napravis ovako otprilike

stock SacuvajIgraca(playerid)
{
if(Ulogovan[playerid] == 1)
{
new string3[64];
new ime3[MAX_PLAYER_NAME];
GetPlayerName(playerid, ime3, sizeof(ime3));
format(string3, sizeof(string3), "Igraci/%s.ini", ime3);
dini_IntSet(string3, "Sifra",PlayerInfo[playerid][pSifra]);
PlayerInfo[playerid][pNovac] = GetPlayerMoney(playerid);
dini_IntSet(string3, "Novac",PlayerInfo[playerid][pNovac]);
                dini_IntSet(string3, "Drzava",PlayerInfo[playerid][pDrzava]);
dini_IntSet(string3, "Godine",PlayerInfo[playerid][pGodine]);
dini_IntSet(string3, "Pol",PlayerInfo[playerid][pPol]);
}
return 1;
}


Ovo je malecni delic iz mog moda, ovo je dini(koristim samo dini), ako koristis neki drugi save sistem, onda se snadji, al princip je isti...

kad uradis save sistem, onda npr tu gde ti se promeni pol, dodas SacuvajIgraca(playerid);

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 3)
{
if(listitem == 0)
{
PlayerInfo[playerid][pSpol] = 1;
                 SacuvajIgraca(playerid);
}
if(listitem == 1)
{
PlayerInfo[playerid][pSpol] = 2;
                SacuvajIgraca(playerid);
}
}
return 1;
}


Save sistem je jako vazan, njega pre svega dodajes pod public OnPlayerDisconnect, al ga isto tako dodajes u sto vise komandi, time smanjuje mogucnost da kad server padne, da igrac izgubi npr novac, kucu i slicno...

Ja napravim komandu musko ili zensko meni se spremi spol, ali kad napravi u Dijalogu kao da je dijalog proklet i nece slusati sto ja Kliknem!

To je pod OnPlayerSpawn:
if(PlayerInfo[playerid][pPodaci] == 0)
{
ShowPlayerDialog(playerid,3,DIALOG_STYLE_LIST,"Kojeg ste spola?","Musko \nZensko","Odaberi","Odustani");
}


A to je pod OnDialogResponse:
if(dialogid == 3)
{
if(listitem == 0)
{
  PlayerInfo[playerid][pSpol] = 1;
  SaveAccountInfo(playerid);
}
    if(listitem == 1)
{
PlayerInfo[playerid][pSpol] = 2;
SaveAccountInfo(playerid);
}
if(listitem == 2)
{
Kick(playerid);
}
}


I ne kuzim sta sam ja pogresno uradio da on meni nece promijenit spol u Dialogu a s komandom oce!

Hvala
Poslednja Izmena: Januar 11, 2012, 09:24:13 PRE PODNE od Mladen Smiljan
Trenutni projekt: NightLife Roleplay

Bizz System 40%
House System 70%
Car Ownership 20%
Log/reg System 100%
Poslovi 20%
Anticheat 0%
Organizacije 50%
Event System 0%
Komande 20%

Vidim tvoju gresku... fali ti if respone

Uradi ovako
if(dialogid == 3)
{
if(response)
{
if(listitem == 0)
{
  PlayerInfo[playerid][pSpol] = 1;
  SaveAccountInfo(playerid);
}
    if(listitem == 1)
{
PlayerInfo[playerid][pSpol] = 2;
SaveAccountInfo(playerid);
}
if(listitem == 2)
{
Kick(playerid);
}
}
Kick(playerid);
}


Ovo poslednje kick sto vidis, to znaci ako klikne na odustani, da ga kikuje, ovo za listitem 2 ti je nepotrebno...

Citat: [FG]Maki187 poslato Januar 11, 2012, 12:35:50 POSLE PODNE
Vidim tvoju gresku... fali ti if respone

Uradi ovako
if(dialogid == 3)
{
if(response)
{
if(listitem == 0)
{
  PlayerInfo[playerid][pSpol] = 1;
  SaveAccountInfo(playerid);
}
    if(listitem == 1)
{
PlayerInfo[playerid][pSpol] = 2;
SaveAccountInfo(playerid);
}
if(listitem == 2)
{
Kick(playerid);
}
}
[size=14pt][color=red]Kick(playerid);[/color][/size]
}


Ovo poslednje kick sto vidis, to znaci ako klikne na odustani, da ga kikuje, ovo za listitem 2 ti je nepotrebno...
OMG! Hvala ti ZbogIfresponsa meni nije htjelo raditi Hvala ti!
A sto se tice gore crvenoga To ionako kickuje igraca!
Trenutni projekt: NightLife Roleplay

Bizz System 40%
House System 70%
Car Ownership 20%
Log/reg System 100%
Poslovi 20%
Anticheat 0%
Organizacije 50%
Event System 0%
Komande 20%