Skocz do zawartości

Artur96

Użytkownik
  • Zawartość

    184
  • Rejestracja

  • Ostatnia wizyta

Odpowiedzi dodane przez Artur96


  1. Próbuję stworzyć system rejestracji używając wbudowanego SQLite. Problem w tym, że za każdym razem kiedy otwieram nieistniejący plik .db (który powinien się stworzyć jeśli nie istnieje), ten plik się nie tworzy, a baza danych jest niby 'otwarta'. Oto fragment kodu który za to odpowiada:

    if((baza = db_open("baza.db")) == DB:0)
    {
    	print("Polaczenie z baza danych nieudane.");
    	SendRconCommand("exit");
    }
    else
    {
    	print("Polaczono z baza danych.");
    	db_query(baza, "CREATE TABLE IF NOT EXISTS `Konta` (`Nazwa` VARCHAR(24) PRIMARY KEY, `Haslo` CHAR(64), `Sol` CHAR(10))");
    }

    EDIT: Problem był z klientem FTP, który nie odświeżał katalogu serwera poprawnie...


  2. Po kilkuletniej przerwie zdecydowałem się odwiedzić starego, dobrego SA:MPa :P Czytając różne tematy na tym forum odnoszę wrażenie iż nie opłaca się 'inwestować' w polskie serwery SA:MP, gdyż zwyczajnie brakuje graczy którzy mogliby grać na owym serwerze. Ale czy to jest prawda? Przeglądając zakładkę Internet i Hosted zauważyłem, że jest mało polskich serwerów, a scenę dominują Rosjanie i anglojęzyczni. Na oficjalnym forum SA:MP widziałem też statystyki dotyczące serwerów SA:MP na przełomie ostatnich kilku lat. Można powiedzieć, że od 2014 roku SA:MP traci na ilości graczy.

    Jako że trochę tęsknie za SA:MPem chciałbym zorganizować mały *nieoryginalny* osobisty projekt typu gamemode RolePlay w Las Venturas, od zera. Ale nie jestem pewien czy mi się to zwyczajnie opłaca w sensie nierekreacyjnym? Co o tym myślicie?


  3. Witam.

    Po kilkunastu-miesięcznej przerwie powracam do świata SA-MPa :)

    Jak na razie jedynie skaczę po różnych serwerach, szukając tego jedynego.

    Ale moje poszukiwania są bez skutku.

    Chodzi mi właściwie o Polskie serwery RolePlay, które nie wyglądają zbyt kusząco.

    Muszę się was zapytać - czy warto by było stworzyć swój własny serwer RP na poziomie niskim-średnim (w sensie poziomu RP)?


  4. Zapomniałem nadmienić ,że ma zakrywać dolara [$] ewidentnie moja wina prośiłbym o edycje skryptu

                                  Dziękuje.

                                                                 

    Poprawiłem mój pierwszy post do twoich wymagań.

    P.S Używaj funkcji 'Modyfikuj', moderatorzy nie lubią double postów ;)


  5. Na górze skryptu:

    new Text:KasaCover;
    W OnGameModeInit:
    KasaCover = TextDrawCreate(499.000000, 80.000000, "???????????"); // nie można zostawić pustego bo kwadrat będzie bardzo chudy
    TextDrawBackgroundColor(KasaCover, 255);
    TextDrawFont(KasaCover, 1);
    TextDrawLetterSize(KasaCover, 0.500000, 1.800000);
    TextDrawColor(KasaCover, -1);
    TextDrawSetOutline(KasaCover, 0);
    TextDrawSetProportional(KasaCover, 1);
    TextDrawSetShadow(KasaCover, 1);
    TextDrawUseBox(KasaCover, 1);
    TextDrawBoxColor(KasaCover, 255);
    TextDrawTextSize(KasaCover, 606.000000, 89.000000);
    
    W OnPlayerConnect:
    TextDrawShowForPlayer(playerid, KasaCover);


  6. Linijka 22

                     //                    | |
    Ta linijka to tam co pisze by Topek itd... linijka 31 także ten napis
    			//	      ____) | |_| | | | |\ V / (_| | | | |
    linijka 40
    */
    linijka 9679
    	BReason = strock(params, idx);
    linijka  12879
    Reason = strrest(params, idx);

    Podaj kilka linijek z góry i dołu do każdych z tych linijek.


  7. Witam.

    Właśnie zrobiłem test na prawo jazdy. Test nie do końca działa, gdyż przedostatni checkpoint odmawia posłuszeństwa... Chodzi mi o to, że jak na niego najedziesz to nie pokazuje ostatniego checkpointa

    Tutaj tablica ze wszystkimi punktami:

    new Float:PunktyTestuPrawaJazdy[17][3] =
    {
    	{2429.3779,1179.9071,10.5468},
    	{2361.2996,1195.4839,10.5469},
    	{2085.2798,1195.3021,10.5469},
    	{2064.4214,1359.8180,10.5468},
    	{2064.4888,1519.2736,10.5469},
    	{2092.9248,1760.4930,10.5468},
    	{2314.1787,1770.4709,10.5547},
    	{2425.2412,1726.2772,10.5469},
    	{2545.1709,1626.2648,10.5469},
    	{2624.2852,1470.4950,10.5295},
    	{2698.7397,1339.6449,6.6123},
    	{2418.6018,862.3056,6.6093},
    	{2300.8855,924.9321,10.5231},
    	{2289.2964,959.8886,10.5468},
    	{2350.5845,1060.7692,10.5547},
    	{2414.1931,1070.5927,10.5468},
    	{2432.6860,1117.0184,10.6143}
    };
    OnPlayerEnterVehicle:
    	if(vehicleid >= 31 && vehicleid <= 36)
    	{
    	    if(GetPVarInt(playerid, "PrawoJazdyTest") == 1)
    		{
    		    SetPVarInt(playerid, "PrawoJazdyTest", 2);
    		    SetPlayerRaceCheckpoint(playerid, 0, PunktyTestuPrawaJazdy[0][0], PunktyTestuPrawaJazdy[0][1], PunktyTestuPrawaJazdy[0][2], PunktyTestuPrawaJazdy[1][0], PunktyTestuPrawaJazdy[1][1], PunktyTestuPrawaJazdy[1][2], 5);
    		    SendClientMessage(playerid, ZOLTY, "TEST: Podążaj za punktami zaznaczonymi na mini-mapie! Pamiętaj żeby jechać ostrożnie i nie za szybko! (Max. 50 km/h) Powodzenia!");
    		}
    		else
    		{
    		    ClearAnimations(playerid);
    			SendClientMessage(playerid, CWARN, "BŁĄD: Nie bierzesz testu ruchu drogowego!");
    		}
    	}
    OnPlayerEnterRaceCheckpoint:
    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    	if(GetPVarInt(playerid, "PrawoJazdyTest") == 2)
    	{
    		new punkt = GetPVarInt(playerid, "PrawoJazdyTestPunkt");
    	    switch(punkt)
    	    {
    			case 0..14:
    			{
    		 		SetPlayerRaceCheckpoint(playerid, 0, PunktyTestuPrawaJazdy[punkt+1][0], PunktyTestuPrawaJazdy[punkt+1][1], PunktyTestuPrawaJazdy[punkt+1][2], PunktyTestuPrawaJazdy[punkt+2][0], PunktyTestuPrawaJazdy[punkt+2][1], PunktyTestuPrawaJazdy[punkt+2][2], 5);
    				SetPVarInt(playerid, "PrawoJazdyTestPunkt", punkt + 1);
    			}
    			case 15: // to nie chce sie uruchomic :(
    			{
    		 		SetPlayerRaceCheckpoint(playerid, 1, PunktyTestuPrawaJazdy[punkt+1][0], PunktyTestuPrawaJazdy[punkt+1][1], PunktyTestuPrawaJazdy[punkt+1][2], PunktyTestuPrawaJazdy[punkt+2][0], PunktyTestuPrawaJazdy[punkt+2][1], PunktyTestuPrawaJazdy[punkt+2][2], 5);
    				SetPVarInt(playerid, "PrawoJazdyTestPunkt", punkt + 1);
    			}
    			case 16:
    			{
    			    SetVehicleToRespawn(GetPlayerVehicleID(playerid));
    			    DeletePVar(playerid, "PrawoJazdyTestPunkt");
    			    DeletePVar(playerid, "PrawoJazdyTest");
    			    SetPACCInt(playerid, "AutoLic", 1);
    			    SendClientMessage(playerid, ZOLTY, "TEST: Udało Ci się, ukończyłeś test! Oto twoje prawo jazdy!");
    			}
    		}
    	}
    	return 1;
    }


  8. SetTimerEx("rozmowa", czas, 0, "d", playerid);
    
    forward rozmowa(playerid);
    public rozmowa(playerid)
    	return ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0);
    

    Dodałem timer do callback'a i funkcje pod tym, i nic, stoje i nie moge się ruszać. Jakbyś nie zauważył to ja zrobiłem coś takiego, że czas animacji jest regulowany przez długość wiadomości na czacie. Może tam byś looknął?


  9. Pierw sprawdź.  ;)

    Mi ta funkcja działa bez najmniejszych problemów.

    Dobra masz racje, działa ;)

    EDIT: Mam następny problem. Jak mogę zachować ten sam efekt tyle że animacja będzie grała przez określony czas? Zrobiłem coś takiego:

    public OnPlayerText(playerid, text[])
    {
    	new czat[256]; format(czat, sizeof(czat), "%s mówi: %s", PlayerName(playerid), text);
    	SendLocalMessageToAll(playerid, 16.0, czat, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
    	new czas = strlen(text) * 200;
     	ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.0, 1, 1, 1, 0, czas);
    	return 0;
    }
    

×