Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Sistema Potenziamenti * ADMIN ONLY *
- // (In alto)
- #define DIRECTORY_POTENZIAMENTI "PrisonRoleplay/Potenziamenti/%d.ini"
- #define MAX_POTENZIAMENTI (5)
- #define DIALOG_EDITORPOTENZIAMENTO (394)
- #define DIALOG_SCEGLIPOTENZIAMENTOTIPO (339)
- #define DIALOG_RIMUOVIPOTENZIAMENTOID (453)
- #define DIALOG_SPOSTAPOTENZIAMENTOID (343)
- #define DIALOG_TELETRASPORTATIPOTENZIAMENTO (353)
- #define DIALOG_VISUALIZZAPOTENZIAMENTI (448)
- #define POTENZIAMENTO_TAPISRULANT (2627)
- #define POTENZIAMENTO_CYCLETTE (2630)
- enum PotenziamentiInfo
- {
- p_OggettoID,
- Text3D:p_LabelID = INVALID_3DTEXT_ID,
- p_Tipo,
- bool:InUso,
- Float:p_X,
- Float:p_Y,
- Float:p_Z,
- Float:p_RX,
- Float:p_RY,
- Float:p_RZ,
- p_Interior,
- p_VirtualWorld
- }
- new Potenziamento[MAX_POTENZIAMENTI][PotenziamentiInfo], Iterator:Potenziamenti_Esistenti<MAX_POTENZIAMENTI>;
- // OnPlayerCommandText
- if (strcmp("/editorpotenziamenti", cmdtext, true, 10) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- if(Utente[playerid][Loggato] == true)
- {
- if(Utente[playerid][LivelloAdmin] <= 3 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} Non hai i permessi adatti per accedere a questo comando.");
- ShowPlayerDialog(playerid, DIALOG_EDITORPOTENZIAMENTO, DIALOG_STYLE_LIST, "{FFFFFF}Editor potenziamenti", "{FFFFFF}Crea potenziamento\n{FFFFFF}Elimina potenziamento\n{FFFFFF}Sposta potenziamento\n{FFFFFF}Teletrasportarti al potenziamento\n{FFFFFF}Visualizza potenziamenti", "Seleziona", "Chiudi");
- }
- }
- return 1;
- }
- // OnPlayerDialogResponse
- if(dialogid == DIALOG_EDITORPOTENZIAMENTO)
- {
- if(response)
- {
- new str_sceltapotenziamento[1024];
- switch(listitem)
- {
- case 0:
- {
- if(Iter_Free(Potenziamenti_Esistenti) == -1) return SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} E' stato raggiunto il massimo degli strumenti creati.");
- if(Iter_Count(Potenziamenti_Esistenti) == 0)
- {
- strcat(str_sceltapotenziamento, "Oggetto\tAbilità\n", sizeof(str_sceltapotenziamento));
- strcat(str_sceltapotenziamento, "{FFFFFF}Tapis Rulant\t Agilità\n", sizeof(str_sceltapotenziamento));
- strcat(str_sceltapotenziamento, "{FFFFFF}Cyclette\t Agilità\n", sizeof(str_sceltapotenziamento));
- ShowPlayerDialog(playerid, DIALOG_SCEGLIPOTENZIAMENTOTIPO, DIALOG_STYLE_TABLIST_HEADERS, "{FFFFFF}Scelta del tipo di potenziamento",str_sceltapotenziamento, "Seleziona", "Chiudi");
- }
- else
- {
- foreach(new p_i : Potenziamenti_Esistenti)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, Potenziamento[p_i][p_X], Potenziamento[p_i][p_Y], Potenziamento[p_i][p_Z]))
- {
- SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} In questa posizione è già presente un potenziamento.");
- return 1;
- }
- }
- strcat(str_sceltapotenziamento, "Oggetto\tAbilità\n", sizeof(str_sceltapotenziamento));
- strcat(str_sceltapotenziamento, "{FFFFFF}Tapis Rulant\t Agilità\n", sizeof(str_sceltapotenziamento));
- strcat(str_sceltapotenziamento, "{FFFFFF}Cyclette\t Agilità\n", sizeof(str_sceltapotenziamento));
- ShowPlayerDialog(playerid, DIALOG_SCEGLIPOTENZIAMENTOTIPO, DIALOG_STYLE_TABLIST_HEADERS, "{FFFFFF}Scelta del tipo di potenziamento",str_sceltapotenziamento, "Seleziona", "Chiudi");
- }
- }
- case 1:ShowPlayerDialog(playerid, DIALOG_RIMUOVIPOTENZIAMENTOID, DIALOG_STYLE_INPUT, "{FFFFFF}ID Potenziamento", "{FFFFFF}Inserisci l'ID del potenziamento che vuoi cancellare", "Elimina", "Chiudi");
- case 2:ShowPlayerDialog(playerid, DIALOG_SPOSTAPOTENZIAMENTOID, DIALOG_STYLE_INPUT, "{FFFFFF}ID potenziamento", "{FFFFFF}Inserisci l'ID del potenziamento che vuoi cancellare", "Sposta", "Annulla");
- case 3:ShowPlayerDialog(playerid, DIALOG_TELETRASPORTATIPOTENZIAMENTO, DIALOG_STYLE_INPUT, "{FFFFFF}ID potenziamento", "{FFFFFF}Inserisci l'ID del potenziamento a cui vuoi teletrasportarti", "Procedi", "Annulla");
- case 4:
- {
- if(Iter_Count(Potenziamenti_Esistenti) == 0) return SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF}Non ci sono potenziamenti da visualizzare.");
- new stringa[100];
- strins(str_sceltapotenziamento,"Oggetto\tID\tIn Uso\n", 0, sizeof(str_sceltapotenziamento));
- foreach(new pi : Potenziamenti_Esistenti)
- {
- format(stringa, sizeof(stringa), "%s\t%d\t%s\n", GetNomePotenziamento(Potenziamento[pi][p_Tipo]), pi, (Potenziamento[pi][InUso] != true) ? ("{FF0000}Inutilizzato{FFFFFF}") : ("{67E528}Utilizzato{FFFFFF}"));
- strcat(str_sceltapotenziamento, stringa, sizeof(str_sceltapotenziamento));
- }
- ShowPlayerDialog(playerid, DIALOG_VISUALIZZAPOTENZIAMENTI, DIALOG_STYLE_TABLIST_HEADERS, "{FFFFFF}Visualizza Potenziamenti", str_sceltapotenziamento, "Okay", "");
- }
- }
- }
- return 1;
- }
- if(dialogid == DIALOG_SCEGLIPOTENZIAMENTOTIPO)
- {
- if(response)
- {
- if(Iter_Free(Potenziamenti_Esistenti) == -1) return SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} E' stato raggiunto il massimo dei potenziamenti creati.");
- new freeid = Iter_Free(Potenziamenti_Esistenti);
- new Float:p_x, Float:p_y, Float:p_z, Float:p_angle;
- GetInFrontOfPlayer(playerid, 0.5, p_x, p_y, p_z, p_angle);
- p_z = p_z-1;
- Potenziamento[freeid][p_Interior] = GetPlayerInterior(playerid);
- Potenziamento[freeid][p_VirtualWorld] = GetPlayerVirtualWorld(playerid);
- SendClientMessageFormatted(playerid, -1, "{32CD32}Successo:{FFFFFF} Il potenziamento ID #%d è stato creato.", freeid);
- SendClientMessage(playerid, -1, "{FFFFFF} Clicca sul FLOPPY per salvare la nuova posizione dell'oggetto.");
- switch(listitem)
- {
- case 0:
- {
- Potenziamento[freeid][p_Tipo] = POTENZIAMENTO_TAPISRULANT;
- Potenziamento[freeid][p_OggettoID] = CreateDynamicObject(POTENZIAMENTO_TAPISRULANT, p_x, p_y, p_z, 0, 0, p_angle);
- }
- case 1:
- {
- Potenziamento[freeid][p_Tipo] = POTENZIAMENTO_CYCLETTE;
- Potenziamento[freeid][p_OggettoID] = CreateDynamicObject(POTENZIAMENTO_CYCLETTE, p_x, p_y, p_z, 0, 0, p_angle);
- }
- }
- Iter_Add(Potenziamenti_Esistenti, freeid);
- ModificaOggetto[playerid] = 11;
- EditDynamicObject(playerid, Potenziamento[freeid][p_OggettoID]);
- }
- else return ShowPlayerDialog(playerid, DIALOG_EDITORPOTENZIAMENTO, DIALOG_STYLE_LIST, "{FFFFFF}Editor potenziamenti", "{FFFFFF}Crea potenziamento\n{FFFFFF}Elimina potenziamento\n{FFFFFF}Sposta potenziamento\n{FFFFFF}Teletrasportarti al potenziamento\n{FFFFFF}Visualizza potenziamenti", "Seleziona", "Chiudi");
- return 1;
- }
- if(dialogid == DIALOG_RIMUOVIPOTENZIAMENTOID)
- {
- if(response)
- {
- if(!strlen(inputtext))
- {
- SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} Nessun ID dell'oggetto potenziamento é stato assegnato.");
- ShowPlayerDialog(playerid, DIALOG_RIMUOVIPOTENZIAMENTOID, DIALOG_STYLE_INPUT, "{FFFFFF}ID potenziamento", "{FFFFFF}Inserisci l'ID del potenziamento che vuoi cancellare", "Elimina", "Annulla");
- return 1;
- }
- if(!IsNumeric(inputtext))
- {
- SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} Il valore inserito non é un valore numerico.");
- ShowPlayerDialog(playerid, DIALOG_RIMUOVIPOTENZIAMENTOID, DIALOG_STYLE_INPUT, "{FFFFFF}ID potenziamento", "{FFFFFF}Inserisci l'ID del potenziamento che vuoi cancellare", "Elimina", "Annulla");
- return 1;
- }
- else
- {
- new filepotenziamento[256], idpotenziamento = strval(inputtext);
- format(filepotenziamento, sizeof(filepotenziamento), DIRECTORY_POTENZIAMENTI, idpotenziamento);
- if(Potenziamento[idpotenziamento][InUso] == true) return SendClientMessageFormatted(playerid, -1, "{FF0000}Errore:{FFFFFF}Non puoi eliminare il potenziamento ID #%d poichè è attualmente in utilizzo.", idpotenziamento);
- else if(dini_Exists(filepotenziamento))
- {
- DestroyDynamic3DTextLabel(Potenziamento[idpotenziamento][p_LabelID]);
- DestroyDynamicObject(Potenziamento[idpotenziamento][p_OggettoID]);
- AzzeraPotenziamentoEnum(idpotenziamento);
- Iter_Remove(Potenziamenti_Esistenti, idpotenziamento);
- dini_Remove(filepotenziamento);
- }
- else return SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} L'ID del potenziamento inserito non esiste.");
- }
- }
- else return ShowPlayerDialog(playerid, DIALOG_EDITORPOTENZIAMENTO, DIALOG_STYLE_LIST, "{FFFFFF}Editor potenziamenti", "{FFFFFF}Crea potenziamento\n{FFFFFF}Elimina potenziamento\n{FFFFFF}Sposta potenziamento\n{FFFFFF}Teletrasportarti al potenziamento\n{FFFFFF}Visualizza potenziamenti", "Seleziona", "Chiudi");
- return 1;
- }
- if(dialogid == DIALOG_SPOSTAPOTENZIAMENTOID)
- {
- if(response)
- {
- if(!strlen(inputtext))
- {
- SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} Nessun ID dell'oggetto potenziamento é stato assegnato.");
- ShowPlayerDialog(playerid, DIALOG_SPOSTAPOTENZIAMENTOID, DIALOG_STYLE_INPUT, "{FFFFFF}ID potenziamento", "{FFFFFF}Inserisci l'ID del potenziamento che vuoi spostare", "Sposta", "Annulla");
- return 1;
- }
- if(!IsNumeric(inputtext))
- {
- SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} Il valore inserito non é un valore numerico.");
- ShowPlayerDialog(playerid, DIALOG_SPOSTAPOTENZIAMENTOID, DIALOG_STYLE_INPUT, "{FFFFFF}ID potenziamento", "{FFFFFF}Inserisci l'ID del potenziamento che vuoi spostare", "Sposta", "Annulla");
- return 1;
- }
- else
- {
- new Float:p_x, Float:p_y, Float:p_z, Float:p_angle, idpotenziamento = strval(inputtext), filepotenziamento[256];
- format(filepotenziamento, sizeof(filepotenziamento), DIRECTORY_POTENZIAMENTI, idpotenziamento);
- if(Potenziamento[idpotenziamento][InUso] == true) return SendClientMessageFormatted(playerid, -1, "{FF0000}Errore:{FFFFFF}Non puoi eliminare il potenziamento ID #%d poichè è attualmente in utilizzo.", idpotenziamento);
- else if(dini_Exists(filepotenziamento))
- {
- GetInFrontOfPlayer(playerid, 0.5, p_x, p_y, p_z, p_angle);
- p_z = p_z-1;
- SetDynamicObjectPos(Potenziamento[idpotenziamento][p_OggettoID], p_x, p_y, p_z);
- ModificaOggetto[playerid] = 11;
- EditDynamicObject(playerid, Potenziamento[idpotenziamento][p_OggettoID]);
- }
- else return SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} L'ID del potenziamento inserito non esiste.");
- }
- }
- else return ShowPlayerDialog(playerid, DIALOG_EDITORPOTENZIAMENTO, DIALOG_STYLE_LIST, "{FFFFFF}Editor potenziamenti", "{FFFFFF}Crea potenziamento\n{FFFFFF}Elimina potenziamento\n{FFFFFF}Sposta potenziamento\n{FFFFFF}Teletrasportarti al potenziamento\n{FFFFFF}Visualizza potenziamenti", "Seleziona", "Chiudi");
- return 1;
- }
- if(dialogid == DIALOG_TELETRASPORTATIPOTENZIAMENTO)
- {
- if(response)
- {
- if(!strlen(inputtext))
- {
- SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} Nessun ID dell'oggetto potenziamento é stato assegnato.");
- ShowPlayerDialog(playerid, DIALOG_TELETRASPORTATIPOTENZIAMENTO, DIALOG_STYLE_INPUT, "{FFFFFF}ID potenziamento", "{FFFFFF}Inserisci l'ID del potenziamento a cui vuoi teletrasportarti", "Teletrasportati", "Annulla");
- return 1;
- }
- if(!IsNumeric(inputtext))
- {
- SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} Il valore inserito non é un valore numerico.");
- ShowPlayerDialog(playerid, DIALOG_TELETRASPORTATIPOTENZIAMENTO, DIALOG_STYLE_INPUT, "{FFFFFF}ID potenziamento", "{FFFFFF}Inserisci l'ID del potenziamento a cui vuoi teletrasportarti", "Teletrasportati", "Annulla");
- return 1;
- }
- else
- {
- new idpotenziamento = strval(inputtext), filepotenziamento[256];
- format(filepotenziamento, sizeof(filepotenziamento), DIRECTORY_POTENZIAMENTI, idpotenziamento);
- if(dini_Exists(filepotenziamento))
- {
- SetPlayerPos(playerid, Potenziamento[idpotenziamento][p_X], Potenziamento[idpotenziamento][p_Y], Potenziamento[idpotenziamento][p_Z]+1);
- SetPlayerInterior(playerid, Potenziamento[idpotenziamento][p_Interior]);
- SetPlayerVirtualWorld(playerid, Potenziamento[idpotenziamento][p_VirtualWorld]);
- }
- else return SendClientMessage(playerid, -1, "{FF0000}Errore:{FFFFFF} L'ID del potenziamento inserito non esiste.");
- }
- }
- else return ShowPlayerDialog(playerid, DIALOG_EDITORPOTENZIAMENTO, DIALOG_STYLE_LIST, "{FFFFFF}Editor potenziamenti", "{FFFFFF}Crea potenziamento\n{FFFFFF}Elimina potenziamento\n{FFFFFF}Sposta potenziamento\n{FFFFFF}Teletrasportarti al potenziamento\n{FFFFFF}Visualizza potenziamenti", "Seleziona", "Chiudi");
- return 1;
- }
- if(dialogid == DIALOG_VISUALIZZAPOTENZIAMENTI)
- {
- if(response)
- {
- ShowPlayerDialog(playerid, DIALOG_EDITORPOTENZIAMENTO, DIALOG_STYLE_LIST, "{FFFFFF}Editor potenziamenti", "{FFFFFF}Crea potenziamento\n{FFFFFF}Elimina potenziamento\n{FFFFFF}Sposta potenziamento\n{FFFFFF}Teletrasportarti al potenziamento\n{FFFFFF}Visualizza potenziamenti", "Seleziona", "Chiudi");
- }
- return 1;
- }
- // OnPlayerEditDynamicObject
- case 11:
- {
- new idpotenziamento = GetIDPotenziamento(objectid), str_filepotenziamento[256], str_labelpotenziamento[100];
- if(response == EDIT_RESPONSE_CANCEL)
- {
- SetDynamicObjectPos(objectid, oldX, oldY, oldZ);
- SetDynamicObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
- Potenziamento[idpotenziamento][p_X] = oldX;
- Potenziamento[idpotenziamento][p_Y] = oldY;
- Potenziamento[idpotenziamento][p_Z] = oldZ;
- Potenziamento[idpotenziamento][p_RX] = oldRotX;
- Potenziamento[idpotenziamento][p_RY] = oldRotY;
- Potenziamento[idpotenziamento][p_RZ] = oldRotZ;
- Potenziamento[idpotenziamento][p_Interior] = GetPlayerInterior(playerid);
- Potenziamento[idpotenziamento][p_VirtualWorld] = GetPlayerVirtualWorld(playerid);
- format(str_labelpotenziamento, sizeof(str_labelpotenziamento), "{20B2AA}%s #%d\n{FFFFFF}(Premi Y)", GetNomePotenziamento(Potenziamento[idpotenziamento][p_Tipo]), idpotenziamento);
- if(Potenziamento[idpotenziamento][p_LabelID] != Text3D:INVALID_3DTEXT_ID) DestroyDynamic3DTextLabel(Potenziamento[idpotenziamento][p_LabelID]);
- Potenziamento[idpotenziamento][p_LabelID] = CreateDynamic3DTextLabel(str_labelpotenziamento, -1, Potenziamento[idpotenziamento][p_X], Potenziamento[idpotenziamento][p_Y], Potenziamento[idpotenziamento][p_Z]+1.5, 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid), -1);
- SendClientMessageFormatted(playerid, -1, "{32CD32}Successo:{FFFFFF} Hai annullato la modifica del potenziamento (%s) #%d.", GetNomePotenziamento(Potenziamento[idpotenziamento][p_Tipo]), idpotenziamento);
- format(str_filepotenziamento, sizeof(str_filepotenziamento), DIRECTORY_POTENZIAMENTI, idpotenziamento);
- if(!dini_Exists(str_filepotenziamento)) dini_Create(str_filepotenziamento);
- SalvaPotenziamentoSingolo(idpotenziamento);
- }
- else if(response == EDIT_RESPONSE_FINAL)
- {
- SetDynamicObjectPos(objectid,x, y, z);
- SetDynamicObjectRot(objectid, rx, ry, rz);
- Potenziamento[idpotenziamento][p_X] = x;
- Potenziamento[idpotenziamento][p_Y] = y;
- Potenziamento[idpotenziamento][p_Z] = z;
- Potenziamento[idpotenziamento][p_RX] = rx;
- Potenziamento[idpotenziamento][p_RY] = ry;
- Potenziamento[idpotenziamento][p_RZ] = rz;
- Potenziamento[idpotenziamento][p_Interior] = GetPlayerInterior(playerid);
- Potenziamento[idpotenziamento][p_VirtualWorld] = GetPlayerVirtualWorld(playerid);
- format(str_labelpotenziamento, sizeof(str_labelpotenziamento), "{20B2AA}%s #%d\n{FFFFFF}(Premi Y)", GetNomePotenziamento(Potenziamento[idpotenziamento][p_Tipo]), idpotenziamento);
- if(Potenziamento[idpotenziamento][p_LabelID] != -Text3D:INVALID_3DTEXT_ID) DestroyDynamic3DTextLabel(Potenziamento[idpotenziamento][p_LabelID]);
- Potenziamento[idpotenziamento][p_LabelID] = CreateDynamic3DTextLabel(str_labelpotenziamento, -1, Potenziamento[idpotenziamento][p_X], Potenziamento[idpotenziamento][p_Y], Potenziamento[idpotenziamento][p_Z]+1.5, 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid), -1);
- SendClientMessageFormatted(playerid, -1, "{32CD32}Successo:{FFFFFF} Hai modificato la posizione del potenziamento (%s) #%d.", GetNomePotenziamento(Potenziamento[idpotenziamento][p_Tipo]), idpotenziamento);
- format(str_filepotenziamento, sizeof(str_filepotenziamento), DIRECTORY_POTENZIAMENTI, idpotenziamento);
- if(!dini_Exists(str_filepotenziamento)) dini_Create(str_filepotenziamento);
- SalvaPotenziamentoSingolo(idpotenziamento);
- }
- }
- // In OnGameModeInit
- CaricaPotenziamenti();
- // In fondo (controlla se GetInFrontOfPlayer è già presente )
- stock GetIDPotenziamento(objectid_p)
- {
- new id_p = -1;
- foreach(new a_p : Potenziamenti_Esistenti)
- {
- if(Potenziamento[a_p][p_OggettoID] == objectid_p)
- {
- id_p = a_p;
- break;
- }
- }
- return id_p;
- }
- stock AzzeraPotenziamentoEnum(id_potenziamento)
- {
- Potenziamento[id_potenziamento][p_OggettoID] = 0;
- Potenziamento[id_potenziamento][p_LabelID] = Text3D:INVALID_3DTEXT_ID;
- Potenziamento[id_potenziamento][p_Tipo] = 0;
- //funzione che leva il giocatore da quel oggetto
- Potenziamento[id_potenziamento][p_X] = 0.0;
- Potenziamento[id_potenziamento][p_Y] = 0.0;
- Potenziamento[id_potenziamento][p_Z] = 0.0;
- Potenziamento[id_potenziamento][p_RX] = 0.0;
- Potenziamento[id_potenziamento][p_RY] = 0.0;
- Potenziamento[id_potenziamento][p_RZ] = 0.0;
- Potenziamento[id_potenziamento][p_Interior] = 0;
- Potenziamento[id_potenziamento][p_VirtualWorld] = 0;
- return 1;
- }
- stock GetNomePotenziamento(tipoid)
- {
- new str_nomepotenziamento[256];
- switch(tipoid)
- {
- case POTENZIAMENTO_TAPISRULANT: str_nomepotenziamento = "Tapis Rulant";
- case POTENZIAMENTO_CYCLETTE: str_nomepotenziamento = "Cyclette";
- }
- return str_nomepotenziamento;
- }
- stock SalvaPotenziamentoSingolo(pid)
- {
- new filepotenziamento[256];
- format(filepotenziamento, sizeof(filepotenziamento), DIRECTORY_POTENZIAMENTI, pid);
- if(dini_Exists(filepotenziamento))
- {
- dini_IntSet(filepotenziamento, "Tipo", Potenziamento[pid][p_Tipo]);
- dini_FloatSet(filepotenziamento, "Posizione X", Potenziamento[pid][p_X]);
- dini_FloatSet(filepotenziamento, "Posizione Y", Potenziamento[pid][p_Y]);
- dini_FloatSet(filepotenziamento, "Posizione Z", Potenziamento[pid][p_Z]);
- dini_FloatSet(filepotenziamento, "Rotazione X", Potenziamento[pid][p_RX]);
- dini_FloatSet(filepotenziamento, "Rotazione Y", Potenziamento[pid][p_RY]);
- dini_FloatSet(filepotenziamento, "Rotazione Z", Potenziamento[pid][p_RZ]);
- dini_IntSet(filepotenziamento, "Interior", Potenziamento[pid][p_Interior]);
- dini_IntSet(filepotenziamento, "VirtualWorld", Potenziamento[pid][p_VirtualWorld]);
- printf("Potenziamento ID: %d (%s) Salvato.", pid, GetNomePotenziamento(Potenziamento[pid][p_Tipo]));
- }
- return 1;
- }
- stock CaricaPotenziamenti()
- {
- for(new i = 0; i < MAX_POTENZIAMENTI+1; i++)
- {
- new filepotenziamento[256], str_labelpotenziamento[256];
- format(filepotenziamento, sizeof(filepotenziamento), DIRECTORY_POTENZIAMENTI, i);
- if(dini_Exists(filepotenziamento))
- {
- Potenziamento[i][p_Tipo] = dini_Int(filepotenziamento, "Tipo");
- Potenziamento[i][p_X] = dini_Float(filepotenziamento, "Posizione X");
- Potenziamento[i][p_Y] = dini_Float(filepotenziamento, "Posizione Y");
- Potenziamento[i][p_Z] = dini_Float(filepotenziamento, "Posizione Z");
- Potenziamento[i][p_RX] = dini_Float(filepotenziamento, "Posizione RX");
- Potenziamento[i][p_RY] = dini_Float(filepotenziamento, "Posizione RY");
- Potenziamento[i][p_RZ] = dini_Float(filepotenziamento, "Posizione RZ");
- Potenziamento[i][p_Interior] = dini_Int(filepotenziamento, "Interior");
- Potenziamento[i][p_VirtualWorld] = dini_Int(filepotenziamento, "VirtualWorld");
- format(str_labelpotenziamento, sizeof(str_labelpotenziamento), "{20B2AA}%s #%d\n{FFFFFF}(Premi Y)", GetNomePotenziamento(Potenziamento[i][p_Tipo]), i);
- Potenziamento[i][p_LabelID] = CreateDynamic3DTextLabel(str_labelpotenziamento, -1, Potenziamento[i][p_X], Potenziamento[i][p_Y], Potenziamento[i][p_Z]+1.5, 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, Potenziamento[i][p_VirtualWorld], Potenziamento[i][p_Interior], -1);
- Potenziamento[i][p_OggettoID] = CreateDynamicObject(Potenziamento[i][p_Tipo], Potenziamento[i][p_X], Potenziamento[i][p_Y], Potenziamento[i][p_Z], Potenziamento[i][p_RX], Potenziamento[i][p_RY], Potenziamento[i][p_RZ]);
- Iter_Add(Potenziamenti_Esistenti, i);
- printf("Potenziamento ID: %d (%s) Caricato.", i, GetNomePotenziamento(Potenziamento[i][p_Tipo]));
- }
- }
- return 1;
- }
- stock GetInFrontOfPlayer(playerid, Float:distance, &Float:xposizione, &Float:yposizione, &Float:zposizione, &Float:angle)
- {
- GetPlayerPos(playerid, xposizione, yposizione, zposizione);
- GetPlayerFacingAngle(playerid, angle);
- xposizione += (distance * floatsin(-angle, degrees));
- yposizione += (distance * floatcos(-angle, degrees));
- }
- //OnGamemodeExit
- foreach(new pid : Potenziamenti_Esistenti) { SalvaPotenziamentoSingolo(pid);}
- // Per aggiungere un nuovo oggetto
- // Aggionare:
- //GetNomePotenziamento
- //DIALOG_EDITORPOTENZIAMENTO E DIALOG_SCEGLIPOTENZIAMENTOTIPO
Add Comment
Please, Sign In to add comment