RABIGKY
-
Posts
26 -
Joined
-
Last visited
Content Type
Profiles
Forums
News
Documentation
Posts posted by RABIGKY
-
-
2 hours ago, NighTeN said:
Nice
Mersi
-
Hai noroc!
Astazi m-am decis sa va arat cum am facut eu job-ul de fisherman.
Job-ul nu este deloc unul wow, dar pentru inceput merge, voi puteti sa-l dezvoltati
sa-l faceti cum doriti..
In primul rand facem o variabila de genu'
new CaughtFish[MAX_PLAYERS]; // Daca a prins peste sa nu mai poata pescuii in continuare. new Job[MAX_PLAYERS]; // Daca are deja un job sa nu poata lua altul.
Mergem la enum pInfo (in cazul meu)
si adaugam.
enum pInfo { pJobFish } new PlayerInfo[MAX_PLAYERS][pInfo];
Mai facem un enum, unde vom pune dialogurile
enum { DIALOG_JOBS }
Bun, acum vom face comanda '/jobs' pentru a vedea job-urile de pe server.
CMD:jobs(playerid, params[]) { new string[80]; // Creem un string, l-am facut de 80 dar voi il puteti facei mai mare/mic in functie de caractere format(string, sizeof(string), "Fish\t\t%0.2f m", GetPlayerDistanceFromPoint(playerid, 2380.9233, 548.5172, 7.7802)); // Job-ul se numeste 'Fish' iar '%0.2f m' reprezinta distanta de la jucator la job ShowPlayerDialog(playerid, DIALOG_JOBS, DIALOG_STYLE_LIST, "JOBS", string, "Gata", "Anuleaza"); Si aici aratam dialog-ul return 1; }
Mergem la OnDialogResponse si adaugam
case DIALOG_JOBS: { switch(listitem) // in functie de ce alege { case 0: // am facut doar un caz, caz-ul 'Fish' { SetPlayerCheckpoint(playerid, 2380.9233, 548.5172, 7.7802, 5.0); // Daca apasa pe el ii seteaza checkpoint la job. new string[60]; format(string, sizeof(string), "Ti-am pus un checkpoint pe harta (%0.2f m).", GetPlayerDistanceFromPoint(playerid, 2380.9233, 548.5172, 7.7802)); Aici il anuntam ca i-am pus checkpoint, si la ce distanta se afla fata de el. } } }
Vom creea comanda '/getjob'
CMD:getjob(playerid, params[]) { if(Job[playerid] == 1) return SCM(playerid, COLOR_RED, "[JOB]: {FFFFFF}Ai deja un job, foloseste '/quitjob' pentru a demisiona."); // Daca are deja un job sa nu poata lua job-ul if(IsPlayerInRangeOfPoint(playerid, 5.0, 2380.9233, 548.5172, 7.7802)) // Daca se afla in locul potrivit { Job[playerid] = 1; // Ii setam sa aibe un job PlayerInfo[playerid][pJobFish] = 1; // Si ii setam JobFish 1 pentru a putea pescuii SCM(playerid, COLOR_CYAN, "[JOB]: Te-ai angajat ca Fisherman."); // Aici il anuntam ca s-a angajat } return 1; }
Acum facem comanda '/quitjob'
CMD:quitjob(playerid, params[]) { if(Job[playerid] == 0) return SCM(playerid, COLOR_RED, "[JOB]: {FFFFFF}Nu ai nici un job."); // Daca nu are nici un job, nu poate demisiona SCM(playerid, COLOR_YELLOW, "[JOB]: Ai demisionat de la locu' de munca."); // il anuntam ca a demisionat. Job[playerid] = 0; // ii scoatem job-ul PlayerInfo[playerid][pJobFish] = 0; // ii scoate si job-ul de pescar. // Aici puteti adauga mai multe PlayerInfo[playerid][pGarbageMan] = 0; sau ce job aveti voi pentru a nu mai putea lucra return 1; }
Facem un timer de genu'
new timer_fish[MAX_PLAYERS];
Si comanda '/fish' unde vom folosi timer-ul si pe care o v-a folosi pentru a pescuii
CMD:fish(playerid, params[]) { if(!IsPlayerInRangeOfPoint(playerid, 30.0, 2380.9233, 548.5172, 7.7802)) return SCM(playerid, COLOR_RED, "[JOB]: {FFFFFF}Nu te afli in locul potrivit."); // Daca nu se afla in locul potrivit il anuntam if(PlayerInfo[playerid][pJobFish] == 0) return SCM(playerid, COLOR_RED, "[FISH]: {FFFFFF} Nu ai job-ul de Fisherman."); // Daca nu are job-ul de Fisherman sa nu poate pescuii if(CaughtFish[playerid] == 1) return SCM(playerid, COLOR_RED, "[FISH]: {FFFFFF} Ai deja un peste du-te si vinde-l."); // Daca a prins deja un peste sa nu mai poata pescuii if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, COLOR_RED, "[FISH]: {FFFFFF} Mai intai trebuie sa te dai jos din vehicul."); // Daca e intr-un vehicul mai intai sa se dea jos CaughtFish[playerid] = 1; // Aici ii setam ca a prins peste timer_fish[playerid] = SetTimerEx("Fish", 5000, false, "i", playerid); // Un timer de 5 secunde pentru a nu spama TogglePlayerControllable(playerid, false); // Sa nu se poata misca timp de 5 secunde return 1; }
Si acum cand se termina timer-ul vom adauga
forward Fish(playerid); public Fish(playerid) { KillTimer(timer_fish[playerid]); // "Omoram" timer-ul TogglePlayerControllable(playerid, true); // Acum se poate misca new amount = 10000 + random(40000); // Cand prinde un peste sa primeasca o suma intre 10.000 - 50.000 (schimbati cum vreti) new string[100]; format(string, sizeof(string), "[FISH]: Ai prins un peste de $ %d, du-te si vinde-l la un 24/7,", amount); // il anuntam ca a prins un peste si cat costa acesta SCM(playerid, COLOR_YELLOW, string); return 1; }
ASTA A FOST TUTORIALUL, NU ESTE NIMIC WOW DELOC!!
ESTE CEVA PENTRU INCEPATORI ( NU CA AS FI EU VREUN MARE SCRIPTER)!!
SPER CA V-A FOST DE FOLOS..
IMI CER SCUZE DACA AM GRESIT UNDEVA, MA ANUNTATI SI REZOLVAM
VA PUP
- 1
- 3
-
Mai uita-te inca odata la GroWy si vezi cum a facut el
Omu' a facut tutorial pe yt si tu nu esti in stare sa copiezi...Urat...
-
Am rezolvat. T/C
-
stai, ca-ti dau mesaj sa nu facem aici spam
-
if (newkeys & KEY_CROUCH )// daca apasa tasta KEY_CROUCH
if(!IsACop(playerid)) return SCM(playerid, -1, "Nu poti deschide poarta deoarece nu esti politist!");
if(IsPlayerInRangeOfPoint(playerid, 15, 1586.81323, -1637.93604, 14.95745))
{
MoveObject(GatePD1, 1586.81323, -1637.93604, 9.52512, 5.0, 0.00000, 0.00000, 0.00000);
SetTimer("MoveGatePd1",5000,0);
SendClientMessage(playerid,-1,"Ai deschis poarta 5 secunde!");
}Vezi acum..
-
Vezi acea acolada "}" nu ai pus-o bine, pune-o in rand cu cealalta "{"
-
18 hours ago, Banditul said:
Tot ii va da eroare, nici params nu e definit
Va trebui sa pui " " in loc de params asta daca comenzile respective nu se asteapta sa primeasca anumiti parametri. Daca comenzile au nevoie de parametri (ex: /engine 1 etc) atunci va trebui sa specifici ca si parametru " 1 "
cmd_engine(playerid, " "); Sau daca coamnda e de forma /engine 1 etc cmd_engine(playerid, "1");
Se aplica si pentru alte comenzi pe care doresti sa le invoci
Oke, am rezolvat problema cu "params", mersi
Acum imi apar celelalte erori 1015,1023,1031,1047,1063... Vreo idee?
-
Salut, am incercat sa fac ca motorul masinii si luminile sa le porneasca player-ul manual...
Quote1012 public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
1013 {
1014 if(PRESSED(KEY_LOOK_BEHIND))
1015 {
1016 if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER || !isBike(GetPlayerVehicleID(playerid)) || GetPVarInt(playerid, "engineDelay") != gettime())
1017 {
1018 cmd_engine(playerid, params[]);
1019 return false;
1020 }
1021 }
1022 if(PRESSED(KEY_ACTION))
1023 {
1024 if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER || !isBike(GetPlayerVehicleID(playerid)) || !isPlane(GetPlayerVehicleID(playerid))|| !isBoat(GetPlayerVehicleID(playerid)))
1025 {
1026 cmd_lights(playerid, params[]);
1027 return false;
1028 }
1029 }
1030 if(PRESSED(KEY_ANALOG_DOWN))
1031 {
1032 if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER || !isBike(GetPlayerVehicleID(playerid)) || !isPlane(GetPlayerVehicleID(playerid))|| !isBoat(GetPlayerVehicleID(playerid)))
1033 {
1034 new engine, lights, alarm, doors, bonnet, boot, objective;
1035 GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
1036 if(vehicle_boot[GetPlayerVehicleID(playerid)] == true)
1037 {
1038 vehicle_boot[GetPlayerVehicleID(playerid)] = false;
1039 SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_OFF, objective);
1040 return true;
1041 }
1042 vehicle_boot[GetPlayerVehicleID(playerid)] = true;
1043 SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_ON, objective);
1044 }
1045 }
1046 if(PRESSED(KEY_ANALOG_UP))
1047 {
1048 if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER || !isBike(GetPlayerVehicleID(playerid)) || !isPlane(GetPlayerVehicleID(playerid))|| !isBoat(GetPlayerVehicleID(playerid)))
1049 {
1050 new engine, lights, alarm, doors, bonnet, boot, objective;
1051 GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
1052 if(vehicle_bonnet[GetPlayerVehicleID(playerid)] == true)
1053 {
1054 vehicle_bonnet[GetPlayerVehicleID(playerid)] = false;
1055 SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, VEHICLE_PARAMS_OFF, boot, objective);
1056 return true;
1057 }
1058 vehicle_bonnet[GetPlayerVehicleID(playerid)] = true;
1059 SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, VEHICLE_PARAMS_ON, boot, objective);
1060 }
1061 }
1062 if (PRESSED(KEY_FIRE))
1063 {
1064 if(PlayerInfo[playerid][pAdmin] >= 5)
1065 {
1066 if (IsPlayerInAnyVehicle(playerid))
1067 {
1068 AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
1069 }
1070 else
1071 {
1072 SCM(playerid, COLOR_RED, "[SERVER]:{FFFFFF} Nu te afli intr-un vehicul!");
1073 }
1074 }
1075 else
1076 return Admin;
1077 }
1078 return 1;
1079 }si am primit erorile astea, vreo idee?
QuoteC:\Users\Desktop\gm\gamemodes\gm.pwn(1015) : error 029: invalid expression, assumed zero
C:\Users\Desktop\gm\gamemodes\gm.pwn(1018) : error 017: undefined symbol "params"
C:\Users\Desktop\gm\gamemodes\gm.pwn(1023) : error 029: invalid expression, assumed zero
C:\Users\Desktop\gm\gamemodes\gm.pwn(1026) : error 017: undefined symbol "params"
C:\Users\Desktop\gm\gamemodes\gm.pwn(1031) : error 029: invalid expression, assumed zero
C:\Users\Desktop\gm\gamemodes\gm.pwn(1047) : error 029: invalid expression, assumed zero
C:\Users\Desktop\gm\gamemodes\gm.pwn(1063) : error 029: invalid expression, assumed zeroEDIT: v-am scris nr. randurilor, poate asa va dati seama...
-
11 hours ago, VLM said:
Uita-te prin GM daca mai este definit "Range"
error 021: symbol already defined: "Range"
M-am uitat si nu mai este definit.....
-
Salut, am luat si eu gm-ul de la Edison(Gamemode de la 0) pe care am vrut sa incep sa lucrez, sa mai invat unele lucruri.. etc
Si am primit asta, aveti idee de ce?
SA-MP RPG Server\gamemodes\RPG.pwn(2502) : error 025: function heading differs from prototype SA-MP RPG Server\gamemodes\RPG.pwn(2502) : error 025: function heading differs from prototype SA-MP RPG Server\gamemodes\RPG.pwn(2502) : error 021: symbol already defined: "Range" SA-MP RPG Server\gamemodes\RPG.pwn(2502) : fatal error 107: too many error messages on one line
Si asta este linia/functia ...
function Range(Float:radi, playerid, targetid) { if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid)) { new Float:posx, Float:posy, Float:posz; new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); GetPlayerPos(targetid, posx, posy, posz); tempposx = (oldposx -posx); tempposy = (oldposy -posy); tempposz = (oldposz -posz); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) return 1; } return 0; }
-
Stiu ca e putin cam tarziu...Da' daca te ajuta poftim
[pawn]
CMD:admins(playerid)
{
SCM(playerid, COLOR_LIGHTBLUE, "---===ADMINS===---");
if(PlayerInfo[id][pAdmin] == 1)
{
new string[80];
format(string, sizeof(string), "Admin-Trial: %s", GetName(id));
SCM(playerid, COLOR_LIGHTBLUE, string);
}
else if(PlayerInfo[id][pAdmin] == 2)
{
new string[80];
format(string, sizeof(string), "Admin 1: %s", GetName(id));
SCM(playerid, COLOR_LIGHTBLUE, string);
}
else if(PlayerInfo[id][pAdmin] == 3)
{
new string[80];
format(string, sizeof(string), "Admin 2: %s", GetName(id));
SCM(playerid, COLOR_LIGHTBLUE, string);
}
else if(PlayerInfo[id][pAdmin] == 4)
{
new string[80];
format(string, sizeof(string), "Admin 3: %s", GetName(id));
SCM(playerid, COLOR_LIGHTBLUE, string);
}
else if(PlayerInfo[id][pAdmin] == 5)
{
new string[80];
format(string, sizeof(string), "Moderator: %s", GetName(id));
SCM(playerid, COLOR_LIGHTBLUE, string);
}
else if(PlayerInfo[id][pAdmin] == 6)
{
new string[80];
format(string, sizeof(string), "Co-Owner: %s", GetName(id));
SCM(playerid, COLOR_LIGHTBLUE, string);
}
else if(PlayerInfo[id][pAdmin] == 7)
{
new string[80];
format(string, sizeof(string), "Owner: %s", GetName(id));
SCM(playerid, COLOR_LIGHTBLUE, string);
}SCM(playerid, COLOR_LIGHTBLUE, "---===----===---");
return 1;
}[/pawn] -
Salut, inlocuiesti comanda aia cu asta daca doresti
CMD:makeadmin(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] == 7) { new string[50], id, amount; if(sscanf(params, "ui", id, amount)) return SCM(playerid, -1, "SYNTAX:/makeadmin <ID> <1-7>"); format(string, sizeof(string), "%s ti-a setat admin-ul la %d.", GetName(playerid), amount); SCM(playerid, 0x00FF66, string); PlayerInfo[playerid][pAdmin] = amount; gQuery[0] = EOS; mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `conturi` SET `Admin`='%d' WHERE `ID`='%d'", GetPlayerScore(playerid), PlayerInfo[playerid][pSQLID]); mysql_tquery(SQL, gQuery, "", ""); } else { SCM(playerid, 0xFF0000, "[SERVER]: Nu ai gradul necesar."); } return 1; }
Daca ai vreo problema cu aceasta comanda, da-mi pm.. Sper ca te-am ajutat
-
S-a rezolvat datorita lui [El.Capo], multumesc
-
59 minutes ago, [El.Capo] said:
~Inearca asta!~
CMD:givemoney(playerid, params[]) {
new string[128], id, amount;
if(sscanf(params, "ud", id, amount)) return SCM(playerid, -1, "SYNTAX:/givemoney <playerid> <amount>");
if(id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_RED, "INVALID ID");format(string, sizeof(string), "%s ti-a dat %d bani.", GetName(playerid), amount);
SCM(playerid, COLOR_BLUE, string);GivePlayerMoney(id, amount);
gQuery[0] = EOS;
mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `users` SET `Money`='%d' WHERE `ID`='%d'", GetPlayerMoney(id), PlayerInfo[id][pSQLID]);
mysql_tquery(SQL, gQuery, "", "");
return 1;
}Nu merge.. Se salveaza in baza de date, dar daca ies si intru din nou am 0 bani ... Am sa mai ma uit prin GM, poate e de la logare..
EDIT: Nu am reusit, ma poate ajuta cineva?
-
CMD:bonus(playerid, params[]) { if(PlayerInfo[playerid][pLevel] <= 2) { GivePlayerMoney(playerid, 50000000); SetPlayerScore(playerid, 5); SCM(playerid, COLOR_YELLOW, "Ai primit level 5 si $50.000.000, distreaza-te!"); } else { SCM(playerid, 0xff0000, "Ai primit deja bonus-ul, nu fii bulangiu."); } return 1; }
Nu stiu daca mai ai nevoie, dar incearca asta ...
-
CMD:givemoney(playerid, params[]) { new string[256], id, amount; if(sscanf(params, "ud", id, amount)) return SCM(playerid, -1, "SYNTAX:/givemoney <playerid> <amount>"); else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_RED, "INVALID ID"); else { format(string, sizeof(string), "%s ti-a dat %d bani.", GetName(playerid), amount); SCM(playerid, COLOR_BLUE, string); GivePlayerMoney(id, amount); gQuery[0] = EOS; mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `users` SET `Money`='%d' WHERE `ID`='%d'", GetPlayerMoney(playerid), PlayerInfo[playerid][pSQLID]); mysql_tquery(SQL, gQuery, "", ""); } return 1; }
Salut, am incercat sa fac o comanda... Am facut ca atunci cand imi dau bani sa se salveze in baza de date, dar daca reintru pe server, am 0 bani, cu toate ca in baza imi apare ca am o suma de bani... Ma puteti ajuta?
-
In caz ca va intereseaza, am mai gasit un site .. http://tubidy.mobi sper ca v-am ajutat
-
S-a rezolvat multumesc K H A I N
-
2 minutes ago, K H A I N said:
sau daca nu merge metoda de sus, incearca sa stergi main() {}
Nu merge nici metoda de mai sus, nici metoda cu stergerea main-ului..
-
1 minute ago, K H A I N said:
trimite server log
uite
SA-MP Dedicated Server ---------------------- v0.3.7-R2, (C)2005-2015 SA-MP Team [01:32:22] filterscripts = "" (string) [01:32:22] [01:32:22] Server Plugins [01:32:22] -------------- [01:32:22] Loading plugin: sscanf.dll [01:32:22] [01:32:22] =============================== [01:32:22] sscanf plugin loaded. [01:32:22] Version: 2.8.3 [01:32:22] (c) 2018 Alex "Y_Less" Cole [01:32:22] =============================== [01:32:22] Loaded. [01:32:22] Loading plugin: mysql.dll [01:32:22] >> plugin.mysql: R39-6 successfully loaded. [01:32:22] Loaded. [01:32:22] Loading plugin: Whirlpool.dll [01:32:22] [01:32:22] ================== [01:32:22] [01:32:22] Whirlpool loaded [01:32:22] [01:32:22] ================== [01:32:22] [01:32:22] Loaded. [01:32:22] Loaded 3 plugins. [01:32:23] [01:32:23] Filterscripts [01:32:23] --------------- [01:32:23] Loaded 0 filterscripts. [01:32:23] [01:32:23] [01:32:23] [01:32:23] ======================================= [01:32:23] | | [01:32:23] | YSI version 3.09.0684 | [01:32:23] | By Alex "Y_Less" Cole | [01:32:23] | | [01:32:23] ======================================= [01:32:23] [01:32:23] [01:32:23] [01:32:23] Script[gamemodes/db.amx]: Run time error 20: "Invalid index parameter (bad entry point)" [01:32:23] Number of vehicle models: 0 Console input: gmx [01:32:38] [01:32:38] [01:32:38] [01:32:38] ======================================= [01:32:38] | | [01:32:38] | YSI version 3.09.0684 | [01:32:38] | By Alex "Y_Less" Cole | [01:32:38] | | [01:32:38] ======================================= [01:32:38] [01:32:38] [01:32:38] [01:32:38] Script[gamemodes/db.amx]: Run time error 20: "Invalid index parameter (bad entry point)" [01:32:38] Number of vehicle models: 0 [01:33:03] [connection] 127.0.0.1:55246 requests connection cookie. [01:33:04] [connection] incoming connection: 127.0.0.1:55246 id: 0 [01:33:04] [join] Florin has joined the server (0:127.0.0.1)
-
Salut, fiind incepator, lucrez in localhost, folosesc Sublime Text 3, dar am o problema, am inceput azi un "GM", am facut niste comenzi.. un sistem de register/login( nu e facut de la 0, dar am incercat sa-l editez cat am putut), GM-ul are 500 de randuri, il pornesc pe localhost, intru pe server si ...Ma puteti ajuta?
-
S-a rezolvat, m-a ajutat Voller.
-
32 minutes ago, Voller. said:
CMD:setadmin(playerid, params[]) { if(IsPlayerAdmin(playerid)) // aici verificam daca esti rcon admin. { new userid, amount; if(sscanf(params, "ui", userid, amount)) return SendClientMessage(playerid, -1, "{ffffff}SYNTAX: /setadmin <playerid/name> <1-7>"); new string[128]; format(string, sizeof(string), "%s ti-a setat admin-ul la $%d.", GetName(playerid), amount); SendClientMessage(userid, 0x00FF00, string); format(string, sizeof(string), "I-ai setat admin-ul lui %s la $%d!", GetName(playerid), amount); SendClientMessage(playerid, 0x00FF00, string); PlayerInfo[userid][pAdmin] = amount; return 1; // aici returnam valoare 1; } else return SCM(playerid, -1, "Nu ai gradul necesar!"); // aici la fel returnam si eroare. }
Salut!
Asa ar trebui sa fie.
Multumesc
Tutorial - Comanda /gotols
in Tutoriale
Posted
Pentru mine ar fi fost mai simplu sa fac ceva de genu'...