Jump to content

Deejva

Uživatel
  • Příspěvků

    529
  • Registrován

  • Aktivní

  • Vítězných dnů

    6

Everything posted by Deejva

  1. Jak teda "zaokrouhlim" float na integer, aby se to porovnalo?
  2. Mam to takhle a i když jsem v SF, spawne mě to v prdleli u tý vesničky u sf a to jsem jasně blíž k nemocnici v sf .. tady kod .. new rekorder[MAX_PLAYERS] = 999999999999999999999999; new Float:nemocnice[4][3] = { {2030.1,-1413.6,17.0}, //LS {1579.9,1768.8,10.8}, //lV {-2658.1,632.0,14.5}, //SF {-2207.3,-2286.2,30.6} //Městečko u SF }; onplayerdeath: SetPVarInt(playerid,"Death",1); for (new i; i < sizeof(nemocnice); i++) { SendClientMessage(playerid,-1,"Zjištuji"); if (rekorder[playerid] < GetPlayerDistanceFromPoint(playerid, nemocnice[i][0],nemocnice[i][1],nemocnice[i][2])) { rekorder[playerid] = i; sX = nemocnice[rekorder[playerid]][0]; sY = nemocnice[rekorder[playerid]][1]; sZ = nemocnice[rekorder[playerid]][2]; new string[128]; format(string, sizeof(string), "%f %f %f",sX,sY,sZ); SendClientMessage(playerid,-1,string); } } onplayerspawn: if(GetPVarInt(playerid,"Death") == 1) { SetPVarInt(playerid,"Death",0); SetPlayerPos(playerid,sX,sY,sZ); SendClientMessage(playerid,-1,"OK"); } k rekorderu jsem přidal [playerid], protože by se to mohlo míchat, kdyby 2 hráči umřeli zároveň .. někde je chyba a nevim kde:/
  3. Takže nějak takhle ? o.O new rekorder; new Float:nemocnice[pocetnemocnic][3] = { {X,Y,Z}, //LS {X,Y,Z}, //lV {X,Y,Z} //SF }; a v onplayerspawn: for (new i; i < pocetnemocnic; i++) if (rekorder < GetPlayerDistanceFromPoint(playerid, nemocnica[i][0],nemocnica[i][1],nemocnica[i][2]), rekorder = i; SetPlayerPos(nemocnica[rekorder][0],nemocnica[rekorder][1],nemocnica[rekorder][2]);
  4. Vím, že to bude znít blbě, ale nenapsal by mi někdo ten cyklus na zjištění nejmenší proměnný?
  5. Byl bych rád za názorný příkaz, jelikož o téhle funkci nevím nic Koukam na wiki http://wiki.sa-mp.com/wiki/GetPlayerDistanceFromPoint Mít 2 nemocnice, tak to řešim asi tak, že když fDistanceodSF < fDistanceodLS tak ho to portne do SF, ale když tam těch nemocnic bude třeba 7, to už je těžší
  6. Ahoj, mám 2 dotazy: 1) Scháním script, aby jsem se po smrti spawnul u nemocnice. Kamarád mi poslal script, kde zanesu souřednice města a vytvořím si "město". Problém ale je, že když bych si vytvořil SF,LV,LS,Fort Carson atd. a byl bych například v moři, tak mě to nespawne u nemocnice, protože nejsem v těch souřadnicích města. A proto se chci zeptat, zda existuje script, kde bych zadalo pozice nemocnic a spawnlo by mě to tam, která je nejblíže. Hledal jsem ale nenašel jsem ... 2) Jak víte, v sampu jsou tunírny a automaty na pitý a jídlo. Když si to koupíte, odečtou se vám peníze. V tabu, přehledu hráčů, jsem si udělal, že scrore jsou hráčovy peníze. Udělal jsem si opatření proti anticheatu takové, že vše si hráč kupuje za "score". Takže například v dialogu budu mít shop a když si to hrát chce koupit, mam podmínku na GetPlayerScore. Ovšem když si hrát koupí něco z "automatu" nebo tunírny, score a jeho peníze se liší (score se neodeště). Tak se chci zeptat, jak udělat, aby se mu poté odečetlo i score. Napadlo mě, že bych třeba každou minutu všem hrátům dal takové score, kolik mají penět, ale minuta už je dost a nebylo by tam už to opatření proti anticheatu .. Takže díky za rady, doufám že se u obou někdo ozve
  7. To jsem nevěděl, díky moc
  8. Zdravím, když hráč napíše nesprávný příkaz, má mu to chodit hlášku, ale nefunguje mi to .. díky za pomoc public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/command", cmdtext, true, 10) == 0) { return 1; } return SendClientMessage(playerid,0xFF0000FF,"Použil jsi nesprávný příkaz! Pokud se nevíš rady, použij /help."); }
  9. Vím, že to není to samé, ale ze souboru to chci potom jen skopírovat, proto tam mam addstatic .. ale jak tam mam CreateVeh, taky jsem měl AddStatic, i AddStaticEx a nic, nejde to prostě, souřadnice jsou dobře, timer mam i dobře, to mám zkontrolováno, měl jsem tam vypisování zprávy a vše vpohodě .. ale auto to prostě nespawnulo
  10. Ahoj, udělal jsem si "ingame" spawner aut.. Zjistí vaše auto a pozici a uloží do souboru. Zde je kod pro spuštění timeru na spawnutí vozidla: COMMAND:veh(playerid,params[]) { if(PlayerData[playerid][pAdminLevel] < 4) { return 0; } if(!IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid,-1,"Nejsi v autě!"); return 1; } new car1,car2,textus[128]; if(sscanf(params,"iis",car1,car2,textus)) { SendClientMessage(playerid,-1,"/Veh [barva] [barva] [text]"); return 1; } if(car1 < 0 || car2 < 0 || car1 > 255 || car2 > 255) { SendClientMessage(playerid,-1,"Id barev: 0-255"); return 1; } new id = GetPlayerVehicleID(playerid); new model = GetVehicleModel(id); new Float:X,Float:Y,Float:Z,Float:ZA; GetVehiclePos(id,X,Y,Z); GetVehicleZAngle(id,ZA); new string[128]; format(string, sizeof(string), "Auto připraveno ke spawnutí: (%d) (%f, %f, %f, %f) (%d, %d)",model,X,Y,Z,ZA,car1,car2); SendClientMessage(playerid,0xF5AB7CFF,string); format(string, sizeof(string), "AddStaticVehicle(%d,%f,%f,%f,%f,%d,%d); //%s",model,X,Y,Z,ZA,car1,car2,textus); Cars(string); SetTimerEx("spawncar",5000,false,"iffffii",model,X,Y,Z,ZA,car1,car2); return 1; } A public public spawncar(model,X,Y,Z,ZA,car1,car2) { CreateVehicle(model,X,Y,Z,ZA,car1,car2,999); return true; } forward mám, Problém je v tom, že se vozidlo nespawne, ovšem když ze souboru překopíruju vše do ongamemodeinit, vše se spawne tak, jak má, proto se ptám, jak tento problém vyřešit? Díky
  11. Deejva

    pomoc DIALOG

    Jde, jen si to musíš doupravit podle sebe
  12. Deejva

    pomoc auta

    Dáš auto, kde ho chceš mít, zjistíš pozici, uložíš pod auto%d.txt %d dáš vehicleid a v ongamemodeinit dáš načítání aut ze souboru .. samozdřejmě do toho auto%d.txt budeš ukládat ty souřadnice
  13. Pořád to píše klikyháky a další kraviny
  14. A když budu chcít velký písmena + čísla ?
  15. No, jelikož chci, aby když se kod použije, tak aby se smazal, tak je lepší v souboru .. chci to různě přesouvat atd .. abych to pořád nemusel přepisovat v pawnu ale stačílo jen otevříš scriptfiles a tam doplnit kody
  16. Atomasi, jak by se to udělalo přes vybírání ze složky? např, že plácnu si za 5$ koupí VIP a vyjede mu jeden kod, ty kodu budou uložený v jedný složce .. jak je to, aby se to vylosovalo?
  17. Deejva

    pomoc Kick z auta

    Tango, takhe to právěže nechci mít, protože to s tim autem můžeš "popojet" a cca metr, než tě to vyhodí
  18. Deejva

    pomoc Kick z auta

    Jasný, takže if(strcmp(PlayerName,nick,false) != 0) { new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y,Z); new string[64]; format(string, sizeof(string), "Toto vozidlo patří hráči %s!", nick); SendClientMessage(playerid,-1,string); } dík, ale pořád potřebuju, aby se mohlo jako spolujezdec, protože mě to pořád vyhazuje jako spolujezdce, když nasednu do "Né mojeho auta"
  19. Deejva

    pomoc Kick z auta

    Takže pak stačí jen ddVehicleComponent(newcar,1080,1070,1090); ?? Jak teda udělam podmínku na jméno ?
  20. Deejva

    pomoc Kick z auta

    Chtěl jsem víc aut, tak jsem to nějak sešmudlal, prosím o zkontrolování .. nahoře v modu bude vždy proměnná: new newcar; vytvoření auta v OnGamemodeInit: newcar = CreateVehicle(495,931.3,-852.9,93.05,0,211,1,10); SetVehicleNumberPlate(newcar, "{004FFA}Pr0W0rk"); AddComp(newcar,1010,1087,1080); stock AddComp: stock AddComp(carid,comp1,comp2,comp3) { AddVehicleComponent(carid, comp1); AddVehicleComponent(carid, comp2); AddVehicleComponent(carid, comp3); } OnPlayerEnterVehicle: OwnerCar(playerid,vehicleid,newcar,"Pr0W0rk"); Stock OwnerCar: stock OwnerCar(playerid,vehicleid,carid,nick[16]) { if(vehicleid == carid) { new PlayerName[24]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); if(strcmp(PlayerName,nick,true)) { new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y,Z); new string[64]; format(string, sizeof(string), "Toto vozidlo patří hráči %s!", nick); SendClientMessage(playerid,-1,string); } } } A teď se teda ptám, mám to dobře? šlo mi to ještě nějak zjednodušit? A jak se popřípadě udělá, aby "nemajitel" auto si mohl sednout jako spolujezdec? díky
  21. Deejva

    pomoc Kick z auta

    Ale kdybych dal to co jsi poslal místo removeplayer.. tak se to pořád nevyvolá, protože to pořád nesplní tu podmínku auto .. nicméně děkuji oboum, zkusím to pořešit
  22. Deejva

    pomoc Kick z auta

    Ahoj, chtěl jsem si udělat systém, že bude tuning auto a jen pro 1 člověka ... Nejde to, dal jsem si tam i postupně posílání zpráv, chyba je v podmínce na vehicleid .. děkuji za pomoc Nahoře v modu: new newcar; OnGamemodeInit: newcar = AddStaticVehicle(495,931.3,-852.9,93.05,0,211,1); SetVehicleNumberPlate(newcar, "{004FFA}Pr0W0rk"); SetVehicleHealth(newcar,3000); AddVehicleComponent(newcar, 1010); AddVehicleComponent(newcar, 1070); AddVehicleComponent(newcar, 1080); OnPlayerEnterVehicle: public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { SendClientMessage(playerid,-1,"Nastoupil"); if(GetPlayerVehicleID(playerid) == newcar) { SendClientMessage(playerid,-1,"Podmínka o vozidlo splněna"); new PlayerName[24]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); if(strcmp(PlayerName,"Pr0W0rk",true)) { SendClientMessage(playerid,-1,"Podmínka o jméně neplsněna"); }else{ RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,-1,"toto auto patří hráči pr0w0rk!"); SendClientMessage(playerid,-1,"Podmínka o jméně splněna"); } } return 1; }
  23. Jo,díky, hlavně byla chyba v tom, že jsem ten TD nezobrazil
×
×
  • Create New...