09.06.2014, 19:46
(
Последний раз редактировалось vannesenn; 09.06.2014 в 20:08.
Причина: ....
)
Hi guys,
I have a big problem. On my home(Windows) server, spawn system work nice, without problems. I bought SAMP Server and I connect on server normally, without problems, but when I typed my password, I got this - http://imgur.com/0X5Dnh5.jpg. Man have animation with bug(like you see) and man only flying up.
But, when I put code(TogglePlayerSpectating(playerid, false) in my login dialog, I got this - http://imgur.com/7alhkb7.jpg, screen with big bug!
So, I don't Know where is a problem. It's in TogglePlayerSpectating or not? Spawn and login system work nice on home server, but why don't work on Linux? Thanks for help
I using fixes2 include and Linux plugin(on Windows I using plugin for Windows OS). Maybe is problem in fixes2 version for Linux OS? Or maybe is problem in geo_ip include with database. I put database file in scriptfiles folder, did I made properly with database file?
I have a big problem. On my home(Windows) server, spawn system work nice, without problems. I bought SAMP Server and I connect on server normally, without problems, but when I typed my password, I got this - http://imgur.com/0X5Dnh5.jpg. Man have animation with bug(like you see) and man only flying up.
But, when I put code(TogglePlayerSpectating(playerid, false) in my login dialog, I got this - http://imgur.com/7alhkb7.jpg, screen with big bug!
So, I don't Know where is a problem. It's in TogglePlayerSpectating or not? Spawn and login system work nice on home server, but why don't work on Linux? Thanks for help
Код:
if(dialogid == DIALOG_LOGIN) { if(response) { new ip[16]; new sifra = udb_hash(inputtext); GetPlayerIp(playerid, ip, 16); if(Korisnik[playerid][pSifra] == sifra) //PROVJERA DALI JE pSifra JEDNAKA UPISANOJ SIFRI { TogglePlayerSpectating(playerid, false); SetCameraBehindPlayer(playerid); SpawnPlayer(playerid); strmid(Korisnik[playerid][pLast_IP], ip, 0, strlen(ip), 16); //POSTAVLJA IP } else //UKOLIKO NIJE { new name[24]; new dan, mjesec, godina; new sat, minuta, sekunda; new string[365]; GetPlayerName(playerid, name, 24); getdate(godina, mjesec, dan); gettime(sat, minuta, sekunda); wrong_pass[playerid]++; if(wrong_pass[playerid] == 3) { ShowPlayerDialog(playerid, DIALOG_LOGIN_QUE, DIALOG_STYLE_MSGBOX, "Prijava - Previљe pokuљaja", ""BIJELA"Previљe ste puta upisali krivu љifru!\n\nMolimo, odaberite opciju.","Vraćanje", "Izlaz"); format(string, 128, "[%d.%d.%d. - %d:%d:%d] Igrac %s[%s] je previse puta ukucao krivu sifru.", dan, mjesec, godina, sat, minuta, sekunda, name, ip); WrongPassLog(string); if(Korisnik[playerid][pRazina_Zastite] == 2) { format(string, 365, "Pozdrav %s,\ndanas(%d.%d.%d.) u %d:%d:%d sati je netko ukucao 3 puta pogreљnu љifru.\nUkoliko mislite da je to bio pokuљaj krađe vaљeg računa, obratite nam se na naљem Forumu("WEB").\nLijep pozdrav, Haswell RolePlay tim.", name, dan, mjesec, godina, sat, minuta, sekunda); SendMail(Korisnik[playerid][pMail], "haswell.samp@hotmail.com", "Haswell RolePlay SA-MP", "Pokusaj ulaska u vas racun", string); } } else { format(string, 365, ""BIJELA"___________________________________________________\n\nUpisali ste krivu lozinku, %s\n\n"ZUTA"Ukoliko ste zaboravili љifru, moћete je vratiti.\n\n"BIJELA"Forum: "SPLAVA""WEB"\n\n"BIJELA"Upiљite točnu loziknu.\n\n___________________________________________________",name); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Prijava", string, "Prijava", "Odustani"); } } } else { Kick(playerid); } }
Код:
public OnPlayerSpawn(playerid) { new name[24]; new ip[16]; new string[186]; GetPlayerName(playerid, name, 24); GetPlayerIp(playerid, ip, 16); if(IsPlayerNPC(playerid)) //UKOLIKO JE PRIJAVLJENI IGRAC BOT { if(!strcmp(name, "Vozac_Tramvaja", true)) { PutPlayerInVehicle(playerid, bot_vozilo, false); SetPlayerColor(playerid, 0xFFFFFF00); return 1; } } else //UKOLIKO JE PRIJAVLJENI IGRAC COVJEK { if(spawn_ogranicenje[playerid] == true) { //POKAZUJE IGRACEN NOVAC TextDrawShowForPlayer(playerid, NovacBoks); TextDrawShowForPlayer(playerid, NovacTextDraw[playerid]); //POSTAVLJA SKIN I SATI ONLINE SetPlayerSkin(playerid, Korisnik[playerid][pSkin]); SetPlayerScore(playerid, Korisnik[playerid][pSatiIgranja]); //RESETIRANJE ANIMACIJE ApplyAnimation(playerid, "DEALER", "null", 0.0, 0, 0, 0, 0, 0); //SPAWNANJE IGRACA SetPlayerSpawn(playerid, false); //UKOLIKO SE IGRAC PRVI PUT SPAWNA if(logiran[playerid] == false) { new zemlja[16], drzava[128], grad[128]; GetPlayerLocation(playerid, zemlja, drzava, grad, 2); logiran[playerid] = true; format(string, 128, "Dobro doљli na "SERVERNAME" "VRSTA", "SPLAVA"%s"BIJELA".", name); SendClientMessage(playerid, BOJA_BIJELA, string); AC_UpdateMoneyBar(playerid, Korisnik[playerid][pNovac]); SetPlayerColor(playerid, 0xFFFFFF00); //SALJE OBAVIJEST STAFFU DA JE IGRAC SPOJEN if(Info[false][ConnectNotification] == 1) //SAMO ADMINI { format(string, 186, "*** %s[%s] se spojio na Server. Lokacija igrača je: %s - %s - %s", name, ip, zemlja, drzava, grad); SendAdminMessage(BOJA_KICKWARNBAN, string); } if(Info[false][ConnectNotification] == 2) //ADMINI I GAME MASTERI { format(string, 128, "*** %s[%s] se spojio na Server.", name, ip); SendStaffMessage(BOJA_KICKWARNBAN, string); } //UKOLIKO IGRAC NIJE PROSAO UVOD /* if(Korisnik[playerid][pProsao_Uvod] == false) { ShowPlayerDialog(playerid, DIALOG_REGISTER_INTRO, DIALOG_STYLE_MSGBOX, "Uvod - Prvi trenuci na Serveru", ""TCRVENA"Nazalost, ovaj uvod je potrebno proci.\n\n"BIJELA"Poslje malog uvoda u nas svijet cete proci kroz kratki RolePlay tutorijal.\nPoslje tutorijala cete morati odgovoriti na par pitanja, zasto dobro pratite RolePlay tutorijal.", "Dalje", "Izlaz"); }*/ //UKOLIKO JE IGRAC VRATIO SVOJU SIFRU if(Korisnik[playerid][pVracena_Sifra] == true) { SendClientMessage(playerid, BOJA_TCRVENA, "Uspjeљno ste vratili svoju љifru! Ukoliko budete imali kakvih problema, obratite nam se na "SPLAVA""WEB""TCRVENA"."); Korisnik[playerid][pVracena_Sifra] = false; } } } else { spawn_ogranicenje[playerid] = true; } } return 1; }
Код:
public OnPlayerRequestClass(playerid, classid) { if(!IsPlayerNPC(playerid)) { if(!Logiran(playerid)) { new name[24]; new ip[16]; new dan,mjesec,godina; new sat,minuta,sekunda; new string[365]; new ime; GetPlayerName(playerid, name, 24); GetPlayerIp(playerid, ip, 16); getdate(godina,mjesec,dan); gettime(sat,minuta,sekunda); ime = strfind(name, "_", true); //MICANJE SPECA ZA KLASU TogglePlayerSpectating(playerid, true); //POSTAVLJANJE KAMERE Postavi_Kameru(playerid); if(fexist(UserPath(name))) //PROVJERA DALI POSTOJI KORISNICKI RACUN { INI_ParseFile(UserPath(name), "UcitajKorisnika_%s", .bExtra = true, .extra = playerid); //UCITAVANJE KORISNIKA if(ime == -1) //PROVJERA DALI JE IGRAC UPISAO ISPRAVNO IME { format(string, 128, "[%d.%d.%d. - %d:%d:%d] Korisnik %s[%s] se spojio s nepravilno unesenim imenom.", dan, mjesec, godina, sat, minuta, sekunda, name, ip); WrongNameLog(string); SendClientMessage(playerid, BOJA_TCRVENA, "Vaљe ime nije u pravilnom obliku. U vaљem imenu mora biti _!"); return SetTimerEx("Izbaci_Igraca", 1000, false, "i", playerid); } if(strfind(name, "0", true) != -1 || strfind(name, "1", true) != -1 || strfind(name, "2", true) != -1 || strfind(name, "3", true) != -1 || strfind(name, "4", true) != -1 || strfind(name, "5", true) != -1 || strfind(name, "6", true) != -1 || strfind(name, "7", true) != -1 || strfind(name, "8", true) != -1 || strfind(name, "9", true) != -1) { format(string, 128, "[%d.%d.%d. - %d:%d:%d] Korisnik %s[%s] se spojio s nepravilno unesenim imenom.", dan, mjesec, godina, sat, minuta, sekunda, name, ip); WrongNameLog(string); SendClientMessage(playerid, BOJA_TCRVENA, "Vaљe ime nije u pravilnom obliku. U vaљem imenu ne smiju biti brojevi!"); return SetTimerEx("Izbaci_Igraca", 1000, false, "i", playerid); } if(Info[false][BlackListCheck] == true) //UKOLIKO JE PROVJERA ZA BLACK LISTU UPALJENA { CheckPlayerInBlackList(playerid); } if(Info[false][Zakljucan] != 0) //UKOLIKO JE SERVER ZAKLJUCAN { return ShowPlayerDialog(playerid, DIALOG_SERVER_LOCKPASS, DIALOG_STYLE_INPUT, "Server - Љifra", ""NARANDJASTA"Server je zakljućan!\n\n"BIJELA"Upiљite љifru da biste uљli na Server", "Uđi", "Odustani"); } if(Korisnik[playerid][pRegistriran] == 2 && Korisnik[playerid][pSatiIgranja] > 10) //UKOLIKO NIJE AKTIVIRAN RACUN { new kod = 100000000 + random(8999999999); format(string, 512, "Pozdrav %s,\nDrago nam je da ste odabrali baљ naљ Server za igranje. Na dnu e-Maila će te vidjeti kod koji trebate upisati In Game. Također će te morati proći par osnovnih Role Play pitanja.\n\nVaљ kod je: %d.\nUkoliko budete imali kakva pitanja, obratite nam se na naљem Forumu("WEB").\nLijep pozdrav i ugodan borakav na naљem Serveru, Haswell RolePlay tim.", name, kod); SendMail(Korisnik[playerid][pMail], "haswell.samp@hotmail.com", "Haswell RolePlay SA-MP", "Dobro doљli na Server!", string); Korisnik[playerid][pRegistracijski_Kod] = kod; return ShowPlayerDialog(playerid, DIALOG_REGISTER_VERF_CODE, DIALOG_STYLE_INPUT, "Provjera računa", ""BIJELA"Na Vaљ e-Mail koji ste ukucali tokom registracije je poslan kod kojeg trebate ovdje ukucati radi potvrde računa.\nDa biste mogli nastavit igrati, morate upisati kod koji ste primili na Vaљu e-Mail adresu.", "Potvrdi", "Odustani"); } if(Korisnik[playerid][pRegistriran] == 3) { return ShowPlayerDialog(playerid, DIALOG_LOGIN_VERF_NEW_MAIL, DIALOG_STYLE_INPUT, "Provjera e-Mail adrese", ""BIJELA"Da biste pristupili računu morate ukucati kod koji ste primili na Vaљ novi e-Mail.", "Potvrdi", "Odustani"); } //PROVJERA DALI JE TRENUTNI IP ISTI KAO OD PROSLOG LOGINA if(strcmp(ip, Korisnik[playerid][pLast_IP], true) && Korisnik[playerid][pRazina_Zastite] == 2) { format(string, 256, "Pozdrav %s,\ndanas(%d.%d.%d.) u %d:%d:%d sati je netko pokusao ući u Vas račun.\nUkoliko mislite da Vam netko ћeli ukrasti račun, obratite nam se na naљem Forumu("WEB").\nLijep pozdrav, Haswell RolePlay tim.", name, dan, mjesec, godina, sat, minuta, sekunda); SendMail(Korisnik[playerid][pMail], "haswell.samp@hotmail.com", "Haswell RolePlay SA-MP", "Pokuљaj ulaska u Vaљ račun", string); } if(Korisnik[playerid][pRegistriran] == 1) //UKOLIKO JE REGISTRIRAN DO KRAJA { new inst_kod[25]; gpci(playerid, inst_kod, 25); if(Korisnik[playerid][pBan] == true) { SendClientMessage(playerid, BOJA_KICKWARNBAN, "** Naћalost, Vi ste Banani na ovom Serveru, za viљe informacija posjetite "SPLAVA""WEB"."); return SetTimerEx("Izbaci_Igraca", 1000, false, "i", playerid); } if(strcmp(inst_kod, Korisnik[playerid][pGPCI], true) && Korisnik[playerid][pRazina_Zastite] == 2) //USKORO DODAJ PROVJERU I ZA PREMIUM RACUN { new kod = 100000000 + random(8999999999); gpci(playerid, inst_kod, 25); Korisnik[playerid][pGPCI_Kod] = kod; format(string, 186, "Pozdrav %s,\nDa biste se uspjeљno prijavili na svoj račun s drugog računala, InGame upiљite sljedeći kod: %d\nLijep pozdrav, Haswell RolePlay tim.", name, kod); SendMail(Korisnik[playerid][pMail], "haswell.samp@hotmail.com", "Haswell RolePlay SA-MP", "Prijava na racun", string); SpremiKorisnika(playerid); return ShowPlayerDialog(playerid, DIALOG_LOGIN_GPCI_CODE_CHECK, DIALOG_STYLE_INPUT, "Prijava - Provjera uređaja", ""BIJELA"Na Vaљ e-Mail je poslan kod koji morate unjeti u polje ispod\nda biste se uspjeљno prijavili na Vaљ račun s drugog računala.", "Prijava", "Izlaz"); } format(string, 365, ""BIJELA"___________________________________________________\n\nDobro doљli nazad na Server, %s\n\n"SZELENA"Vaљ korisnički račun je registriran.\n\n"BIJELA"Forum: "SPLAVA""WEB"\n\n"BIJELA"Upiљite vaљu loziknu.\n\n___________________________________________________",name); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Prijava", string, "Prijava", "Odustani"); } else //UKOLIKO NIJE { if(Info[false][Registracija] == false) { SendClientMessage(playerid, BOJA_SCRVENA, "Registracija je trenutno ugaљena, za viљe informacija posjetite "SPLAVA""WEB""SCRVENA"."); return SetTimerEx("Izbaci_Igraca", 1000, false, "i", playerid); } format(string, 365, ""BIJELA"___________________________________________________\n\nDobro doљli na Server, %s\n\n"NARANDJASTA"Vaљ korisnički račun nije do kraja registriran.\n\n"BIJELA"Forum: "SPLAVA""WEB"\n\n"BIJELA"Upiљite vaљu ћeljenu loziknu.\n\n___________________________________________________",name); ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registracija - 1. korak", string, "Dalje", "Odustani"); } } else //UKOLIKO NE POSTOJI KORISNICKI RACUN { if(Info[false][Registracija] == false) { SendClientMessage(playerid, BOJA_SCRVENA, "Registracija je trenutno ugaљena, za viљe informacija posjetite "SPLAVA""WEB""SCRVENA"."); return SetTimerEx("Izbaci_Igraca", 1000, false, "i", playerid); } format(string, 365, ""BIJELA"___________________________________________________\n\nDobro doљli na Server, %s\n\n"SCRVENA"Vaљ korisnički račun nije registriran.\n\n"BIJELA"Forum: "SPLAVA""WEB"\n\n"BIJELA"Upiљite vaљu ћeljenu loziknu.\n\n___________________________________________________",name); ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registracija - 1. korak", string, "Dalje", "Odustani"); } } else { SendClientMessage(playerid, BOJA_TCRVENA, "*** Ako ћelite promjeniti Skin, posjetite najbliћi dućan sa stvarima!"); } } return 1; }
Код:
public SetPlayerSpawn(playerid, bool:stil) { if(stil == false) //UKOLIKO JE NORMALNO IZASO IZ IGRE I NEMA KUCU/RENT { TogglePlayerControllable(playerid, false); for(new spawn_id = false; spawn_id < sizeof(Spawn); spawn_id++) { printf("Loopano %d puta", spawn_id); if(Spawn[spawn_id][sEnble] == false) { new enble = random(4); if(enble == 0 || enble == 2 /*OVO NADALJE KASNIJE OBRISI*/|| enble == 1 || enble == 3) //UKOLIKO JE SERVER ODLUCIO DA CE SPAWNATI IGRACA { Spawn[spawn_id][sEnble] = true; SetPlayerPos(playerid, Spawn[spawn_id][sPosX], Spawn[spawn_id][sPosY], Spawn[spawn_id][sPosZ]); SetPlayerFacingAngle(playerid, Spawn[spawn_id][sPosRX]); SetPlayerInterior(playerid, Spawn[spawn_id][sInt]); SetPlayerVirtualWorld(playerid, Spawn[spawn_id][sVirtualWorld]); SetTimerEx("Spawn_Action", 3000, false, "id", playerid, spawn_id); SetTimerEx("Spawn_Animation", 50, false, "id", playerid, spawn_id); SetPlayerCameraPos(playerid, Spawn[spawn_id][sCamPos1X], Spawn[spawn_id][sCamPos1Y], Spawn[spawn_id][sCamPos1Z]); SetPlayerCameraLookAt(playerid, Spawn[spawn_id][sCamLAPos1X], Spawn[spawn_id][sCamLAPos1Y], Spawn[spawn_id][sCamLAPos1Z]); return 1; } } } return 1; } return 1; } public Spawn_Animation(playerid, spawn_id) { return ApplyAnimation(playerid, Spawn[spawn_id][sAnimLib], Spawn[spawn_id][sAnimName], 4.1, Spawn[spawn_id][sAnimLoop], Spawn[spawn_id][sAnimLockX], Spawn[spawn_id][sAnimLockY], Spawn[spawn_id][sAnimFreeze], Spawn[spawn_id][sAnimTimer], Spawn[spawn_id][sAnimSync]); } public Spawn_Action(playerid, spawn_id) { printf("Spawn %d", spawn_id); Spawn[spawn_id][sEnble] = true; if(Spawn[spawn_id][sCamMove] == true) // UKOLIKO JE POSTAVLJENO DA SE KAMERA MICE { InterpolateCameraPos(playerid, Spawn[spawn_id][sCamPos1X], Spawn[spawn_id][sCamPos1Y], Spawn[spawn_id][sCamPos1Z], Spawn[spawn_id][sCamPos2X], Spawn[spawn_id][sCamPos2Y], Spawn[spawn_id][sCamPos2Z], Spawn[spawn_id][sCamTimer], CAMERA_MOVE); InterpolateCameraLookAt(playerid, Spawn[spawn_id][sCamLAPos1X], Spawn[spawn_id][sCamLAPos1Y], Spawn[spawn_id][sCamLAPos1Z], Spawn[spawn_id][sPosX], Spawn[spawn_id][sPosY], Spawn[spawn_id][sPosZ] + 0.60, Spawn[spawn_id][sCamTimer] - 625, CAMERA_MOVE); } return SetTimerEx("Vracanje_Kamere", Spawn[spawn_id][sAnimTrajanje], false, "id", playerid, spawn_id); }