michalpta 0 Odesláno: 11. Prosinec, 2015 Share Odesláno: 11. Prosinec, 2015 Čus, mám na serveru mod ktery v sobe nema zabudovany odpocet system nenapawnil by mě někdo jednoduchy odpočet syst. ? aby se to v chatu odpocetlo a na konci start. Link to comment Share on other sites More sharing options...
Mattsy 29 Odesláno: 11. Prosinec, 2015 Share Odesláno: 11. Prosinec, 2015 (upraveno) Nech sa páči, je to funkčné new OdpocetCas; new OdpocetTimer; forward Odpocet_CMD(); dcmd(odpocet, 7, cmdtext); dcmd_odpocet(playerid, params[]) { new sec = strval(params); if(!sec) return SendClientMessage(playerid, -1, "[ ! ] Pouzi: /odpocet [cas]"); if(sec > 60 || sec < 1) return SendClientMessage(playerid, -1, "[ ! ] Pouzi rozmedzie 1 - 60 sekund"); else { OdpocetCas = sec; OdpocetTimer = SetTimer("Odpocet_CMD", 1000, true); } return 1; } public Odpocet_CMD() { new string[2]; if(OdpocetCas > 0) { format(string, sizeof(string), "%i", OdpocetCas); SendClientMessageToAll(-1, string); OdpocetCas --; } else { SendClientMessageToAll(-1, "!!! START !!!"); KillTimer(OdpocetTimer); } return 1; } Ak nemáš definíciu dcmd tak nech sa páči alebo si to prerob do iného systému ktorý používaš #define dcmd(%1,%2,%3) if((strcmp((%3)[1],#%1,true,(%2))==0)&&((((%3)[(%2)+1]==0)&&(dcmd_%1(playerid,"")))||(((%3)[(%2)+1]==32)&&(dcmd_%1(playerid,(%3)[(%2)+2]))))) return 1 Edited 11. Prosinec, 2015 by Mattsy Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 11. Prosinec, 2015 Share Odesláno: 11. Prosinec, 2015 Když už jsem to taky dělal a mattsy byl rychlejší x) tak jsem dám taky mojí verzi #include a_samp #include ZCMD new Time,Timer; forward Odpocet(); public Odpocet() { new str[18+4]; Time --; format(str,sizeof(str),"Odpocet: %i sekund",Time); GameTextForAll(str,1100,4); if(Time == 0){KillTimer(Timer); GameTextForAll("START!",3000,4);} } CMD:odpocet(playerid,params[]) { new Cislo; if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Pro tento příkaz musíte být rcon admin!"); if(sscanf(params,"i",Cislo)) return SendClientMessage(playerid,-1,"Použij: /timer [odpocet]"); Time = Cislo; Timer = SetTimer("Odpocet",1000,1); SendClientMessage(playerid,-1,"Spustil jsi odpocet!"); return true; } CMD:stopodpocet(playerid,params[]) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Pro tento příkaz musíte být rcon admin!"); SendClientMessage(playerid,-1,"Zrušil jste odpočet!"); Time = 0; KillTimer(Timer); return true; } stock sscanf(string[], format[], {Float,_}:...) { #if defined isnull if (isnull(string)) #else if (string[0] == 0 || (string[0] == 1 && string[1] == 0)) #endif { return format[0]; } #pragma tabsize 4 new formatPos = 0, stringPos = 0, paramPos = 2, paramCount = numargs(), delim = ' '; while (string[stringPos] && string[stringPos] <= ' ') { stringPos++; } while (paramPos < paramCount && string[stringPos]) { switch (format[formatPos++]) { case '\0': { return 0; } case 'i', 'd': { new neg = 1, num = 0, ch = string[stringPos]; if (ch == '-') { neg = -1; ch = string[++stringPos]; } do { stringPos++; if ('0' <= ch <= '9') { num = (num * 10) + (ch - '0'); } else { return -1; } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num * neg); } case 'h', 'x': { new num = 0, ch = string[stringPos]; do { stringPos++; switch (ch) { case 'x', 'X': { num = 0; continue; } case '0' .. '9': { num = (num << 4) | (ch - '0'); } case 'a' .. 'f': { num = (num << 4) | (ch - ('a' - 10)); } case 'A' .. 'F': { num = (num << 4) | (ch - ('A' - 10)); } default: { return -1; } } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num); } case 'c': { setarg(paramPos, 0, string[stringPos++]); } case 'f': { new changestr[16], changepos = 0, strpos = stringPos; while(changepos < 16 && string[strpos] && string[strpos] != delim) { changestr[changepos++] = string[strpos++]; } changestr[changepos] = '\0'; setarg(paramPos,0,_:floatstr(changestr)); } case 'p': { delim = format[formatPos++]; continue; } case '\'': { new end = formatPos - 1, ch; while ((ch = format[++end]) && ch != '\'') {} if (!ch) { return -1; } format[end] = '\0'; if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1) { if (format[end + 1]) { return -1; } return 0; } format[end] = '\''; stringPos = ch + (end - formatPos); formatPos = end + 1; } case 'u': { new end = stringPos - 1, id = 0, bool:num = true, ch; while ((ch = string[++end]) && ch != delim) { if (num) { if ('0' <= ch <= '9') { id = (id * 10) + (ch - '0'); } else { num = false; } } } if (num && IsPlayerConnected(id)) { setarg(paramPos, 0, id); } else { #if !defined foreach #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2)) #define __SSCANF_FOREACH__ #endif string[end] = '\0'; num = false; new name[MAX_PLAYER_NAME]; id = end - stringPos; foreach (Player, playerid) { GetPlayerName(playerid, name, sizeof (name)); if (!strcmp(name, string[stringPos], true, id)) { setarg(paramPos, 0, playerid); num = true; break; } } if (!num) { setarg(paramPos, 0, INVALID_PLAYER_ID); } string[end] = ch; #if defined __SSCANF_FOREACH__ #undef foreach #undef __SSCANF_FOREACH__ #endif } stringPos = end; } case 's', 'z': { new i = 0, ch; if (format[formatPos]) { while ((ch = string[stringPos++]) && ch != delim) { setarg(paramPos, i++, ch); } if (!i) { return -1; } } else { while ((ch = string[stringPos++])) { setarg(paramPos, i++, ch); } } stringPos--; setarg(paramPos, i, '\0'); } default: { continue; } } while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ') { stringPos++; } while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' ')) { stringPos++; } paramPos++; } do { if ((delim = format[formatPos++]) > ' ') { if (delim == '\'') { while ((delim = format[formatPos++]) && delim != '\'') {} } else if (delim != 'z') { return delim; } } } while (delim > ' '); return 0; } Link to comment Share on other sites More sharing options...
Mattsy 29 Odesláno: 11. Prosinec, 2015 Share Odesláno: 11. Prosinec, 2015 (upraveno) Podľa mňa je tu sscanf v tomto prípade zbytočný preto som sa mu vyhol...ale aspoň si mu mohol dať plugin verziu +on chcel do chatu nie gametext ! Edited 11. Prosinec, 2015 by Mattsy Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 11. Prosinec, 2015 Share Odesláno: 11. Prosinec, 2015 Podľa mňa je tu sscanf v tomto prípade zbytočný preto som sa mu vyhol...ale aspoň si mu mohol dať plugin verziu +on chcel do chatu nie gametext ! to je fuk má dvě verze alespon Link to comment Share on other sites More sharing options...
michalpta 0 Odesláno: 11. Prosinec, 2015 Author Share Odesláno: 11. Prosinec, 2015 JN Moc vam děkuji Ten od Mattsy me nejde Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 11. Prosinec, 2015 Share Odesláno: 11. Prosinec, 2015 JN Moc vam děkuji Ten od Mattsy me nejde rekt mattsy dal jsi vše správně ? Link to comment Share on other sites More sharing options...
Mattsy 29 Odesláno: 11. Prosinec, 2015 Share Odesláno: 11. Prosinec, 2015 JN Moc vam děkuji Ten od Mattsy me nejde čo ti nejde? jak ti nejde? sám som ho skúšal pre istotu a ide....problém je v tebe Link to comment Share on other sites More sharing options...
michalpta 0 Odesláno: 19. Prosinec, 2015 Author Share Odesláno: 19. Prosinec, 2015 posli prosim .amx napise prikaz neexistuje Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 19. Prosinec, 2015 Share Odesláno: 19. Prosinec, 2015 posli prosim .amx napise prikaz neexistuje kdo Link to comment Share on other sites More sharing options...
michalpta 0 Odesláno: 19. Prosinec, 2015 Author Share Odesláno: 19. Prosinec, 2015 nekdo z vas mi to prekompilujte jestli to nekompiluju spatne Link to comment Share on other sites More sharing options...
DvaDva 2 Odesláno: 19. Prosinec, 2015 Share Odesláno: 19. Prosinec, 2015 (upraveno) Hledáš tohle ? http://pawno.cz/topic/33938-tut-odpocet/ //EDIT: Nevšiml ze jste mu to uz udelali takze pokud dela mod tak nech skúsi tenhle Edited 19. Prosinec, 2015 by DvaDva Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 19. Prosinec, 2015 Share Odesláno: 19. Prosinec, 2015 nekdo z vas mi to prekompilujte jestli to nekompiluju spatne zítra ti to hodím sem.. Link to comment Share on other sites More sharing options...
vladasavel 26 Odesláno: 19. Prosinec, 2015 Share Odesláno: 19. Prosinec, 2015 Píše ti to příkaz neexistuje z duvodu že motáš dva Command systemy dohromady Link to comment Share on other sites More sharing options...
michalpta 0 Odesláno: 20. Prosinec, 2015 Author Share Odesláno: 20. Prosinec, 2015 Nějak to nechápu jak to mám tedy zprovoznit ? Link to comment Share on other sites More sharing options...
Lukasz 336 Odesláno: 20. Prosinec, 2015 Share Odesláno: 20. Prosinec, 2015 dcmd(odpocet, 7, cmdtext); mas mit v OnPlayerCommandText Link to comment Share on other sites More sharing options...
michalpta 0 Odesláno: 22. Prosinec, 2015 Author Share Odesláno: 22. Prosinec, 2015 // This is a comment // uncomment the line below if you want to write a filterscript //#define FILTERSCRIPT #include <a_samp> #if defined FILTERSCRIPT #define dcmd(%1,%2,%3) if((strcmp((%3)[1],#%1,true,(%2))==0)&&((((%3)[(%2)+1]==0)&&(dcmd_%1(playerid,"")))||(((%3)[(%2)+1]==32)&&(dcmd_%1(playerid,(%3)[(%2)+2]))))) return 1 new OdpocetCas; new OdpocetTimer; forward Odpocet_CMD(); OnPlayerCommandText dcmd(odpocet, 7, cmdtext); dcmd_odpocet(playerid, params[]) { new sec = strval(params); if(!sec) return SendClientMessage(playerid, -1, "[ ! ] Pouzi: /odpocet [cas]"); if(sec > 60 || sec < 1) return SendClientMessage(playerid, -1, "[ ! ] Pouzi rozmedzie 1 - 60 sekund"); else { OdpocetCas = sec; OdpocetTimer = SetTimer("Odpocet_CMD", 1000, true); } return 1; } public Odpocet_CMD() { new string[2]; if(OdpocetCas > 0) { format(string, sizeof(string), "%i", OdpocetCas); SendClientMessageToAll(-1, string); OdpocetCas --; } else { SendClientMessageToAll(-1, "!!! START !!!"); KillTimer(OdpocetTimer); } return 1; } #endif Takto to mam a nefunguje mi to Link to comment Share on other sites More sharing options...
Lukasz 336 Odesláno: 22. Prosinec, 2015 Share Odesláno: 22. Prosinec, 2015 Protože je to špatně. Smaž #if defined FILTERSCRIPT a #endif. Compiler ti pak ignoruje celej kód, protože nedefinuješ FILTERSCRIPT wau a pak se ti zobrazí chyby, jestli nejsi idiot (ech) tak si s nima poradíš a nebo si přečteš můj předchozí příspěvek ^^ Link to comment Share on other sites More sharing options...
michalpta 0 Odesláno: 22. Prosinec, 2015 Author Share Odesláno: 22. Prosinec, 2015 C:\Users\Asus\Desktop\odpoc.pwn(12) : error 010: invalid function or declaration C:\Users\Asus\Desktop\odpoc.pwn(45) : warning 203: symbol is never used: "dcmd_odpocet" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error. hmmmm kdyz to odstranim da mi to chyby ! Zkusím to poupravit podle te tve rady Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 22. Prosinec, 2015 Share Odesláno: 22. Prosinec, 2015 http://ulozto.cz/xK3TjdUK/filterscripts-rar na.. Link to comment Share on other sites More sharing options...
michalpta 0 Odesláno: 23. Prosinec, 2015 Author Share Odesláno: 23. Prosinec, 2015 Moc vam vsem dekuji za pomoc 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