MiNiX 0 Odesláno: 8. Prosinec, 2013 Share Odesláno: 8. Prosinec, 2013 Ahoj . Určitě jste viděli na minecraft serverech plugin SimpleHome, IHome atd.... V Minecraftu to funguje tak že napíšete příkaz /sethome a ono vám to uloží souřadnici na které stojíte. Potom napíšete /home a ono vás to na tu souřadnici warpne. A když umřete tak vás to taky warpne na tu souřadnici . Napadlo mně proč nemít takové příkazy i v SAMPU . Udělal jsem script. Dám ho sem do kódu public OnPlayerCommandText(playerid, cmdtext[]) if(strcmp(cmdtext, "/sethome", true ) == 0)//Timto příkazem se domov nastavuje { GetPlayerName(playerid, jmeno, 64); new souborname[128]; format(souborname, sizeof(souborname), "HOME %s.txt", jmeno); if(fexist(souborname))return SendClientMessage(playerid, COLOR_RED, "Už máš nastavený jeden domov, pro odstranění napis /removehome"); { if(GetPlayerMoney(playerid) < 50000) return SendClientMessage(playerid, COLOR_WHITE, "Nemáš {FF0000}50000$");//Klidne si sem dejte částku jakou chcete { new output[256]; new sprava[256]; new File:soubor; new Float:x; new Float:y; new Float:z; GetPlayerPos(playerid,x,y,z); format(output, sizeof(output), "%f, %f, %f", x, y, z); format(sprava, sizeof(sprava), "{FFFFFF}Domov budeš mít na souřadnicích {FF0000}X{FFFFFF}: %f {FF0000}Y{FFFFFF}: %f {FF0000}Z{FFFFFF}: %f", x, y, z); SendClientMessage(playerid, COLOR_WHITE, sprava); soubor = fopen(souborname, io_write); fwrite(soubor, output); fclose(soubor); SendClientMessage(playerid, COLOR_GREEN, "Nastavil sis domov"); return 1; } } } if(strcmp(cmdtext, "/removehome", true ) == 0)//Tímto příkazem se domov maže (To je logický) { new souborname[128]; GetPlayerName(playerid, jmeno, 64); format(souborname, sizeof(souborname), "HOME %s.txt", jmeno); if(!fexist(souborname))return SendClientMessage(playerid, COLOR_RED, "Nemůžeš si vymazat domov když ho nemáš, pro vytvoření napiš /sethome"); { SendClientMessage(playerid, COLOR_GREEN, "Vymazal sis domov"); fremove(souborname); return 1; } } if(strcmp(cmdtext, "/home", true ) == 0)//Tímto příkazem se domu warpneš { GetPlayerName(playerid, jmeno, 64); new souborname[128]; format(souborname, sizeof(souborname), "HOME %s.txt", jmeno); if(!fexist(souborname))return SendClientMessage(playerid, COLOR_RED, "Nemáš ještě udělaný domov takže se k němu nemužeš spawnout"); { new File:soubor; soubor = fopen(souborname,io_read); if(soubor) { new Data[128]; fread(soubor,Data); new Float:x = floatstr(Data); new pos = chrfind(',',Data)+1; new Float:y = floatstr(Data[pos]); pos = chrfind(',',Data,pos)+1; new Float:z = floatstr(Data[pos]); SendClientMessage(playerid,COLOR_GREEN,"Spawnul ses k domovu"); SetPlayerPos(playerid,x,y,z); SetPlayerHealth(playerid,100); SetPlayerArmour(playerid,100); fclose(soubor); return 1; } } } public OnPlayerSpawn(playerid) GetPlayerName(playerid, jmeno, 64); new souborname[128]; format(souborname, sizeof(souborname), "HOME %s.txt", jmeno); if(fexist(souborname)) { new File:soubor; soubor = fopen(souborname,io_read); if(soubor) { new Data[128]; fread(soubor,Data); new Float:x = floatstr(Data); new pos = chrfind(',',Data)+1; new Float:y = floatstr(Data[pos]); pos = chrfind(',',Data,pos)+1; new Float:z = floatstr(Data[pos]); SendClientMessage(playerid,COLOR_GREEN,"Spawnul ses k domovu"); SetPlayerPos(playerid,x,y,z); SetPlayerHealth(playerid,100); SetPlayerArmour(playerid,100); fclose(soubor); return 1; } } To je vše. Omlouvám se že to tu není ke stažení ale co je za problém si to do modu vložit .. Jsem nováček v pawnení, pawno znám sice už asi rok a půl ale ještě pořád se tak považuju . Vím že mi sem budete psát proč to není v DCMD nebo QCMD.. DCMD a QCMD zatím nechápu ani jsem se na to pořádně nikdy nepodíval takže s tím neumím. Kdyžtak mi napiště kdybych tam měl někde chybu nebo by mi tam někde něco chybělo... Mám totiž velkej gamemod co má asi 4900 řádků . Budu rád za kritiku, piště jestli je to totální kravina nebo jestli se vám to líbí, Snesu kritiku . Mějte se. Čus Link to comment Share on other sites More sharing options...
LORD BENDTNER 0 Odesláno: 8. Prosinec, 2013 Share Odesláno: 8. Prosinec, 2013 Máš to pekne 3/3 Link to comment Share on other sites More sharing options...
D4n09 71 Odesláno: 8. Prosinec, 2013 Share Odesláno: 8. Prosinec, 2013 Podle mě je to zbytečný ale tak pokud to děláš pro zábavu tak proč ne Link to comment Share on other sites More sharing options...
MiNiX 0 Odesláno: 8. Prosinec, 2013 Author Share Odesláno: 8. Prosinec, 2013 Spíš jsem to udělal proto že jsem potřeboval na serveru udělat něco na princip domova .. Jiným způsobem bych to asi ani neudělal.. Tak jsem přemýšlel a napadlo mně tohle. A jinak pro zábavu to taky dělám, Pawno mně baví . Jinak dík, Mirotelli Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 9. Prosinec, 2013 Share Odesláno: 9. Prosinec, 2013 Spíš jsem to udělal proto že jsem potřeboval na serveru udělat něco na princip domova .. Jiným způsobem bych to asi ani neudělal.. Tak jsem přemýšlel a napadlo mně tohle. A jinak pro zábavu to taky dělám, Pawno mně baví . Jinak dík, Mirotelli moc nepřemyšlíš new output[256]; Zbytečná proměna ktera zabíra 256 znaku takže ti server bude více zabírat ramky a lidi používaj ZCMD,DCMD,QCMD na ulehčení príkazu + je to rychlejší např QCMD je pry nejrychlejší v česku alespon jsem to slyšel Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 9. Prosinec, 2013 Share Odesláno: 9. Prosinec, 2013 Hej, qcmd je dobrý..Použi ale ZCMD .Ináč dobrý nápad, ja som to tak tiež mával v house systéme, že ťa spawnlo v dome .Ďalej meno nemá 64 znakov.Output tiež zbytočný 256, velkosť IO prúdu je 128. A to nevravím, že tu by bolo vela aj 16 . return SendClientMessage(playerid, COLOR_WHITE, ""); // To čo je za blbosť? --Velmi sa mi páči, že narozdiel do opičiakov si použil file a nie nejaký .ini handler.4/5 za chyby čo som napísal vyššie. Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 9. Prosinec, 2013 Share Odesláno: 9. Prosinec, 2013 Hej, qcmd je dobrý.. Použi ale ZCMD . Ináč dobrý nápad, ja som to tak tiež mával v house systéme, že ťa spawnlo v dome . Ďalej meno nemá 64 znakov. Output tiež zbytočný 256, velkosť IO prúdu je 128. A to nevravím, že tu by bolo vela aj 16 . return SendClientMessage(playerid, COLOR_WHITE, ""); // To čo je za blbosť? -- Velmi sa mi páči, že narozdiel do opičiakov si použil file a nie nejaký .ini handler. 4/5 za chyby čo som napísal vyššie. ty "opičky" si mě docela urazil . . . je to každeho vec co používá tak nevím co ti dotoho je . . . hej nebudu se vyjadřovat docela si mě hodne najebal . . . . Link to comment Share on other sites More sharing options...
MiNiX 0 Odesláno: 9. Prosinec, 2013 Author Share Odesláno: 9. Prosinec, 2013 Klid, nehádejte se tu . Dík za krytyku.. ZCMD, QCMD.. Uřčite se na to podívám . Vím že tam mám velký proměný, mně vždycky napadne nějaký číslo tak ho tam prostě dam.. A TANGO.. if(!fexist(souborname))return SendClientMessage(playerid, COLOR_WHITE, ""); Já jsem nějak nepřemýšlel.. Ta zpráva je tam kvůli tomu vykříčníku. Kdyby tam ta zpráva nebyla tak by to nešlo.. Ale já si neuvědomil že se tam ten vykřičník nemá dávat a ta zpráva taky ne. . Ale funguje to tak jsem na to nějak nekoukal. Opravím to Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now