Skripta koju koristim:Moja
Detaljan opis problema: E ovako moze li pomoc ja nmg da skontam sta znaci ovo user VARCHAR(24) ja neznam kako se odredjuje ovaj broj 24 int i varcar znam ali kako da znam koje brojeve treba staviti po cemu se to odredjuje?HVALA!
Dio skripte: //
Neke slike/video za lakse dobivanje pomoci(neobavezno): //
Brojevi -> INIT
Slova- > varchar
Koliko sa ja razumijem u MySQL INIT stavljas 11
a za varchar sta da stavim? 50?
Ti brojevi ti odredjuju velicinu tih varijabli kojih spremas...prodjeni kolika ti varijabla treba bit pa stavi...
npr ako ce ti bit samo dvije vrijednosti koje ces dodjelit jednoj varijabli npr 1 i 0 neces stavljat INT(255) nego ces stavit INT(11) .. kao velicinu te varijable..
za VARCHAR ako stavis premalu vrijednost varijable, a uneses dosta texta, onda ce ti spremit do one vrijednosti do koje si stavio velicinu varijable..
mislis npr ima ovako pise AutoDozvola:1 kada ima a kada nema onda 0 pa u takvim slucajevima stavljam 11?jesam li te dobro skontao? :D
Ma ja, mozes ti stavit i 255 nece bit greske, ali neke baze su ogranicene sa prostorom i prometom, pa kad stavis 255 prije ces potrosit i prostor i brzinu... kontas ? :D
aha skontao sam hvala ti!
e evo napravio sam tabelu Igraci od 102 kolona i kada se konektujem na server upsiem pass upisem email i sada podesavam lika odakle sam i to.... i kada kliknem uredu nista se nedesava da li sam to pogresio u tabeli i nemoze spremiti acc ili?
to pravis za NL mod?
Pa jesil napravio da sprema ili si samo kreiro tablice u myphpadmin ?
pa napravio sam u skripti da sprema i tablicu evo pog format(Query, sizeof(Query), "SELECT * FROM `Korisnici` WHERE `ime` = '%s'", Ime2);
Pa jel imas dje da odradjuje to, imas li mysql_query....pa onda ucitavanje i dodjeljivanje varijablama ??
Evo imam......... Ali ako u tabeli pogrjesim umjesto varacher stavim init da li moze biti do toga??
new Query[250];
new Ime2[MAX_PLAYERS];
GetPlayerName(playerid,Ime2,sizeof(Ime2));
format(Query, sizeof(Query), "SELECT * FROM `Korisnici` WHERE `ime` = '%s'", Ime2);
mysql_query(Query);
new result = mysql_store_result();
if(mysql_num_rows(result) != 0)
{
ImaNalog(playerid);
}
else
{
NemaNalog(playerid);
}
new Query[512];
new Ime2[MAX_PLAYER_NAME];
GetPlayerName(playerid,Ime2,sizeof(Ime2));
format(Query, sizeof(Query), "SELECT * FROM `Korisnici` WHERE `ime` = '%s'", Ime2);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
ImaNalog(playerid);
}
else
{
NemaNalog(playerid);
}
De mi callbackove ImaNalog i NemaNalog
evo ti ovo
public ImaNalog(playerid)
{
hIgracevNalogPostoji[playerid] = 1;
/*SetPlayerCameraPos(playerid, 1662.2316,-1329.3037,164.4707);
SetPlayerCameraLookAt(playerid, 1642.2316,-1329.3037,164.4707);*/
new hIme[MAX_PLAYER_NAME];
RPIme(playerid, hIme);
new string[256];
format(string, sizeof string, "{FFFFFF}Dobrodosli {00a2f5}%s\n{FFFFFF}Vas nalog je pronadjen. Molimo upisite svoju lozinku:", hIme);
SPD(playerid, 27, DIALOG_STYLE_PASSWORD, "{00a2f5}// - PRIJAVA", string, "Prijava", "Odustani");
return 1;
}
a evo ti kada nema nalog
public NemaNalog(playerid)
{
if(BEAC[0][kb_Registracija] == 0)
{
SPD(playerid, 283, DIALOG_STYLE_MSGBOX, "Greska!", "{FFFF00}Administrator je privremeno onemogucio nove registracije.\nMolimo Vas da pokusate kasnije. Hvala na strpljenju.\n\n{FF9900}- Vas - Staff team",
"Zatvori", "");
return 1;
}
hIgracevNalogPostoji[playerid] = 0;
SetPlayerCameraPos(playerid, 1662.2316,-1329.3037,164.4707);
SetPlayerCameraLookAt(playerid, 1642.2316,-1329.3037,164.4707);
//SetPVarInt(playerid, "Reg", 0);
new stru1[400];
new stru2[400];
new stru3[400];
new stru4[400];
new stru5[64];
new stru[1500];
format(stru1, sizeof(stru1), "{FFFFFF}Dobrodosli na // RPG server!\n\n{33CCFF}Najpre cemo Vam postaviti neke od uslova koriscenja, i pravila servera (ukratko).\nUkoliko ih prihvatite, moci cete da nastavite proces registracije, a ukoliko\nodbijete, registracija ce Vam biti onemogucena.");
format(stru2, sizeof(stru2), "\n\n\n {FF0000}> In Character ime <\n{FFFFFF} - Ime mora biti realno. To znaci da ono mora biti u formatu Ime_Prezime, npr. Pera_Peric\n - Vase ime ne sme nikoga vredjati na bilo koji nacin\n - Vase ime ne sme biti ime neke javne(poznate) licnosti.\n\n\n {FF0000}> Pravila servera (ukratko) <");
format(stru3, sizeof(stru3), "\n{FFFFFF} - Nacionalizam, diskriminacija po bilo kom osnovu, i bilo kakvo vredjanje jesu ZABRANJENI!\n - Iskoriscavanje gresaka u skripti je STROGO zabranjeno i moze dovesti do trajnog BANA!\n - Upotreba modifikacija koje donose bilo kakvu prednost nad ostalim igracima (tzv. cheatovi)\n takodje je strogo zabranjeno i nece se tolerisati!\n VISE PRAVILA NA FORUMU!!!");
format(stru4, sizeof(stru4), "\n\n\n{FF0000} > Uslovi koriscenja <\n {FFFFFF}- Pritiskom na dugme 'Slazem se!' obavezujete se da:\n\n - Cete se striktno pridrzavati gore navedenih pravila, kao i svih drugih pravila\n - Cete svaku gresku (bug) koju primetite prijaviti na nasem forumu\n - Necete kriviti BE zajednicu za bilo kakvu stetu nacinjenu Vasem nalogu (npr. gubitak lozinke).");
format(stru5, sizeof(stru5), "\n\n\n\t {33CCFF}www.NEMA.com");
format(stru, sizeof(stru), "%s %s %s %s %s", stru1, stru2, stru3, stru4, stru5);
SPD(playerid, 0, DIALOG_STYLE_MSGBOX, "{33CCFF}[NL] Uslovi koriscenja", stru, "Slazem se!", "Ne slazem se");
for(new chat = 0; chat <= 21; chat++) SendClientMessage(playerid, CRNA, " ");
// SendClientMessage(playerid, ZELENA2, "Dobrodosli na BE/DM server!");
for(new chat = 0; chat <= 7; chat++) SendClientMessage(playerid, BELA, " ");
return 1;
}
Daj OnPlayerLogin...
Nema on player login
pa koji callback ima dje se ucitavaju varijable iz baze gdje je callback sto se varijable spremaju u bazu ..itd.. ?
Pa to je ovo nema sta drugo biti pogledaj.......
new Query[250];
new ImeIgraca2[MAX_PLAYERS];
GetPlayerName(playerid,ImeIgraca2,sizeof(ImeIgraca2));
format(Query, sizeof(Query), "SELECT * FROM `Igraci` WHERE `ime` = '%s'", ImeIgraca2);
mysql_query(Query);
new result = mysql_store_result();
if(mysql_num_rows(result) != 0)
{
IgracImaNalog(playerid);
}
else
{
IgracNemaNalog(playerid);
}
cinc[playerid]++;
SetPlayerHealth(playerid, 99.0);
ResetPlayerWeaponsEx(playerid);
JoypadOtkriven[playerid] = 0;
TeleportOtkriven[playerid] = 0;
TeleportUdaljenost[playerid] = 0;
IskocioIzHelica[playerid] = 0;
strmid(TeleportStaraZona[playerid], "", 0, strlen(""), 100);
strmid(TeleportNovaZona[playerid], "", 0, strlen(""), 100);
for(new i = 0; i < sizeof OruzjeOtkriveno; i++) OruzjeOtkriveno[i][playerid] = -1;
LoadPosition[playerid] = 0;
BezanjeOtkriveno[playerid] = 0;
PoslednjeVozilo[playerid] = INVALID_VEHICLE_ID;
hDialogID[playerid] = -1;
TeleportDozvoljen[playerid] = 0;
ideBrzinom[playerid] = -1;
WeaponUpozorenja[playerid] = 0;
// ==========================================================================================================
ResetujNovac(playerid);
hIgracUlogovan[playerid] = 0; hPokusajiLogovanja[playerid] = 0; hPogresioCaptcha[playerid] = 0; hIgracUlogovan[playerid] = 0; hIRCPokusavaDaUdje[playerid] = 0;
PitanjaPokusaj[playerid] = 0; IzlozbenoVozilo[playerid] = 0; Autosalon[playerid] = 0; hIRCUkljucen[playerid] = 1; hPrviLogin[playerid] = 0; hKosenje[playerid] = 0;
IgracSpawnan[playerid] = 0; GPSAktivan[playerid] = 0; GPSX[playerid] = 0; GPSY[playerid] = 0; GPSZ[playerid] = 0; BiraVozilo[playerid] = 0; hBiraModel[playerid] = 0;
hBiraCenaKes[playerid] = 0; hBiraCenaGold[playerid] = 0; hNarucivanjeDrzava[playerid] = 0; hNarucivanjeBroj[playerid] = 0; hGledaStats[playerid] = 0;
IgracPosmatraIgraca[playerid] = 999; rPodesavanjeLika[playerid] = 0; rTrenutnaOpcija[playerid] = 0; rPol[playerid] = 0; rStarost[playerid] = 15; hVoz[playerid] = 0;
rPoreklo[playerid] = 0; rDolazak[playerid] = -1; rReligija[playerid] = 0; rUBraku[playerid] = 0; rTutorial[playerid] = 0; rStil[playerid] = 0; hBus[playerid] = 0;
rPosao[playerid] = 0; rSkin[playerid] = 0; hDuznostSkin[playerid] = -1; hNaDuznosti[playerid] = 0; hKaucija[playerid] = 0; hZavezan[playerid] = 0;
CheckpointX[playerid] = 0.000; CheckpointY[playerid] = 0.000; CheckpointZ[playerid] = 0.000; CheckpointR[playerid] = 0.000; hDostava[playerid] = 0;
hOranje[playerid] = 0; hVrsenje[playerid] = 0; hMleko[playerid] = 0; hObijanjeVozila[playerid] = -1; gPlayerUsingLoopingAnim[playerid] = 0; uvozilu[playerid] = 0;
gPlayerAnimLibsPreloaded[playerid] = 0; hMehDuznost[playerid] = 0; ZasadjenihPolja[playerid] = 0; NestaloGoriva[playerid] = 0; DrvosecaDuznost[playerid] = 0;
MaxHpDrveta[playerid] = 0; TrenutniHp[playerid] = 0; IdDrveta[playerid] = -1; SpremanDaSece[playerid] = 0; hSecenje[playerid] = 0; IdKamiona[playerid] = 0;
hBeton[playerid] = 0; hBager[playerid] = 0; hPosta[playerid] = 0; lpDuznost[playerid] = 0; KaznuNapisao[playerid] = -1; CenaKazne[playerid] = 0; hSprunk[playerid] = 0;
hGrobar[playerid] = 0; hPilot[playerid] = 0; hBankomati[playerid] = 0; CenaKarte[playerid] = 0; ZaradioDanas[playerid] = 0; VoziSeBusom[playerid] = 0;
PosaoGPS[playerid] = 0; LiderBira[playerid] = 0; hBiraEnt[playerid] = 0; hLaptop[playerid] = 0; Meta[playerid] = -1; Mduty[playerid] = 0; hNarucioPaket[playerid] = 0;
hPrihvatio[playerid] = -1; VoziSeTaxijem[playerid] = 0; Oglasvr[playerid] = 0; hBlizuVlasnistva[playerid] = 0; StaProdaje[playerid] = 0; KomeProdaje[playerid] = -1;
CenaProdaje[playerid] = -1; PonudioIgrac[playerid] = -1; EntID[playerid] = -1; BiraHaCe[playerid] = 0; GMDuznost[playerid] = 0; AdminDuznost[playerid] = 0;
hZamrznut[playerid] = 0; hStreetRace[1][playerid] = 0; hStreetRace[2][playerid] = 0; ProcesRegistracije[playerid] = 0; SelectCharPlace[playerid] = 0;
BankomatAkcija[playerid] = 0; ATMDepozit[playerid] = 0; ATMPodigni[playerid] = 0; BankaTransferIznos[playerid] = -1; BankaDonacija[playerid] = 0;
BankaRacun[playerid] = -1; BankaTransferOdKogaPrima[playerid] = -1; BankaTransferID[playerid] = -1; VanLSa[playerid] = 0; IgracUWaru[playerid] = 0;
StaMenja[playerid] = 0; ZaStaMenja[playerid] = 0; Doplata[playerid] = 0; SaKimMenja[playerid] = -1; MobilniPrikazan[playerid] = 0; MobilniAkcija[playerid] = MOB_NISTA;
MobilniBroj[playerid] = -1; hOdjava[playerid] = 0; hPopravkaOd[playerid] = -1; hCenaPopravke[playerid] = 0; IznajmioVozilo[playerid] = -1; AIzm[playerid] = -1;
hPolaganje[playerid] = 0; hPoligon[playerid] = 0; hKazneniPoeni[playerid] = 0; hReport[playerid] = 0; hPomoc[playerid] = 0; hNew[playerid] = 0; ZoveGa[playerid] = -1;
RazgovaraSa[playerid] = -1; PozivZa[playerid] = -1; UVozilu[playerid] = 0; hImaSMS[playerid] = 0; hDobioPay[playerid] = 0; IgracevAuto1[playerid] = -1;
IgracevAuto2[playerid] = -1; IgracevMotor[playerid] = -1; IgracevaBicikla[playerid] = -1; IgracevoPlovilo[playerid] = -1; IgracevaLetelica[playerid] = -1;
PopravkaUToku[playerid] = 0; ImaVisokPing[playerid] = 0; brojkojipoziva[playerid] = -1; AntiSpam[playerid] = 0; AntiSpamPreteraoGa[playerid] = 0; gledatut[playerid] = 0;
PonudioAdvokat[playerid] = -1; AdvokatCena[playerid] = 0; WarUbistava[playerid] = 0; WarSmrti[playerid] = 0; Intervju[playerid] = -1; hLecenjeOd[playerid] = -1;
hCenaLecenja[playerid] = 0; kioskblizu[playerid] = -1; RKucu[playerid] = -1; RStan[playerid] = -1; RVikendicu[playerid] = -1; ObijaKucu[playerid] = 1;
hObijanjeKuce[playerid] = -1; ImaKacigu[playerid] = 0; hNafta[playerid] = 0; NaftaDuznost[playerid] = 0; ideBrzinom[playerid] = -1; obijenoVozilo[playerid] = -1;
koristioChat[playerid] = 0; hDialogID[playerid] = -1; ImaKapu[playerid] = 0; OdobriOd[playerid] = -1; OdobriZa[playerid] = -1; OdobriIznos[playerid] = 0;
PogresioKod[playerid] = 0; AdminUbio[playerid] = 0; MySQL_LostConnection[playerid] = 0; MySQL_AnotherError[playerid] = 0; VremeZaPrijavu[playerid] = gettime() + 5;
PrijavaSpremna[playerid] = 0; HealthSynced[playerid] = 0; posao_aktivirao[playerid] = 0; posao_detektovan[playerid] = 0;
PosadioPolje1[playerid] = false; PosadioPolje2[playerid] = false; PosadioPolje3[playerid] = false; PosadioPolje4[playerid] = false; PosadioPolje5[playerid] = false;
PosadioPolje6[playerid] = false; PosadioPolje7[playerid] = false; PosadioPolje8[playerid] = false; IgracNaReconu[playerid] = false; hSaptanje[playerid] = true;
hFamily[playerid] = true; hRadio[playerid] = true; hDept[playerid] = true; hMob[playerid] = true; PrikaziSapat[playerid] = true; IgracevCPPrikazan[playerid] = false;
IgracevRCPPrikazan[playerid] = false; NaocareStavljene[playerid] = false; BiraSkin[playerid] = false; otkrivenSpeed[playerid] = false;
Prepreka1Kreirana[playerid] = false; Prepreka2Kreirana[playerid] = false; Prepreka3Kreirana[playerid] = false; Prepreka4Kreirana[playerid] = false;
Blokada1Kreirana[playerid] = false; Blokada2Kreirana[playerid] = false; Blokada3Kreirana[playerid] = false; Blokada4Kreirana[playerid] = false; Blokada5Kreirana[playerid] = false;
strmid(ZlocinInfo[playerid][zPrijavio], "Nema", 0, strlen("Nema"), 255);
strmid(ZlocinInfo[playerid][zPocinio], "Nema", 0, strlen("Nema"), 255);
strmid(ZlocinInfo[playerid][zZlocin], "Nema", 0, strlen("Nema"), 255);
// eventi
TourNL[playerid] = 0; DMEvent[playerid] = 0; Rally[playerid] = 0; Karting[playerid] = 0; KartingKrug[playerid] = 0; KartingKrugovaP[playerid] = 0;
BigRace[playerid] = 0; LVDrift[playerid] = 0; LVDriftKrug[playerid] = 0; LVDriftKrugovaP[playerid] = 0; SFHillRace[playerid] = 0; SFHillRaceKrug[playerid] = 0;
SFHillRaceKrugovaP[playerid] = 0; RCP[playerid] = 0; Offroad[playerid] = 0;
KillTimer_H(naplatipoziv[playerid]);
PI[playerid][Nivo] = 1;
PI[playerid][Banovan] = 0;
PI[playerid][Admin] = 0;
PI[playerid][GM] = 0;
PI[playerid][Donator] = 0;
PI[playerid][Novac] = 300;
PI[playerid][Banka] = 0;
PI[playerid][Iskustvo] = 0;
PI[playerid][SatiIgre] = 0;
PI[playerid][Godine] = 0;
PI[playerid][Pol] = 0;
PI[playerid][Skin] = 7;
PI[playerid][Clan] = 0;
PI[playerid][Lider] = 0;
PI[playerid][Rank] = 0;
PI[playerid][Kuca] = -1;
PI[playerid][Stan] = -1;
PI[playerid][Vikendica] = -1;
PI[playerid][Firma] = -1;
PI[playerid][JFirma] = -1;
PI[playerid][Garaza] = -1;
PI[playerid][Hotel] = -1;
PI[playerid][Auto1] = -1;
PI[playerid][Auto2] = -1;
PI[playerid][Motor] = -1;
PI[playerid][Bicikla] = -1;
PI[playerid][Plovilo] = -1;
PI[playerid][Letelica] = -1;
PI[playerid][Zatvoren] = 0;
PI[playerid][ZatvorenVreme] = 0;
PI[playerid][Utisan] = 0;
PI[playerid][Opomenut] = 0;
PI[playerid][KaznjenPuta] = 0;
PI[playerid][Telefon] = -1;
PI[playerid][Mobilni] = 0;
PI[playerid][KreditMobilni] = 0;
PI[playerid][SakrivanjeBroja] = 0;
PI[playerid][MozeDaGasiMobilni] = 0;
PI[playerid][MozeDaGasiSapat] = 0;
PI[playerid][MozeDaGasiFamily] = 0;
PI[playerid][DozvolaOruzje] = 0;
PI[playerid][DozvolaVoznja] = 0;
PI[playerid][DozvolaPlovidba] = 0;
PI[playerid][DozvolaLetenje] = 0;
PI[playerid][Droga] = 0;
PI[playerid][IznosRate] = 0;
PI[playerid][IznosKredita] = 0;
PI[playerid][PreostaloZaOtplatu] = 0;
PI[playerid][Posao] = 0;
PI[playerid][IRCAdmin] = 0;
PI[playerid][IRCSoba] = 0;
PI[playerid][IRCSobaAdmin] = 0;
PI[playerid][PayDayPoeni] = 0;
PI[playerid][TimUgovor] = 0;
PI[playerid][KaznaUgovor] = 0;
PI[playerid][UBraku] = 0;
PI[playerid][Ubistava] = 0;
PI[playerid][Smrti] = 0;
PI[playerid][Zlocini] = 0;
PI[playerid][UhapsenPuta] = 0;
PI[playerid][TrazeniNivo] = 0;
PI[playerid][Spawn] = 0;
PI[playerid][Zavezan] = 0;
PI[playerid][PosaoUgovor] = 0;
PI[playerid][MehanicarOdvoz] = 0;
PI[playerid][DzeparosVreme] = 0;
PI[playerid][KradljivacVreme] = 0;
PI[playerid][DetektivVreme] = 0;
PI[playerid][DetektivSkill] = 0;
PI[playerid][Ucena] = 0;
PI[playerid][MestoUOrg] = 0;
PI[playerid][Renta] = -1;
PI[playerid][RentaHotel] = -1;
PI[playerid][RegProces] = 0;
PI[playerid][GPS] = 0;
PI[playerid][BorbeniStil] = 7;
PI[playerid][KarticaPin] = -1;
PI[playerid][AlatZaObijanje] = -1;
PI[playerid][Kaciga] = -1;
PI[playerid][Frizura] = 0;
PI[playerid][Minuti1] = 0;
PI[playerid][Minuti2] = 0;
PI[playerid][Minuti3] = 0;
PI[playerid][Minuti4] = 0;
PI[playerid][Minuti5] = 0;
PI[playerid][Minuti6] = 0;
PI[playerid][Minuti7] = 0;
Stvari[playerid][zTorba] = 0;
Stvari[playerid][zDroga] = 0;
Stvari[playerid][zPizza] = 0;
Stvari[playerid][zZice] = 0;
Stvari[playerid][zKanister] = 0;
Stvari[playerid][zSemena] = 0;
Stvari[playerid][zKoka] = 0;
Stvari[playerid][zGDOruzje] = 0;
Stvari[playerid][zGDProdaja] = 0;
Stvari[playerid][zUze] = 0;
Stvari[playerid][zCigare] = 0;
Dzep[playerid][xDroga] = 0;
Dzep[playerid][xZice] = 0;
Dzep[playerid][xKoka] = 0;
Dzep[playerid][xSemena] = 0;
Dzep[playerid][xUze] = 0;
Dzep[playerid][xNaocare] = 0;
Dzep[playerid][xCDPlayer] = 0;
Dzep[playerid][xImenik] = 0;
Dzep[playerid][xCigare] = 0;
Dzep[playerid][xUpaljac] = 0;
PostaviDefaultBojuIgraca(playerid);
TextDrawShowForPlayer(playerid, LogoTD[0]);
TextDrawShowForPlayer(playerid, LogoTD[1]);
PlusTD(playerid, 1, " ");
MinusTD(playerid, 1, " ");
NIje ti onda uradjeno spremanje na mysql
pa pod kojim djelom bi se trebalo nalaziti to spremanje?
Pa sta ja znam kako ide callback u tvojoj scripti...SaveAccount, SacuvajIgraca, SpremiIgraca ... ?
ee evo ga znam gdje sam se sjebbao ja sam isklucio ovo new Query[250];
new ImeIgraca2[MAX_PLAYERS];
GetPlayerName(playerid,ImeIgraca2,sizeof(ImeIgraca2));
format(Query, sizeof(Query), "SELECT * FROM `igraci` WHERE `ime` = '%s'", ImeIgraca2);
mysql_query(Query);
new result = mysql_store_result();
if(mysql_num_rows(result) != 0)
{
igracimaNalog(playerid);
}
else
{
IgracNemaNalog(playerid);
}
i zato mi nije htjelo spremiti acc ali sada nzm sta je kada udjem na srw uzmem slazem se i nece da mi izbaci dialog za password da li je to mozda ako sam nesto pogresio u tabeli? ili?
Ma ako ne znas radit sa mysql nisi trebo ni radit..
znam ja raditi dobro ali ne bolje od tebe pa zato i trazim pomoc ;) znam ja sve samo me zeza samo jedna greska evo pogledaj:
Error info: Unknown column 'ID' in 'field list' | ID: 1054
Result ID: 31 | Extra ID: 0 | Callback: OnQueryFinish
Query: SELECT MAX(ID) FROM `Igraci`
e ja neznam gdje treba staviti to ID nekotam evo linija format(upit, 64, "SELECT `ID` FROM `Igraci` WHERE `Ime` = '%s'", hIme);
meni je problem ja to ID nigdje nisam dodao u tabeli gdje to treba staviti u tabeli ili sta?HVALA TI! i ostalo mi sve dobro cita! i sve se sprema
BUMP!! napravio sam spe sad sprema acc imam tabelu ali sada imam problem kada dadnem admina dobijes pin kod i kada opet ulazis na srw samo pise da upises pass obicini a treba biti da upises pin moze pomoc?recite koje djelove skripte da dam.HVALA!
Pa taj dje trazi da potvrdis password
nerazumjem te te noma u skripti taj dio ako je admin ili GM da trazi pin samo ima obicni login....
Dodaj OnPlayerLogin, na dnu neki callback koji ce to provjeravat!
ma obrisao sam ja taj fuucking pin ali opet mi pise kada naporavim relog da nemam admina a u tabeli pise da imam admina
Oj majko moja mila.....
Stvar je sta ti spremas u accounte, gdje spremas, kakva ti je baza, da li uopste spremis ? Mozda spremis samo nick i njeg provjeri...Sve varijable koje se ucitavaju, moraju bit negdje spremljene, da li ce bit u SQL tablicama ili ce bit u notepad fajlovima ili ce bit uklesane na kamenu, al moraju bit spremljene!
A sve je stavljeno omg sve sprema accauntove ali me jebe pin omg razumjes li ti mene oces li ss da ti posaljem?
Ajd posalji
evo ti vise: http://ch-slike.com/images/yWKuv.png
Imas li igdje kolonu passworda, lozinkei ili kako si je vec nazvao ako ima ?
mislis pina ili??? evo ti pass provjera
case THREAD_PASSPROVERA:
{
mysql_store_result();
if(mysql_num_rows() == 0)
{
new hIme[MAX_PLAYER_NAME];
mysql_free_result();
SCM(extraid, CRVENA, "(greska) Uneli ste pogresnu lozinku!");
if(hPokusajiLogovanja[extraid] >= MAX_POKUSAJA_LOGOVANJA)
{
new string[128];
format(string, sizeof string, "KiwiBot | Uneli ste pogresnu lozinku vise od %d puta. Vasa IP adresa je banovana i zabelezena.", MAX_POKUSAJA_LOGOVANJA);
SCM(extraid, CRVENA, string);
new ip[16], logstring[128];
ImeIgraca(extraid, hIme);
GetPlayerIp(extraid, ip, sizeof ip);
format(logstring, sizeof logstring, "|NEUSPESNO| Igrac: %s | %d puta | IP: %s", hIme, hPokusajiLogovanja[extraid], ip);
UpisiLog(FAJL_FLOGINLOG, logstring);
h_Ban(extraid);
}
new string1[128];
//new hIme[MAX_PLAYER_NAME];
ImeIgraca(extraid, hIme);
format(string1, sizeof string1, "{FFFFFF}Dobrodosli {00a2f5}%s\n{FFFFFF}Vas nalog je pronadjen. Molimo upisite svoju lozinku:", hIme);
SPD(extraid, 27, DIALOG_STYLE_PASSWORD, "{00a2f5}Battle Craft RPG - PRIJAVA", string1, "Prijava", "Odustani");
hPokusajiLogovanja[extraid]++;
return 1;
}
mysql_free_result();
PrijavaSpremna[extraid] = 1;
Login(extraid);
}
Ne, nego lozinke accounta, sa kojim se logujes...
trebas to imat, pa kad u "OnPlayerConnect" ispitas da li ima account, onda trebas prvo oznacit lozinku:
"Select 'Lozinka(ili kako ti se zove kolona)' FROM 'Racuni(ili kako se zove tablea sa accovima)' WHERE ime='Ime_Prezime(%s)' "
... ovo je opsta forma, i ovo dodjelis nekoj varijabli i setovat ce joj lozinku..
Onda ispitas da li je upisana lozinka jednaka, ako jest spawnas ga ili sta ide sljedece, ako nije ponovis mu taj dialog itd itd... valjda kontas ovu opstu formu
evo opste forme format(Query, sizeof(Query), "SELECT * FROM `Igraci` WHERE `ime` = '%s'", ImeIgraca2);
de mi ti napisi sad kako to da dodam jos sa pinom?
pogledaj ima i ovaj dio
if(PI[extraid][GM] > 0 || PI[extraid][Admin] > 0)
{
SPD(extraid, 261, DIALOG_STYLE_PASSWORD, "Login [drugi deo - PIN]", "{FFFFFF}Vi ste admin/gm, unesite svoj PIN kod.\n\n{FF0000}Imate pravo na samo jedan pokusaj, ako pogresite dobijate ban!", "Potvrdi", "");
return 1;
}
trazi dialogid == 261
if(dialogid == 261)
{
if(response)
{
new pin[7], buf[129], kkk[MAX_PLAYER_NAME], upit[220];
ImeIgraca(playerid, kkk);
if(sscanf(inputtext, "s[7]", pin))
{
format(upit, 128, "UPDATE `Igraci` SET `Banovan` = '1' WHERE `Ime` = '%s'", kkk);
mysql_query(upit, THREAD_OSTALO);
PI[playerid][Banovan] = 1;
SCM(playerid, CRVENA, "Pogresan PIN, bye :)");
h_Ban(playerid);
return 1;
}
WP_Hash(buf, sizeof buf, pin);
format(upit, 220, "SELECT * FROM `Igraci` WHERE `Ime` = '%s' AND `PIN` = '%s'", kkk, inputtext);
mysql_query(upit, THREAD_PINPROVERA, playerid);
}
else
{
new upitx[128], kkk[MAX_PLAYER_NAME];
ImeIgraca(playerid, kkk);
format(upitx, 128, "UPDATE `Igraci` SET `Banovan` = '1' WHERE `Ime` = '%s'", kkk);
mysql_query(upitx, THREAD_OSTALO);
PI[playerid][Banovan] = 1;
SCM(playerid, CRVENA, "Pogresan PIN, bye :)");
h_Ban(playerid);
}
}
Ne vidim nista sporno, ako si admin moras se logovat sa ovim pinom, ako je pogresan banuje te? Ako hoces bez pina obrises ovaj dio, automatski preusmjeri gdje hoces i to je to ;)
ok sad cu obrisati pa cu viditi ;)
obrisao sam dialog ovaj ali opet kao da nemam admina a pise mi da imam u tabeli sta mislis da obrisem sve u vezi pina?
A de mi kazi jel imas u tabeli kolonu Admin levela ?
imam i kada postavim admina pise admin level taj i taj msm pise Admin i onda broj koji!
Pise, to ok, ali kad ode relog, pitanje je da li mu to sacuva igdje ? Zato te pitam imas li u tabicli admin level..
imam sacuva se ako hoces opet ss?
Daj mi komandu dje dajes admina ig i daj mi neku komandu za admina ... npr /goto ili /ban ili /kick
evo ti komanda kick
CMD:kick(playerid, params[])
{
if(PI[playerid][Admin] > 0 || IsPlayerAdmin(playerid))
{
new id, razlog[64];
if(sscanf(params, "us[64]", id, razlog)) return SCM(playerid, GRAD3, "Koristite: {BFC0C2}/kick [Korisnicki ID ili Ime igraca] [Razlog]");
if(!IsPlayerConnected(id)) return SCM(playerid, GRAD2, "(greska) Taj igrac je offline!");
if(PI[playerid][Admin] < HEAD && PI[id][Admin] >= HEAD) return SCM(playerid, GRAD2, "(greska) Ne mozete koristiti ovu komandu na headadminu!");
new hIme[MAX_PLAYER_NAME];
new hIme2[24];
new strport[150];
RPIme(id, hIme);
RPIme(playerid, hIme2);
format(strport, sizeof strport, "|{FFFFFF}GM{FF0000}| {FFFFFF}%s {FF0000}je izbacen od admina %s. Razlog: {FFFFFF}%s.", hIme, hIme2, razlog);
StaffPoruka(CRVENA, strport);
format(strport, sizeof strport, "|{FFFFFF}GM{FF0000}| Izbaceni ste od admina {FFFFFF}%s. {FF0000}Razlog: %s.", hIme2, razlog);
SendClientMessage(id, CRVENA, strport);
PI[id][Zavezan] = 0;
Kick(id);
new ip[16], logstring[256];
GetPlayerIp(playerid, ip, sizeof ip);
format(logstring, sizeof logstring, "| Komanda: /kick | Izvrsio: %s | Igrac: %s | Razlog: %s | Vrsta: Direktna | IP: %s", hIme2, hIme, razlog, ip);
UpisiLog(FAJL_KICKLOG, logstring);
}
else if(PI[playerid][GM] >= 4)
{
new id, razlog[64];
if(sscanf(params, "us[64]", id, razlog)) return SCM(playerid, GRAD3, "Koristite: {BFC0C2}/kick [Korisnicki ID ili Ime igraca] [Razlog]");
if(!IsPlayerConnected(id)) return SCM(playerid, GRAD2, "(greska) Taj igrac je offline!");
new hIme[MAX_PLAYER_NAME];
new hIme2[24];
new strport[150];
RPIme(id, hIme);
RPIme(playerid, hIme2);
format(strport, sizeof strport, "|{FFFFFF}GM{48E31C}| {FFFFFF}%s {48E31C}je izbacen od GM-a %s. Razlog: {FFFFFF}%s.", hIme, hIme2, razlog);
StaffPoruka(ZELENA2, strport);
format(strport, sizeof strport, "|{FFFFFF}GM{48E31C}| Izbaceni ste od GM-a {FFFFFF}%s. {48E31C}Razlog: %s.", hIme2, razlog);
SendClientMessage(id, ZELENA2, strport);
PI[id][Zavezan] = 0;
Kick(id);
new ip[16], logstring[256];
GetPlayerIp(playerid, ip, sizeof ip);
format(logstring, sizeof logstring, "| Komanda: /kick | Izvrsio: %s | Igrac: %s | Razlog: %s | Vrsta: Direktna | IP: %s", hIme2, hIme, razlog, ip);
UpisiLog(FAJL_KICKLOG, logstring);
}
else return SCM(playerid, GRAD2, "{FFFFFF}[{F81414}BattleAC{FFFFFF}] {BFC0C2}Admini i GMovi samo!");
return 1;
}
i evo ti od admina i gm-a
CMD:postavi(playerid, params[])
{
if(PI[playerid][Admin] > 0 || IsPlayerAdmin(playerid))
{
new id, parametar, akcija[32], hIme[3][MAX_PLAYER_NAME], upit[128];
if(sscanf(params, "uis[32]", id, parametar, akcija))
{
SCM(playerid, GRAD3, "Koristite: {BFC0C2}/postavi [Parametar 1 (Korisnicki ID ili Ime igraca)] [Parametar 2] [Sta postavljate]");
if(PI[playerid][Admin] >= HEAD || IsPlayerAdmin(playerid))
{
SCM(playerid, GRAD2, "Moguce postaviti: [Posao] [Admin] [Master] [Lider] [Novac]");
SCM(playerid, GRAD2, "Moguce postaviti: [IRC Global Admin] [IRC Admin sobe]");
}
SCM(playerid, GRAD2, "Moguce postaviti: [Enterijer] [VirtualWorld] [Skin]");
return 1;
}
else if(!strcmp(akcija, "admin", true))
{
if(PI[playerid][Admin] >= HEAD || IsPlayerAdmin(playerid))
{
if(!IsPlayerConnected(id)) return SCM(playerid, GRAD2, "(greska) Taj igrac je offline!");
RPIme(id, hIme[0]);
RPIme(playerid, hIme[1]);
new kkk[MAX_PLAYER_NAME];
new randomkod = 10000 + random(89999), kod[7];
ImeIgraca(id, kkk);
format(kod, 7, "%d", randomkod);
if(PI[id][Admin] == 0 && PI[id][GM] == 0)
{
new buf[129];
WP_Hash(buf, sizeof buf, kod);
new sql[200];
format(sql, 200, "UPDATE `Igraci` SET `PIN` = '%s' WHERE `Ime` = '%s'", buf, kkk);
mysql_query(sql, THREAD_OSTALO);
}
format(CmdString, 128, "* Postavili ste {FFFFFF}%s {33CCFF}za administratora nivo {FFFFFF}%d.", hIme[0], parametar);
SCM(playerid, SVETLOPLAVA, CmdString);
format(CmdString, 128, "* Postavljeni ste za administratora nivo {FFFFFF}%d | {33CCFF}Head admin: %s", parametar, hIme[1]);
SCM(id, SVETLOPLAVA, CmdString);
SCM(id, CRVENA, "VAZNO! Za ulazak u igru bice Vam potreban poseban kod. Bez tog koda necete biti u mogucnosti da se ulogujete u svoj account.");
SCMF(id, CRVENA, "Vas PIN kod je: {FFFFFF}%d. {FF0000}Ukoliko ga izgubite, nece biti moguce vratiti ga i necete moci da se ulogujete.", randomkod);
PI[id][Admin] = parametar;
new ip[16], logstring[256];
GetPlayerIp(playerid, ip, sizeof ip);
format(logstring, sizeof logstring, "|ADMINISTRATOR| Igrac: %s | Postavio: %s | Nivo: %d | IP: %s", hIme[0], hIme[1], parametar, ip);
UpisiLog(FAJL_MAKELOG, logstring);
format(upit, 128, "UPDATE `Igraci` SET `Admin` = '%d' WHERE `Ime` = '%s'", parametar, kkk);
mysql_query(upit, THREAD_OSTALO);
}
else return SCM(playerid, GRAD2, "(greska) Niste autorizovani da koristite ovu komandu!");
}
else if(!strcmp(akcija, "master", true))
{
if(PI[playerid][Admin] >= HEAD || IsPlayerAdmin(playerid))
{
if(!IsPlayerConnected(id)) return SCM(playerid, GRAD2, "(greska) Taj igrac je offline!");
RPIme(id, hIme[0]);
RPIme(playerid, hIme[1]);
new kkk[MAX_PLAYER_NAME];
new randomkod = 10000 + random(89999), kod[7];
ImeIgraca(id, kkk);
format(kod, 7, "%d", randomkod);
if(PI[id][Admin] == 0 && PI[id][GM] == 0)
{
new buf[129];
WP_Hash(buf, sizeof buf, kod);
new sql[200];
format(sql, 200, "UPDATE `Igraci` SET `PIN` = '%s' WHERE `Ime` = '%s'", buf, kkk);
mysql_query(sql, THREAD_OSTALO);
}
format(CmdString, 128, "* Postavili ste {FFFFFF}%s {48E31C}za Game Mastera nivo {FFFFFF}%d.", hIme[0], parametar);
SCM(playerid, ZELENA2, CmdString);
format(CmdString, 128, "* Postavljeni ste za Game Mastera nivo {FFFFFF}%d | {48E31C}Head admin: %s", parametar, hIme[1]);
SCM(id, ZELENA2, CmdString);
SCM(id, CRVENA, "VAZNO! Za ulazak u igru bice Vam potreban poseban kod. Bez tog koda necete biti u mogucnosti da se ulogujete u svoj account.");
SCMF(id, CRVENA, "Vas PIN kod je: {FFFFFF}%d. {FF0000}Ukoliko ga izgubite, nece biti moguce vratiti ga i necete moci da se ulogujete.", randomkod);
PI[id][GM] = parametar;
new ip[16], logstring[256];
GetPlayerIp(playerid, ip, sizeof ip);
format(logstring, sizeof logstring, "|GAME MASTER| Igrac: %s | Postavio: %s | Nivo: %d | IP: %s", hIme[0], hIme[1], parametar, ip);
UpisiLog(FAJL_MAKELOG, logstring);
format(upit, 128, "UPDATE `Igraci` SET `GM` = '%d' WHERE `Ime` = '%s'", parametar, kkk);
mysql_query(upit, THREAD_OSTALO);
}
else return SCM(playerid, GRAD2, "{FFFFFF}[{F81414}BattleAC{FFFFFF}] {BFC0C2}Admini(+rcon) samo!");
}
i ovdje kod ove komande postavi ispred ima par komanid ali ja sam ti samo kopirao te dvije i odo ja off ti mi odg zzz
Pod kojim callbackom ucitavas varijable iz mysql ?
ma neznam ni ja nece da mi ucita acc odlicno ga spremi ali nece kasnije da ga ucita kako to da popravim? :'( (ima li to veze ako tabela nije dobro poredana)?