Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Mladen Smiljan poslato Januar 10, 2012, 17:43:25 POSLE PODNE

Naslov: [Pomoc] Public Podaci
Poruka od: Mladen Smiljan poslato Januar 10, 2012, 17:43:25 POSLE PODNE
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):
Naslov: Odg: [Pomoc] Public Podaci
Poruka od: [BR]Maki187 poslato Januar 10, 2012, 18:27:37 POSLE PODNE
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 :)
Naslov: Odg: [Pomoc] Public Podaci
Poruka od: 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!
Naslov: Odg: [Pomoc] Public Podaci
Poruka od: []Flynâ„¢ poslato Januar 10, 2012, 19:13:18 POSLE PODNE
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...
Naslov: Odg: [Pomoc] Public Podaci
Poruka od: Billie Joe Armstrong poslato Januar 10, 2012, 19:19:08 POSLE PODNE
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.
Naslov: Odg: [Pomoc] Public Podaci
Poruka od: [BR]Maki187 poslato Januar 10, 2012, 20:55:09 POSLE PODNE
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...
Naslov: Odg: [Pomoc] Public Podaci
Poruka od: Mladen Smiljan poslato Januar 11, 2012, 09:22:48 PRE PODNE
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
Naslov: Odg: [Pomoc] Public Podaci
Poruka od: [BR]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);
}
}
Kick(playerid);
}


Ovo poslednje kick sto vidis, to znaci ako klikne na odustani, da ga kikuje, ovo za listitem 2 ti je nepotrebno...
Naslov: Odg: [Pomoc] Public Podaci
Poruka od: Mladen Smiljan poslato Januar 11, 2012, 19:51:16 POSLE PODNE
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!