Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //oben
- #define MAX_DEFINED_AUFTRAGE 128
- new DialogTemp[MAX_PLAYERS][50];
- new DialogTempIndex[MAX_PLAYERS];
- enum AuftragSystem
- {
- auftragid, // standart = -1
- a_autor[MAX_PLAYER_NAME+1],
- a_description[30], // 31 max
- a_auftragtext[256], // im Dialog
- a_weiterleitung, // referezenz, Dialog, Positon, ETC
- Float:a_PosX,
- Float:a_PosY,
- Float:a_PosZ,
- a_position // wird eine Positon benötigt ja / nein
- }
- new Auftrag[MAX_DEFINED_AUFTRAGE][AuftragSystem];
- OnGameModeInit()
- {
- for(new i=0; i<sizeof(Auftrag); i++)
- {
- Auftrag[i][auftragid]=-1;
- }
- }
- stock AddAuftrag(titel[],autor[],auftragtext[],position,Float:AuftragX,Float:AuftragY,Float:AuftragZ) // && listauftrage
- {
- new i = FindFreeAuftragID();
- if(i == -1) return 0;
- format(Auftrag[i][a_autor],MAX_PLAYER_NAME+1,autor);
- format(Auftrag[i][a_description],30,titel);
- format(Auftrag[i][a_auftragtext],256,auftragtext);
- Auftrag[i][auftragid] = i;
- Auftrag[i][a_position] = position;
- new subString[148];
- format(subString, sizeof(subString), "Auftrag erstellt, ID: %d, Länge: %d, Text: %s ",Auftrag[i][auftragid],strlen(Auftrag[i][a_description]),Auftrag[i][a_description]);
- SendClientMessageToAll(-1,subString);
- if(position)
- {
- Auftrag[i][a_PosX] = AuftragX;
- Auftrag[i][a_PosY] = AuftragY;
- Auftrag[i][a_PosZ] = AuftragZ;
- }
- AddMenuItem(teleportmenu, 0,Auftrag[i][a_description]);
- return 1;
- //ListAuftrage();
- }//mitgettime
- ocmd:auftragadden(playerid,params[])
- {
- new titel[30],text[100],koordinaten;
- if(sscanf(params, "ssd", titel,text,koordinaten)) return SCM(playerid, COLOR_GREY, "/auftragadden [titel] [Beschreibung::MAX__100] [Koordinaten? 0 / 1]");
- // AddAuftrag("Farmer","DrWho","Ich suche einen Farmer.",0,0,0,0); // Legendär
- AddAuftrag(titel,GetName(playerid),text,koordinaten,0,0,0);
- return 1;
- }
- ocmd:auftrage(playerid,params[])
- {
- new subString[128],count;
- DialogTempIndex[playerid] = 0;
- for(new i=0; i<sizeof(Auftrag); i++)
- {
- if(Auftrag[i][auftragid] != -1)
- {
- //SCM(playerid,-1,"Auftrag ausgeführt!");
- /* format(subString, sizeof(subString), "ID: %d, Länge: %d, Text: %s ",Auftrag[i][auftragid],strlen(Auftrag[i][a_description]),Auftrag[i][a_description]);
- SCM(playerid,-1,subString);*/
- count++;
- DialogTemp[playerid][DialogTempIndex[playerid]++] = i;
- }
- }
- if(count == 0) return SCM(playerid,COOLRED,"Es konnte kein Auftrag gefunden werden!");
- ShowMenuForPlayer(teleportmenu,playerid);
- return 1;
- }
- //remove auftrag? or not1
- stock FindFreeAuftragID()
- {
- for(new i=0; i<sizeof(Auftrag); i++)
- {
- if(Auftrag[i][auftragid]==-1) return i;
- }
- return -1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- TogglePlayerControllable(playerid,true);
- new Menu:CurrentMenu = GetPlayerMenu(playerid);
- if(CurrentMenu == teleportmenu)
- {
- new i = DialogTemp[playerid][row];
- new string[84],string2[312]; // "Aufrag von " + string wie in C
- format(string,sizeof(string),"Auftrag von{B40404} %s",Auftrag[i][a_autor]);
- format(string2,sizeof(string2),"%s %d",Auftrag[i][a_auftragtext],Auftrag[i][auftragid]);
- ShowPlayerDialog(playerid, DIALOG_MENU_ROW, DIALOG_STYLE_MSGBOX, string, string2, "Contact", "Go Back");
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement