Jump to content

Twixo

Uživatel
  • Příspěvků

    120
  • Registrován

  • Aktivní

  • Vítězných dnů

    1

Příspěvky posted by Twixo

  1. před 1 hodinou, DuFF said:

    Ak chceš zastaviť kód na mieste komentára bez toho, aby si dostal "unknown command", môžeš použiť return 1. Btw možno by si ten kód mohol podstatne zredukovať využitím for cyklu.

    return 1 funguje, dk.

  2. like that (zatial iba save bez loadu)? a ešte nejak pomoc s poznamkami, ak by ste mohli

    #define FILTERSCRIPT
    
    #include <a_samp>
    #include <zcmd>
    #include <sscanf2>
    
    new bool:EMPTYSlot[3][MAX_PLAYERS];
    new Float:SlotX[3][MAX_PLAYERS],Float:SlotY[3][MAX_PLAYERS],Float:SlotZ[3][MAX_PLAYERS],Model[3][MAX_PLAYERS];
    
    stock Jmeno(playerid)
    {
    new p[MAX_PLAYER_NAME];
    GetPlayerName(playerid,p,MAX_PLAYER_NAME);
    return p;
    }
    
    CMD:saveveh(playerid,params[])
    {
    	new Float:x,Float:y,Float:z,model,string[128],str[50];
    	if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1,"tupec, nie si v aute");
    	GetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
    	model = GetVehicleModel(GetPlayerVehicleID(playerid));
    	format(string,sizeof(string),"%s’vehicles.sav",Jmeno(playerid));
    	new File:veh = fopen(string, io_write);
    	if(EMPTYSlot[0][playerid] == false)
    	{
    	SlotX[0][playerid] = x;
    	SlotY[0][playerid] = y;
    	SlotZ[0][playerid] = z;
    	Model[0][playerid] = model;
    	format(str,sizeof(str),"%f\r\n",SlotX[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotY[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotZ[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%d\r\n",Model[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotX[1][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotY[1][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotZ[1][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%d\r\n",Model[1][playerid]);fwrite(veh,str);
       	format(str,sizeof(str),"%f\r\n",SlotX[2][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotY[2][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotZ[2][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%d\r\n",Model[2][playerid]);fwrite(veh,str);
        SendClientMessage(playerid,-1,"test, uložil si do slotu 0");
    	fclose(veh);
    	EMPTYSlot[0][playerid] = true;
    	return 0; //potreboval som, aby neukladalo ďalej, ako to lepšie zastaviť? lebo mi to dá Unkown command, ale prikaz fungoval potialto, ako mal
    	}
    	if(EMPTYSlot[1][playerid] == false)
    	{
    	SlotX[1][playerid] = x;
    	SlotY[1][playerid] = y;
    	SlotZ[1][playerid] = z;
    	Model[1][playerid] = model;
    	format(str,sizeof(str),"%f\r\n",SlotX[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotY[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotZ[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%d\r\n",Model[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotX[1][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotY[1][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotZ[1][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%d\r\n",Model[1][playerid]);fwrite(veh,str);
       	format(str,sizeof(str),"%f\r\n",SlotX[2][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotY[2][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotZ[2][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%d\r\n",Model[2][playerid]);fwrite(veh,str);
    	fclose(veh);
    	SendClientMessage(playerid,-1,"test, uložil si do slotu 1");
    	EMPTYSlot[1][playerid] = true;
    	return 0;
    	}
    	if(EMPTYSlot[2][playerid] == false)
    	{
    	SlotX[2][playerid] = x;
    	SlotY[2][playerid] = y;
    	SlotZ[2][playerid] = z;
    	Model[2][playerid] = model;
    	format(str,sizeof(str),"%f\r\n",SlotX[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotY[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotZ[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%d\r\n",Model[0][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotX[1][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotY[1][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotZ[1][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%d\r\n",Model[1][playerid]);fwrite(veh,str);
       	format(str,sizeof(str),"%f\r\n",SlotX[2][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotY[2][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%f\r\n",SlotZ[2][playerid]);fwrite(veh,str);
        format(str,sizeof(str),"%d\r\n",Model[2][playerid]);fwrite(veh,str);
    	fclose(veh);
    	SendClientMessage(playerid,-1,"test, uložil si do slotu 2");
    	EMPTYSlot[2][playerid] = true;
    	return 0;
    	}
    	return 1;
    }
    
    CMD:veh(playerid, params[]) //prikaz na auto, aby sa dalo testovať
    {
    	new vehid;
    	if(sscanf(params, "i",vehid)) return SendClientMessage(playerid, 0xFF0000FF, "[ ! ] {FFFFFF} /veh [ vehicleid ]");
    	if(vehid < 400 || vehid > 611) return SendClientMessage(playerid, 0xFF0000FF, "[ ! ] {FFFFFF} Použí id 400 - 611");
    	new Float:x,Float:y,Float:z,Float:Angle;
    	GetPlayerPos(playerid, x,y,z);
    	GetPlayerFacingAngle(playerid,Angle);
    	new auto = CreateVehicle(vehid,x,y,z,Angle,random(255),random(250),1000,5);
    	new svet = GetPlayerVirtualWorld(playerid);
    	SetVehicleVirtualWorld(auto, svet);
    	PutPlayerInVehicle(playerid,auto,0);
    	return 1;
    }

     

  3. Chcem sa zdokonaliť v ukladaní vecí pomocou základných funkcií z a_samp includu. Chcem sa ťa spýtať, že čo by som mal približne vedieť (funkcie, atd. + či by si mi neposlal nejake odkazy na samp wiky) na to, aby som dokázal ukladať napr. vozidlá (zatiaľ bez tuningu) a bolo by to napr. na tri sloty. Bol by som za radu :)  Zatiaľ chcem skúsiť základne funckie sampu, čiže nejaké y_ini a pod. mi neposielajte zatial.

  4. On 17. 7. 2018 at 6:27, BioMeta said:

    3.Prosím berte ohľad na to že len začínam pawniť a ešte sa len učím tak ten Hate si nechaj a použi radšej konštruktívnu kritiku, a bol by som rád aj keby že mi to niekto vysvetlý aké problémy tam sú.

    mám otázku, keďže iba začínaš, tak Street Life asi nebude tvôj, nechceš začať na niečom vlastnom s tým, že by sme ti tu ukázali ako cca začať so zamestnaniami ?

  5. před 7 minutami, Tanga said:

    Daj kód od GetPlayer2DZone(). Nie je chyba tam? Daj si to vypisovať do chatu prípadne a tak to otestuj. A kukni si GetPlayerPoolSize(). :)

    stock GetPlayer2DZone(playerid, zone[], len) //Credits to Cueball, Betamaster, Mabako, and Simon (for finetuning).
    {
            new Float:x, Float:y, Float:z;
            GetPlayerPos(playerid, x, y, z);
            for(new i = 0; i != sizeof(gSAZones); i++ )
            {
                    if(x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4])
                    {
                        return format(zone, len, gSAZones[i][SAZONE_NAME], 0);
                    }
            }
            return 0;
    }

    http://forum.sa-mp.com/showthread.php?t=27598

  6. před 1 minutou, ]Virus[ said:

    Ale tak nám tu postni další textdrawy

    je to úplne jedno, lebo akýkoľvek textdraw sa s tym bude bugovať, napr. " Keď mám iný textdraw, hocí jaký: buď si navrhujem nový v TextDrawEditor By Zamaroth  a vždy ten Textdraw0 nesie meno Blueberry Acres " (ako som už písal hore ...)

  7. před 4 minutami, Tanga said:

    Pochopil som ťa správne, že ti chybne aktualizuje textdraw, resp. že má stále hodnotu "Blueberry Acres" aj keď si fyzicky v inej oblasti?

    ten daný system funguje, textdraw ukazujú to čo má, čiže sa aktualizuje, lenže iné textdrawy sa nejako "buguju" a nesú názov blueberry acres, lenže tie iné textdrawy pracuju bezchybne bez tohoto systemu

  8. Zdravím,

    mám taký jednoduchý systém, kt. ti hovorí kde sa nachádzaš. Ide o jednoduchý textdraw, kt. nosí mená oblastí (napr. Blueberry). Tento systém funguje, lenže chyba je v texdraws. Keď mám iný textdraw, hocí jaký: buď si navrhujem nový v TextDrawEditor By Zamaroth  a vždy ten Textdraw0 nesie meno Blueberry Acres alebo nejaký iný textdraw iného systému, trebárs gametime hodín, kt. neustále berú podobu "Blueberry Acres" atd. Dúfam, že zatiaľ chápete. Ide mi o to, že neviem nájsť chybu v tomto systéme a budem rád, keď mi pomôžete.

    #include <zones>
    
    new Text:zones[MAX_PLAYERS];
    forward ZoneTimer();
    //gamemodeinit
        SetTimer("ZoneTimer",1000,1);
        
    //connect
    
    	zones[playerid] = TextDrawCreate(87.000000, 416.000000, "Zone");
    	TextDrawAlignment(zones[playerid], 2);
    	TextDrawBackgroundColor(zones[playerid], 255);
    	TextDrawFont(zones[playerid], 1);
    	TextDrawLetterSize(zones[playerid], 0.199999, 0.799998);
    	TextDrawColor(zones[playerid], -1);
    	TextDrawSetOutline(zones[playerid], 1);
    	TextDrawSetProportional(zones[playerid], 1);
    	TextDrawSetSelectable(zones[playerid], 1);
        
    //disconnect
    	TextDrawHideForPlayer(playerid, zones[playerid]);
    //spawn
    	TextDrawShowForPlayer(playerid, zones[playerid]);
    //dole v móde   
    public ZoneTimer()
    {
    for(new i; i<MAX_PLAYERS; i++)
    {
    new string[128], zone[MAX_ZONE_NAME];
    GetPlayer2DZone(i, zone, MAX_ZONE_NAME);
    format(string,sizeof(string),"%s",zone);
    TextDrawSetString(zones[i],string);
    }
    return 1;
    }

    Ak mi chcete naozaj pomôcť, tak mi napíš private, dáme ts a tam to poriadne vysvetlím (do podrobna).

  9. Zdravím,

     

    chcem sa vás spýtať ako zobrazim SPAWN tlačítko pri pripojení neskôr?

    Ako to myslim:

    1. Hráč sa napojí

    2. Zobrazí sa tabulka, napr. s prihlasením

    3. Pri uspešnom prihlasení vyjdu dve šipky a spawn tlačitko

    ak by som pri daj po prihlasení ďalšiu tabulku, zobrazilo by sa to tlačitko spawn tiež

    čiže to bude vyzerať tak, že keď bude zistovať, že heslo je správne a zistí, že heslo bolo zadané spravne, tak Ukáže Hráčovi Tabulku. Keď sa hračovi ukáže ta tabulka, je potrebne aby tam nebolo to SPAWN tlačitko.

     

    Googlil som a nič extra som nenašiel alebo som iba zadával zlé kľúčové slová x)

     

    Malo by to vyzerať, že po bode 3, by šiel bod 4, čiže

    po 4. Zobrazí dialog dva (čiže tabulku) po správnom prihlasení

    po 5. po odkliknutí obsahu v tabulke sa zobrazia tie dve šípky a SPAWN tlačitko

     

    Dúfam, že ste to pochopili, pretože moje vysvetlovacie schopnosti sú strašné slabé x) Budem rád za každu rano, popr. menšiu funkciu o ktorom som živote nepočul ako to už býva -.- x)

    Ak ste to nepochopili, kľudne Vám to dokážem vysvetliť i na TS3 :)

  10. Bol mi poradený lepší systém, kt. vyzerá prehladno a pekne. Bolo mi tím navrhnuté aby som ukladal auta a potom ich zapisoval, kt. chcem mať na zavode. Tanga mi na ukážku priložil kód, lenže to bol enum s kt. som ešte moc nepracoval a nemám s ním také skusenosti (odkazy na enum netreba viem ako pracuje, len ešte nemám také skusenosti), tím, že tam bolo slovo "cars", tak ma napadlo, že v tom enume bude viac ako jedno auto, takže všetky pozície, aké chcem na tom zavode, tak som sa spýtal, či idem na to dobre. Takže odpoveď na tvoju otázku je: "Ako docielim zapísanie všetkých pozícií".

  11. Uprav podľa seba ten duel join, keď hráč zakladá ten duel, takže všetko čo je pred if(duel[počethraču] == 1), takže ak to založí, tak sprav timer napr. na 20sec. A keď skončí timer, tak zruší duel. Skús si pozrieť duelupdate public a všetko za }else{ slúži ku ukončeniu duelu. A potom, keď sa napojí druhý hráč, takže pod if(duel[počethraču] == 1) skonči timer. To by si mohol zvládnuť


    Funkcie kt. budeš potrebovať, sú v tom duelupdate timer

     

    napr. CMD:

    ...

    for(new i = 0; i <= MAX_PLAYERS; i++)
    {

    DuelZbran = 0;
    IsPlayerInDuel = 0;
    SpawnPlayer(i);
    Duel[Pocethracu] --;
    if(Duel[Pocethracu] == 0)
    KillTimer(Duel[TimerUpdate]);
    Duel[started] = 0;

    a tak ďalej

×
×
  • Create New...