Punct. Posted June 13, 2015 Posted June 13, 2015 (edited) Salut. Recent cineva a facut o cerere de ajutor pentru un sistem de /window pe dialog, fara ca el sa incerce sa faca. Avand in vedere ca in cererea de ajutor nu se cer scripturi, am hotarat sa fac un astfel de script si sa-l postez aici, poate-l mai vrea cineva. Eu am scriptul direct in gamemode, deci voi pune partile de cod ce tin de acest sistem. Atentie! Trebuie sa aveti setate geamurile masinilor la OnGameModeInit pentru ca scriptul sa functioneze cum trebuie. De preferat, la avioane/elicoptere/barci/motociclete sa fie -1,-1,-1,-1, la masinile cu 4 portiere 1,1,1,1, iar la masinile cu doua portiere sa fie 1,1,-1,-1. In cazul masinilor cu doua portiere, la geamurile 3/4 va aparea un text [------]Am vrut sa fac si un videoclip, dar cand am vrut sa filmez, aveam un lag enorm, si mai bine nu, asa ca am facut cateva poze care le puteti gasi la adresa http://imgur.com/ERHAEsw,SsJoVx2,HQWtZGt,IXmTwi9,Dd11CiF#0 #define DIALOG_WINDOW 136 #define SendClientMessage SCM #define 0xFFFFFFFF c_alb // Comanda /window if(strcmp(cmd, "/window", true) == 0) { if(IsPlayerConnected(playerid)) { new vehicleid = GetPlayerVehicleID(playerid); //if(IsPlane(vehicleid)) return SCM(playerid, -1, "Nu poti deschide geamul unui avion/elicopter"); //if(IsMoto(vehicleid)) return SCM(playerid, -1, "Nu poti deschide geamul unei motociclete"); if(IsPlayerInAnyVehicle(playerid)) { new driver, passenger, backleft, backright, text1[28], text2[28], text3[28], text4[28], textt[150]; GetVehicleParamsCarWindows(vehicleid, driver, passenger, backleft, backright); if(driver == 0) format(text1, sizeof(text1), "{25CF3C}[OPENED]{FFFFFF}"); else if(driver == 1) format(text1, sizeof(text1), "{E02D2D}[CLOSED]{FFFFFF}"); else format(text1, sizeof(text1), "{9D3BFF}[------]{FFFFFF}"); if(passenger == 0) format(text2, sizeof(text2), "{25CF3C}[OPENED]{FFFFFF}"); else if(passenger == 1) format(text2, sizeof(text2), "{E02D2D}[CLOSED]{FFFFFF}"); else format(text2, sizeof(text2), "{9D3BFF}[------]{FFFFFF}"); if(backleft == 0) format(text3, sizeof(text3), "{25CF3C}[OPENED]{FFFFFF}"); else if(backleft == 1) format(text3, sizeof(text3), "{E02D2D}[CLOSED]{FFFFFF}"); else format(text3, sizeof(text3), "{9D3BFF}[------]{FFFFFF}"); if(backright == 0) format(text4, sizeof(text4), "{25CF3C}[OPENED]{FFFFFF}"); else if(backright == 1) format(text4, sizeof(text4), "{E02D2D}[CLOSED]{FFFFFF}"); else format(text4, sizeof(text4), "{9D3BFF}[------]{FFFFFF}"); format(textt, sizeof(textt), "1. %s\n2. %s\n3. %s\n4. %s", text1, text2, text3, text4); ShowPlayerDialog(playerid, DIALOG_WINDOW, DIALOG_STYLE_LIST, "WINDOW", textt, "OK", "Cancel"); } } return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case DIALOG_WINDOW: { new vehicleid = GetPlayerVehicleID(playerid); if(response) { new driver, passenger, backleft, backright; GetVehicleParamsCarWindows(vehicleid, driver, passenger, backleft, backright); switch(listitem) { case 0: { if(driver == 0) SetVehicleParamsCarWindows(vehicleid, 1, passenger, backleft, backright); else if(driver == 1) SetVehicleParamsCarWindows(vehicleid, 0, passenger, backleft, backright); else SetVehicleParamsCarWindows(vehicleid, -1, passenger, backleft, backright); } case 1: { if(passenger == 0) SetVehicleParamsCarWindows(vehicleid, driver, 1, backleft, backright); else if(passenger == 1) SetVehicleParamsCarWindows(vehicleid, driver, 0, backleft, backright); else SetVehicleParamsCarWindows(vehicleid, driver, -1, backleft, backright); } case 2: { if(backleft == 0) SetVehicleParamsCarWindows(vehicleid, driver, passenger, 1, backright); else if(backleft == 1) SetVehicleParamsCarWindows(vehicleid, driver, passenger, 0, backright); else SetVehicleParamsCarWindows(vehicleid, driver, passenger, -1, backright); } case 3: { if(backright == 0) SetVehicleParamsCarWindows(vehicleid, driver, passenger, backleft, 1); else if(backright == 1) SetVehicleParamsCarWindows(vehicleid, driver, passenger, backleft, 0); else SetVehicleParamsCarWindows(vehicleid, driver, passenger, backleft, -1); } } } } } return 1; } Edited June 13, 2015 by Punct. 1 Nu mai deschideti in pu*a mea servere de SA:MP ! Jucati-va pe cele care sunt ! Sunt suficiente ! Reguli de bun simt: 1. Nu faceti reclama unde nu trebuie ! 2. Nu injurati ca la usa cortului ! 3. Daca esti analfabeti, taci din gura ! 4. Nu abuza de 'scuze', 'din greseala' ! My work ::: http://pastebin.com/VRNRcaAs
Jimmi Posted June 13, 2015 Posted June 13, 2015 Si ce trebuie sa adaug la ongamemodelnit? Mie imi arata ------ la toate masinile si nici geamul nu se dechide
Punct. Posted June 13, 2015 Author Posted June 13, 2015 (edited) Atentie! Trebuie sa aveti setate geamurile masinilor la OnGameModeInit pentru ca scriptul sa functioneze cum trebuie. De preferat, la avioane/elicoptere/barci/motociclete sa fie -1,-1,-1,-1, la masinile cu 4 portiere 1,1,1,1, iar la masinile cu doua portiere sa fie1,1,-1,-1. In cazul masinilor cu doua portiere, la geamurile 3/4 va aparea un text [------]Poti folosi include-ul de aici, sau, sa le faci pe toate odata, poti folosi codul de mai jos, dar are o problema. Daca il folosesti, setezi toate geamurile inchise(1), iar daca masina are numai doua geamuri care se pot deschide, in dialog vei putea utiliza si geamurile 3/4. new string[3]; for(new car=1; car<MAX_VEHICLES; car++) { if(car != INVALID_VEHICLE_ID) { SetVehicleParamsCarWindows(vehicleid, 1, 1, 1, 1); } } [/code] Edited June 13, 2015 by Punct. Nu mai deschideti in pu*a mea servere de SA:MP ! Jucati-va pe cele care sunt ! Sunt suficiente ! Reguli de bun simt: 1. Nu faceti reclama unde nu trebuie ! 2. Nu injurati ca la usa cortului ! 3. Daca esti analfabeti, taci din gura ! 4. Nu abuza de 'scuze', 'din greseala' ! My work ::: http://pastebin.com/VRNRcaAs
OscarJoaca Posted July 8, 2015 Posted July 8, 2015 Foarte frumos! Dabia astept sa finalizezi gamemode-ul tau ;)
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