MrBlack
-
Posts
213 -
Joined
-
Last visited
Never
Content Type
Profiles
Forums
News
Documentation
Posts posted by MrBlack
-
-
Nu reusesc , poti sa imi faci un demo pe comanda asta?
CMD:startdevent(playerid, params[]) { EventInfo[MiniEventEnabled]=1; return SendClientMessageToAll(COLOR_GREY, "[Mini Event]: Event Deagle activat de adminul !"); }
-
Foarte frumos bravo 5/5
-
Adica asa:Sistemele de administrare is bazate pe variabile. Creeaza variabile, seteaza levelu etc. Sau foloseste variabila care o ai tu, gen pInfo[playerid][Level]if (PlayerInfo[playerid][pAdmin] >= 5)
?
-
Cum fac ca aceasta comanda sa poata fi data doar de admin 5+ ?
CMD:startdevent(playerid, params[]) { EventInfo[ArenaEventEnabled]=1; return SendClientMessageToAll(COLOR_GREY, "[Mini Event]: Event Deagle activat de adminul !"); }
Daca se poate sa imi si explicati va rog frumos :D
-
Foarte fain , 10/10
-
ce am gresit in acest fs? Cand intru pe server nu imi mai merge nici o comanda , dar cand scot fs-ul merge !
#include <a_samp> #include <zcmd> #define FILTERSCRIPT true #define COLOR_GREY 0xD7D7D7FF enum E_INFO { ArenaEventEnabled } new EventInfo[E_INFO]; #if FILTERSCRIPT == true public OnFilterScriptInit() { new h, mins, y, m, d; gettime(h,mins); getdate(y,m,d); print("\n ___________________________________________________"); print(" "); print(" Mini-Event's "); print(" --------------- "); print(" B.Y "); print(" W.T.F "); print(" ___________________________________________________\n"); print(" "); print(" |-> Loaded Successfully!\n "); printf(" Today: %d/%d/%d - Hour: %d:%d", d, m, y, h, mins); print(" ___________________________________________________\n"); EventInfo[ArenaEventEnabled]=0; return 1; } public OnFilterScriptExit() { print("\n ___________________________________________________"); print(" "); print(" Mini-Event's "); print(" --------------- "); print(" B.Y "); print(" W.T.F "); print(" ___________________________________________________\n"); print(" |-> Unloaded!"); return 1; } #endif CMD:startdevent(playerid, params[]) { EventInfo[ArenaEventEnabled]=1; return SendClientMessageToAll(COLOR_GREY, "[Mini Event]: Event Deagle activat de adminul %s !"); } CMD:inchidedevent(playerid, params[]) { EventInfo[ArenaEventEnabled]=0; return SendClientMessageToAll(COLOR_GREY, "[Mini Event]: Event Deagle dezactivat de adminul %s !"); } CMD:joindevent(playerid, params[]) { if(EventInfo[ArenaEventEnabled] == 0) return SendClientMessage(playerid, COLOR_GREY, "[ERROR]: {FFFFFF}Eventul deagle este dezactivat de admin"); SetPlayerPos(playerid, 1412.639892,-1.787510,1000.924377); SetPlayerInterior(playerid, 1); GivePlayerWeapon(playerid, 24, 300); SetPlayerArmour(playerid, 100); return SendClientMessage(playerid, COLOR_GREY, "[INFO]: {FFFFFF} Bafta la eventul de deagle !"); }
Nu stie nimeni?
-
De unde stii ca e GF? poate vrea pt un sv de stunt ... gata stiti voi repede
Chiar as vrea si eu sa stiu cum se face un sitem de ala !
-
ce am gresit in acest fs? Cand intru pe server nu imi mai merge nici o comanda , dar cand scot fs-ul merge !
#include <a_samp> #include <zcmd> #define FILTERSCRIPT true #define COLOR_GREY 0xD7D7D7FF enum E_INFO { ArenaEventEnabled } new EventInfo[E_INFO]; #if FILTERSCRIPT == true public OnFilterScriptInit() { new h, mins, y, m, d; gettime(h,mins); getdate(y,m,d); print("\n ___________________________________________________"); print(" "); print(" Mini-Event's "); print(" --------------- "); print(" B.Y "); print(" W.T.F "); print(" ___________________________________________________\n"); print(" "); print(" |-> Loaded Successfully!\n "); printf(" Today: %d/%d/%d - Hour: %d:%d", d, m, y, h, mins); print(" ___________________________________________________\n"); EventInfo[ArenaEventEnabled]=0; return 1; } public OnFilterScriptExit() { print("\n ___________________________________________________"); print(" "); print(" Mini-Event's "); print(" --------------- "); print(" B.Y "); print(" W.T.F "); print(" ___________________________________________________\n"); print(" |-> Unloaded!"); return 1; } #endif CMD:startdevent(playerid, params[]) { EventInfo[ArenaEventEnabled]=1; return SendClientMessageToAll(COLOR_GREY, "[Mini Event]: Event Deagle activat de adminul %s !"); } CMD:inchidedevent(playerid, params[]) { EventInfo[ArenaEventEnabled]=0; return SendClientMessageToAll(COLOR_GREY, "[Mini Event]: Event Deagle dezactivat de adminul %s !"); } CMD:joindevent(playerid, params[]) { if(EventInfo[ArenaEventEnabled] == 0) return SendClientMessage(playerid, COLOR_GREY, "[ERROR]: {FFFFFF}Eventul deagle este dezactivat de admin"); SetPlayerPos(playerid, 1412.639892,-1.787510,1000.924377); SetPlayerInterior(playerid, 1); GivePlayerWeapon(playerid, 24, 300); SetPlayerArmour(playerid, 100); return SendClientMessage(playerid, COLOR_GREY, "[INFO]: {FFFFFF} Bafta la eventul de deagle !"); }
-
LA
public OnPlayerLogin(playerid,password[])
ai asaif(PlayerInfo[playerid][pReg] == 0) { PlayerInfo[playerid][pLevel] = 1; PlayerInfo[playerid][pSHealth] = 0.0; PlayerInfo[playerid][pHealth] = 50.0; PlayerInfo[playerid][pPos_x] = 2246.6; PlayerInfo[playerid][pPos_y] = -1161.9; PlayerInfo[playerid][pPos_z] = 1029.7; PlayerInfo[playerid][pInt] = 15; PlayerInfo[playerid][pLocal] = 255; PlayerInfo[playerid][pTeam] = 3; PlayerInfo[playerid][pModel] = 264; new randphone = 1000 + random(8999);//minimum 1000 max 9999 //giving one at the start PlayerInfo[playerid][pPnumber] = randphone; PlayerInfo[playerid][pPhousekey] = 255; PlayerInfo[playerid][pPbiskey] = 255; PlayerInfo[playerid][pAccount] = 50000; PlayerInfo[playerid][pReg] = 1; GivePlayerMoney(playerid, 5000); }
LaPlayerInfo[playerid][pLevel] = 1;
Modifici levelul care vrei sa il aibe playerul !
Daca nu ai inteles ceva lasa replay!
-
bai mandela eu am zis ca nu apreciez? am zis ca nu am inteles cum iau coodonatele ce vrei iam zis cumva ca nu e bun tutorial...?? da iam zis dupa ce ma facut ratat intru'n alt topic sau fraier nu mai stiu exact asa ca ai grija si tu cu limbaju ala..
Din cate observ esti cam nooob , sa referit cineva la tn? La alaltu de sus care comenteaza dar nu a facut nici un tut pana acuma !
-
Erau bune tutoriale,daca te iei dupa toti fraierii care habar nu au sa lege 2 cuvinte intre ele asa sunt romaniiii .... Nu ai ce sa le faci!
-
Ai postat fix in topicul cu raspuns.
sa-ti explic mai indetaliat ce este ZCMD si SSCANF.
ZCMD
Acest system este total diferit de vechea metoda, adica metoda custrcmp sub OnPlayerCommandText. Vechea metoda consista in a compara ce ai scris in chat ca si comanda cu ce ai insertat tu adica, "/comanda".
Metoda cu ZCMD se foloseste in felu urmator,
tu, prin inserand CMD:comanda( playerid, params[]) automat devine cmd_comanda( playerid, params[]) deoarece CMD: este doar o definite la cuvantul cmd_
si ce vine dupa : este comanda deci CMD: -> cmd_ iar comanda -> cmd_comanda.
tot ce se intampla este sa creeze o functie, sau un public dar este mai degraba o functie deoarece nu are prefixul public.
Acest system tot ce face este sa caute prin functii prin ajutorul prefixului cmd_ pe care il setezi cu CMD: in fata unei comenzi, deoaceea ai nevioie de CMD: .
Dupa ce gaseste, analizeaza parametrii, adica ce este un parametru:
/comanda <id> <value>
id - parametru 1
value - parametru 2
+ faptul ca este mai rapid decat strcmp.
SSCANF
Tot ce face sscanf este sa deformateze un string, adica sa zicem ca avem stirngul "abc 123 2.0"
SSCANF tot ce face este sa preia abc si sa'l stocheze intr-un string, sa preia 123 si sa-l stocheze intr-un integer iar ultimul parametru il ia si il stocheaza intr-un integer de gen float.
string - este un sir de litere si numere la o lalta
integer - este doar numar, gen 12385
float - este tot un numar dar mere folosit si cu virgula, adica 5.3 sau 3.77777
Un exemplu de preluare si deformatare al unui string.
[pawn]
new
string[5], // 5 deoarece abcde are cinci litere
integer,
Float:fInteger // ii dam tagul Float: ca sa fie considerat gen float.
Acum sa deformatam stringul. New de deasupra ajuta la stocarea acelor date.
sscanf( "abcde 2011 9.40", "s[5]df", string, integer, fInteger );
printf(" String:%s Integer:%d Float:%.2f", string, integer, fInteger );
[/pawn]
Acum sa vedeti ce a facut sscanf, a preluat din "abcde 2011 9.40" abcde numarul 2011 si floatul 9.40 si le-a stocat in parametrii corespunzatori.
Sa va explic ce face "s[5]df", s este folosit deoarece primul parametru din acel string este un string, adica abcde si are marimea 5!
d, i inseamna integer, adica numar, si este folosit deoarece, evident este un numar!
f inseamna float desigur, si ca de la sine inteles este flolosit sa preia ultimul parametru adica, 9.40.
acum daca dam compile cu codul dat mai sus, in OnGameModeInit veti vedea ca acele new care le-am creat mai sus vor avea continutul destinat!
Acum nu is acasa, dar sper ca ti-am dat de inteles.
tine minte, sscanf nu este limitat doar la s i si f, se poate folosi in multe lucruri cu care nu ma complic deoarece esti incepator
Mersi Zhero am inteles eu ceva ceva , deacuma ma pun pe practica sa vad ce iese :D
-
Deci sa o iau cu inceputul tot am auzit de acest "ZCMD + SSCANF" , pana acuma nu am incercat sa fac nimic cu ele , dar vreau sa stiu si eu de unde sa ma apuc sa le invat ? Sau cum sa ma apuc sa le invat?
-
Bravo frate este frumos 10/10
-
Salut daca imi fac cont pe server si apoi vreau sa ma loghez imi spune ca numele este deja luat ! Nu stiu ce sa fac , ce functie sa va arat sa vedeti daca este bine :-? nu am nici o ideee!
-
am asa
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new sendername[MAX_PLAYER_NAME]; new string[128]; if(response) { if(dialogid == 12346 || dialogid == 12347) { if(strlen(inputtext)) { new tmppass[64]; strmid(tmppass, inputtext, 0, strlen(inputtext), 255); //Encrypt(tmppass); OnPlayerLogin(playerid,tmppass); } else { new loginstring[128]; new loginname[64]; GetPlayerName(playerid,loginname,sizeof(loginname)); format(loginstring,sizeof(loginstring),"WRONG PASSWORD\nPlease enter the correct password:",loginname); ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",loginstring,"Login","Exit"); gPlayerLogTries[playerid] += 1; if(gPlayerLogTries[playerid] == 5) { Ban(playerid); } } } if(dialogid == 12345) { if(strlen(inputtext)) { GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "GF/%s.ini", sendername); new File: hFile = fopen(string, io_read); if (hFile) { SendClientMessage(playerid, COLOR_YELLOW, "That Username is already taken, please choose a different one."); fclose(hFile); return 1; } new tmppass[64]; strmid(tmppass, inputtext, 0, strlen(inputtext), 255); //Encrypt(tmppass); OnPlayerRegister(playerid,tmppass); } else { new regstring[128]; new regname[64]; GetPlayerName(playerid,regname,sizeof(regname)); format(regstring,sizeof(regstring),"Welcome, %s\nYou dont have an account.\nPlease register:",regname); ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Register",regstring,"Register","Exit"); } } } else { Kick(playerid); } return 1; }
-
DEci la mn e ok dar cand dau back sau close imi da server closed connection , cum fac sa nu mai dea?
-
Super ideea
5/5
-
Tare 10/10 :D
-
Imi cumpar o masina personala cu /v buy iar cand dau /v park imi apare ca sa parcat masina si dispare dar defapt ea se distruge , cand dau /getcar 248 nu mai este , uitati comanda "park"
else if(strcmp(x_nr,"park",true) == 0) { new Float:x,Float:y,Float:z; new Float:a; new carid; new getcarid; if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { carid = PlayerInfo[playerid][pPcarkey]; } else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { carid = PlayerInfo[playerid][pPcarkey2]; } else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { carid = PlayerInfo[playerid][pPcarkey3]; } else { return 1; } getcarid = GetPlayerVehicleID(playerid); GetPlayerName(playerid, playername, sizeof(playername)); GetVehiclePos(carid, x, y, z); //GetPlayerFacingAngle(playerid, a); GetVehicleZAngle(carid, a); if(IsPlayerInVehicle(playerid,carid) && CarInfo[carid][cOwned] == 1) { if(PlayerInfo[playerid][pPcarkey] == 999 && PlayerInfo[playerid][pPcarkey2] == 999 & PlayerInfo[playerid][pPcarkey3]) { SendClientMessage(playerid, COLOR_GREY, "You don't own a car."); return 1; } if(getcarid == carid) { CarInfo[carid][cLocationx] = x; CarInfo[carid][cLocationy] = y; CarInfo[carid][cLocationz] = z; CarInfo[carid][cAngle] = a; format(string, sizeof(string), "~n~ You have parked your car in this location. ~n~"); GameTextForPlayer(playerid, "You have parked this car in this position. It will respawn here.", 10000, 3); OnPropUpdate(); OnPlayerUpdate(playerid); DestroyVehicle(carid); CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000); return 1; } } }
care ar putea fi problema !?
-
Am bagat obiectele si cand dau pe object , nu imi arata :| pff , poate sa imi dea cineva mta-ul lui?
-
Cine poate sa imi dea si mie obiectele de pe 0.3c ca eu nu le am in MTA :evil:
-
Am facut exact cum este aici dar cand dau login apare de 2 ori , register la fel ! nu stiu din ce cauza!
Deci nu stie nimeni?
-
Ba da nu beliti ochii aia deloc X( uite era cu 2 topicuri sub al tau !
http://www.sa-mp.ro/forum/index.php/topic,8691.0.html
ZCMD + SSCANF.
in Tutoriale
Posted
C:\Documents and Settings\dcs.Mihai\Desktop\minievents.pwn(44) : error 001: expected token: ")", but found "&"
C:\Documents and Settings\dcs.Mihai\Desktop\minievents.pwn(44) : error 001: expected token: ";", but found "&"
C:\Documents and Settings\dcs.Mihai\Desktop\minievents.pwn(46) : error 010: invalid function or declaration
C:\Documents and Settings\dcs.Mihai\Desktop\minievents.pwn(48) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
4 Errors.