Jump to content

Alexander.

Membru
  • Posts

    67
  • Joined

  • Last visited

Everything posted by Alexander.

  1. // REZOLVAT! Scuze de 2x post.
  2. Incearca in loc de PlayerInfo[ReturnUser(inputtext)][pAdjustable] ++sa pui asta PlayerInfo[ReturnUser(inputtext)][pAdjustable] += 1;
  3. Am creat o instructiune care deschide usile masinii. Am pus executarea functiei la onplayerkeystatechange pentru key-ul KEY_ANALOG_LEFT (care este numpad 4). Problema este ca daca dau numpad 4 imi intoarce camera in jurul masinii (functia default din gta sa). Cum pot dezactiva acea functie (~k~~VEHICLE_TURRETLEFT~)?
  4. Exista vreo functie care sa verifice daca player-ul este in pauza? (Esc) Multumesc!
  5. //REZOLVAT! Puteti da T.C.!
  6. Te referi la conditie nu? Am sa revin cu edit.
  7. Sunt diferite pentru ca parametrul h face parte dintr-un for si citeste din baza de date de la 0 la cate randuri sunt ( nu are legatura cu masina din joc) iar parametrul key este initializat cu pCarKey (id masinii in game). Menționez că celelalte moduri se seteaza (nitro, etc.. tot din aceeasi instruciuni doar cu alte variabile.
  8. Nu-i reseteaza. Ii citeste din baza de date si ii atribuie.
  9. Alexander.

    Ajutor

    Da-ne functia onplayerentervehicle sau onplayerstatechange din speedometer.
  10. Problema intalnita (descriere): Cand aprind serverul paintjob-ul la masina se incarca corect. Dupa /rac imi da alt paintjob pe masina.Ero(area / rile) / warning-(ul / urile): - Liniile de cod / sursa / script-ul(obligatoriu): Asta o am la incarcarea masinilor din baza de date dupa ce se creaza masina (pentru fiecare in parte, am un for acolo) if(CarInfo[h][cMod18] != 255 ) { ChangeVehiclePaintjob(pcars[h], CarInfo[h][cMod18]); }Iar asta la on vehicle spawn if ( CarInfo [ key ] [ cMod18 ] != 255 ) { ChangeVehiclePaintjob ( vehicleid , CarInfo [ key ] [ cMod18 ] ) ; }
  11. Da, o poti declara asa cel mai bine rOwner[MAX_PLAYER_NAME];
  12. Arata-ne cum ai creat varibila rOwner de la enum rInfo.
  13. Multumesc mult! Aveti +1 amandoi. Am folosit asta: SetTimerEx("VehRot",200,false,"df",vehicleid,65.0); forward VehRot(veh,Float:angle); public VehRot(veh,Float:angle) { return SetVehicleZAngle(vehicleid, angle); } P.S.: Nu ma lasa sa dau acum rep, dau mai tarziu. Puteti da //T.C.!
  14. @DCosmin if(strcmp(cmd, "/respawnallcars", true) == 0 || strcmp(cmd, "/rac", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pAdmin] >= 4) { new unwanted[MAX_VEHICLES]; for(new player=0; player<MAX_PLAYERS; player++) { if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=1; } } for(new car = 1; car < MAX_VEHICLES; car++) { if(!unwanted[car]) SetVehicleToRespawn(car); } GetPlayerName(playerid, pName, sizeof(pName)); format(string, sizeof(string), "Adminul %s a respawnat toate masinile nefolosite!", pName); SendClientMessageToAll(COLOR_LIGHTRED2, string); } else { SendClientMessage(playerid, COLOR_ERROR, "Error: Nu ai acces la aceasta comanda!"); } } return 1; }@Spman Am facut cum ai zis tu si e in regula, doar ca imi strica ZAngle. Uite aici codurile: new Float:z_angle; GetVehicleZAngle(veh, z_angle); CarInfo[veh][cAngle] = z_angle; UpdateC(veh, cAngleu);si la enum cInfo Float:cAngle
  15. O functie special pentru asta, din cate stiu eu, inca nu exista. Poti folosi insa TogglePlayerSpectating(playerid, true);si cand ai terminat cu dialogurile de register/login o setezi inapoi (la OnPlayerSpawn sau stiu eu ce mai ai tu in gm) TogglePlayerSpectating(playerid, false);
  16. @DCosmin Da, comanda salveaza in mysql datele. Dupa ce dau /rac mi se spawneaza unde era inainte ca si cum n-ar citi datele noi din baza (dupa restart o spawneaza in locul nou).
  17. Problema intalnita (descriere): Am creat o comanda /v park, merge in totalitate. As vrea ca dupa ce dau park sa se respawneze acolo, ca acum sunt nevoit sa dau restart la server ca sa se spawneze unde am dat /v park.Ero(area / rile) / warning-(ul / urile): -Liniile de cod / sursa / script-ul(obligatoriu): if(strcmp(temp, "park", true) == 0) { new veh = PlayerInfo[playerid][pCarKey]; if(GetPlayerVehicleID(playerid) == veh) { GetVehiclePos(veh, x, y, z); new Float:z_angle; GetVehicleZAngle(veh, z_angle); CarInfo[veh][cLocationX] = x; UpdateC(veh, cLocationXu); CarInfo[veh][cLocationY] = y; UpdateC(veh, cLocationYu); CarInfo[veh][cLocationZ] = z; UpdateC(veh, cLocationZu); CarInfo[veh][cAngle] = z_angle; UpdateC(veh, cAngleu); GameTextForPlayer( playerid, "~g~Masina parcata.", 5000, 1 ); SetVehiclePos(veh, x, y, z); SetVehicleZAngle(veh, z_angle); } else return SendClientMessage(playerid, COLOR_ERROR, "Error: Trebuie sa te afli in masina ta personala pentru a o parca."); }Imagini / Video (optional): -Ati incercat sa rezolvati singur?: Destroyvehicle si Createvehicle/Addstaticvehicle dar se distruge si nu mai apare deloc nici unde.
  18. Daca fac asa ar trebui sa pun toate masinile si playerilor sa le dau la register/login acel vw? P.S: Am facut o comanda de parcat masina, se salveaza tot-tot, doar ca nu stiu cum sa fac sa o respawneze in locatia aia, ca asa sunt nevoit sa dau restart la server ca sa se spawneze in locatia noua. Am incercat cu destroy si createvehicle / addstaticvehicle.
  19. Am rezolvat datorita ție @WopsS. Multumesc mult! P.S.: Nu cunosteam funcția, nu stiam exact ce parametrii are. P.S.S: Cand ies din interiorul groove Cj's house32496.049804,-1695.238159,1014.742187 imi arunca masinile in sus, face aiurea rau.
  20. Deocamdata am rezolvat era o problema cu update-urile, acum introducere se face bine cand creez o masina, citirea se face binde doar ca imi da masinile in aceeasi pozitie chiar daca au coordonate diferint un baza de date si modelul masini il face la toate ca la prima masina, culorile la fel .... CHIAR DACA SUNT DIFERITE IN BAZA DE DATE. Sistemul e exact la fel cu cel de case, si la case la fel face. @WopsS Sistemele sunt inspirate din sistemul tau de login, ma gandesc ca la for-ul de la citire e ceva gresit. Citirea: public LoadCars() { new string[512]; cache_get_data(rows, fields, handle); if(rows != 0) { for(new h= 0; h<rows; h++) { cache_get_field_content(0, "CarID", temp), CarInfo[h][cCarID] = strval(temp); cache_get_field_content(0, "Model", temp), CarInfo[h][cModel] = strval(temp); cache_get_field_content(0, "LocationX", temp), CarInfo[h][cLocationX] = strval(temp); cache_get_field_content(0, "LocationY", temp), CarInfo[h][cLocationY] = strval(temp); cache_get_field_content(0, "LocationZ", temp), CarInfo[h][cLocationZ] = strval(temp); cache_get_field_content(0, "Angle", temp), CarInfo[h][cAngle] = strval(temp); cache_get_field_content(0, "Color1", temp), CarInfo[h][cColor1] = strval(temp); cache_get_field_content(0, "Color2", temp), CarInfo[h][cColor2] = strval(temp); cache_get_field_content(0, "Owner", temp), format(CarInfo[h][cOwner], 128, temp); cache_get_field_content(0, "ModelName", temp), format(CarInfo[h][cModelName], 128, temp); cache_get_field_content(0, "Price", temp), CarInfo[h][cPrice] = strval(temp); cache_get_field_content(0, "Owned", temp), CarInfo[h][cOwned] = strval(temp); cache_get_field_content(0, "Lock", temp), CarInfo[h][cLock] = strval(temp); cache_get_field_content(0, "Mod1", temp), CarInfo[h][cMod1] = strval(temp); cache_get_field_content(0, "Mod2", temp), CarInfo[h][cMod2] = strval(temp); cache_get_field_content(0, "Mod3", temp), CarInfo[h][cMod3] = strval(temp); cache_get_field_content(0, "Mod4", temp), CarInfo[h][cMod4] = strval(temp); cache_get_field_content(0, "Mod5", temp), CarInfo[h][cMod5] = strval(temp); cache_get_field_content(0, "Mod6", temp), CarInfo[h][cMod6] = strval(temp); cache_get_field_content(0, "Mod7", temp), CarInfo[h][cMod7] = strval(temp); cache_get_field_content(0, "Mod8", temp), CarInfo[h][cMod8] = strval(temp); cache_get_field_content(0, "Mod9", temp), CarInfo[h][cMod9] = strval(temp); cache_get_field_content(0, "Mod10", temp), CarInfo[h][cMod10] = strval(temp); cache_get_field_content(0, "Mod11", temp), CarInfo[h][cMod11] = strval(temp); cache_get_field_content(0, "Mod12", temp), CarInfo[h][cMod12] = strval(temp); cache_get_field_content(0, "Mod13", temp), CarInfo[h][cMod13] = strval(temp); cache_get_field_content(0, "Mod14", temp), CarInfo[h][cMod14] = strval(temp); cache_get_field_content(0, "Mod15", temp), CarInfo[h][cMod15] = strval(temp); cache_get_field_content(0, "Mod16", temp), CarInfo[h][cMod16] = strval(temp); cache_get_field_content(0, "Mod17", temp), CarInfo[h][cMod17] = strval(temp); cache_get_field_content(0, "Mod18", temp), CarInfo[h][cMod18] = strval(temp); cache_get_field_content(0, "Fuel", temp), CarInfo[h][cFuel] = strval(temp); cache_get_field_content(0, "Plate", temp), format(CarInfo[h][cPlate], 128, temp); pcars[h] = CreateVehicle(CarInfo[h][cModel],CarInfo[h][cLocationX],CarInfo[h][cLocationY],CarInfo[h][cLocationZ],CarInfo[h][cAngle],CarInfo[h][cColor1],CarInfo[h][cColor2],-1,0); SetVehicleNumberPlate(CarInfo[h][cCarID], CarInfo[h][cPlate]);
  21. Am uitat sa dau edit, scuzati-ma, am scris mai jos
  22. Greseala mea, am incurcat ceva La OnPlayerConnect am asta: mysql_format(handle, query, sizeof(query), "SELECT * FROM `pcars`"); mysql_tquery(handle, query, "LoadCars", "i", playerid);iar la functia LoadCars() am asta: cache_get_field_content(0, "Plate", temp), format(CarInfo[h][cPlate], 128, temp);P.S.: Am incercat sa pun ce mi-ai zis tu de mai de mult (doar ca la loadcars) si n-a mers. Pararea mea este ca masinile personale sunt create dupa ce se face setare numarului de inmatriculare, doar ca nu stiu ce sa fac... //EDIT: Am pus un printf cu numarul de inmatriculare cand citeste masinile si il scrie bine. //EDIT2: Am facut o comanda cu /mycars si nu-mi arata bine variabilele, ca si cum nu s-ar seta. if(strcmp(cmd, "/mycars", true) == 0) { if(IsPlayerConnected(playerid)) { if(gLogged[playerid] == 1) { if(PlayerInfo[playerid][pCarKey] != MAX_VEHICLES) { new veh = PlayerInfo[playerid][pCarKey]; format(string,sizeof(string), "[Name]: %s, [Price]:%s, [Lock]:%d, [Plate]:%s [Color1]:%d, [Color2]:%d",CarInfo[veh][cModelName], FormatNumber(CarInfo[veh][cPrice]), CarInfo[veh][cLock], CarInfo[veh][cPlate], CarInfo[veh][cColor1], CarInfo[veh][cColor2] ); SendClientMessage(playerid, COLOR_SYN, string); } else return SendClientMessage(playerid, COLOR_ERROR, "Error: Nu detii nici o masina personala!"); } else { SendClientMessage(playerid, COLOR_ERROR, "Trebuie sa fi logat pentru a utiliza aceasta comanda!"); } } return 1; }//EDIT3: Am rezolvat comanda /mycars, nu citea bine id-ul masinii (fiind doar 1 in baza de date deocamdata dadea null peste tot).
  23. Problema intalnita (descriere): Deci am facut un sistem de masini personale pe mysql. La OnPlayerConnect am apelul pentru functia de load. Problema este ca nu mi se seteaza numarul de inmatriculare. Setarea numarului de inmatriculare o am la OnGameModeInit. P.S.: Toate masinile dinaintea celor de la factiuni/civili au numar de inmatriculare bun (non-mysql, definire cu string direct din gm la ongamemodeinit). Ero(area / rile) / warning-(ul / urile): -Liniile de cod / sursa / script-ul(obligatoriu): Load (OnPlayerConnect): cache_get_field_content(0, "Plate", temp), format(CarInfo[h][cPlate], 128, temp);Setare (OnGameModeInit): for(new veh=0; veh < MAX_VEHICLES; veh++) { ........................... else if(veh > corleonecars[10]) { format(string, 128, "%s", CarInfo[veh][cPlate]); SetVehicleNumberPlate(veh, string); } }definire cPlate[128];baza de date Plate varchar(128)Imagini / Video (optional): -Ati incercat sa rezolvati singur?: Da, sa fac un public la ongamemodeinit care se apeleze incarcarea masinilor din baza de date dar m-am inpotmolit pe unde :-??
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.