Advertisement
Guest User

Untitled

a guest
Jun 27th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.75 KB | None | 0 0
  1. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  2. {
  3. switch(dialogid)
  4. {
  5. case DIALOG_REGISTER:
  6. {
  7. if(response)
  8. {
  9. if(strlen(inputtext) < 6)
  10. {
  11. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Coming Soon", "{FFFFFF}Das Passwort muss mindestens eine Länge von 6 Zeichen haben.\n\nWillkommen auf "SERVER_NAME"\n\nDein Account wurde in der Datenbank gefunden.\nGib dein Passwort niemals weiter. Auch nicht an Admins oder Supporter!\nDu kannst dich nun einloggen. Bitte gib dein Passwort ein:","Erstellen","");
  12. return 1;
  13. }
  14. new query[256];
  15. new wHash[129];
  16. WP_Hash(wHash, sizeof(wHash), inputtext);
  17. mysql_format(MySqlConnection, query, sizeof(query), "INSERT INTO `server_accounts` (Name, NewPasswort) VALUES ('%s', '%e')", GetName(playerid), wHash);
  18. mysql_tquery(MySqlConnection, query, "", "");
  19.  
  20. GotMD5[playerid] = 1;
  21. PlayerPlaySound(playerid, 1188, 0.0, 0.0, 0.0);
  22. SetPlayerScore(playerid, DEFAULT_LEVEL);
  23. Spieler[playerid][pLevel] = DEFAULT_LEVEL;
  24. Spieler[playerid][pSpawnHealth] = DEFAULT_SPAWNHEALTH;
  25. SetMoney(playerid, DEFAULT_MONEY);
  26. Spieler[playerid][pTutorial] = 1;
  27. Spieler[playerid][pLoggedIn] = true;
  28.  
  29. Spieler[playerid][pNumber] = random(10000) + random(45542);
  30. SavePlayer(playerid);
  31. SpawnPlayerEx(playerid);
  32. }
  33. if(!response)
  34. {
  35. Kick(playerid);
  36. return 1;
  37. }
  38. }
  39. case DIALOG_LOGIN:
  40. {
  41. if(response)
  42. {
  43. if(!strlen(inputtext))
  44. {
  45. pPassAttempt[playerid] ++;
  46. if(pPassAttempt[playerid] >= 3)
  47. {
  48. SendClientMessage(playerid, COLOR_WHITE, "{9AB3D0}Du wurdest vom Server gekickt, da du dein Passwort zu oft falsch eingegeben hast.");
  49. Kick(playerid);
  50. return 1;
  51. }
  52. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Coming Soon", "{FFEE00}Falsches Passwort\n\n{FFFFFF}Willkommen auf "SERVER_NAME"\n\nDein Account wurde in der Datenbank gefunden.\nGib dein Passwort niemals weiter. Auch nicht an Admins oder Supporter!\nDu kannst dich nun einloggen. Bitte gib dein Passwort ein:","OK"," ");
  53. return 1;
  54. }
  55. new query[256];
  56. if(GotMD5[playerid] == 0){
  57. mysql_format(MySqlConnection, query, sizeof(query), "SELECT COUNT(*) AS `count` FROM `server_accounts` WHERE `Name` = '%s' AND `Passwort` = MD5('%s')",GetName(playerid),inputtext);
  58. mysql_function_query(MySqlConnection, query, true, "LoadPlayerDataSequence", "dd", playerid, 2);
  59. }else{
  60. new wHash[129];
  61. WP_Hash(wHash, sizeof(wHash), inputtext);
  62. mysql_format(MySqlConnection, query, sizeof(query), "SELECT COUNT(*) AS `count` FROM `server_accounts` WHERE `Name` = '%s' AND `NewPasswort` ='%e'",GetName(playerid),wHash);
  63. mysql_function_query(MySqlConnection, query, true, "LoadPlayerDataSequence", "dd", playerid, 2);
  64. }
  65. }
  66. if(!response)
  67. {
  68. Kick(playerid);
  69. return 1;
  70. }
  71. return 1;
  72. }
  73. case DIALOG_TUTORIAL_1:
  74. {
  75. if(response)
  76. {
  77. ClearPlayerChat(playerid, 20);
  78. Spieler[playerid][pGeschlecht] = 1;
  79. SendClientMessage(playerid, COLOR_WHITE, "Du kannst deinen Skin mit der {ED5400}Shift {FFFFFF}Taste wechseln");
  80. SendClientMessage(playerid, COLOR_WHITE, "Mit der {ED5400}Enter {FFFFFF}Taste wählst du den Skin aus.");
  81. }
  82. if(!response)
  83. {
  84. ClearPlayerChat(playerid, 20);
  85. Spieler[playerid][pGeschlecht] = 2;
  86. SendClientMessage(playerid, COLOR_WHITE, "Du kannst deinen Skin mit der {ED5400}Shift {FFFFFF}Taste wechseln");
  87. SendClientMessage(playerid, COLOR_WHITE, "Mit der {ED5400}Enter {FFFFFF}Taste wählst du den Skin aus.");
  88. }
  89. }
  90. case DIALOG_FCARSELL:
  91. {
  92. new query[128];
  93. if(response)
  94. {
  95. new vehicleid = GetPlayerVehicleID(playerid);
  96. new fV = IsAFraktionsVeh(vehicleid);
  97. if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du bist in keinem Fahrzeug.");
  98. if(Spieler[playerid][pRank] < RANG_COLEADER)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du musst mindestens den Co-Leader Rank haben.");
  99. if(Spieler[playerid][pFraktion] != fVehicle[fV][vehFraktion])return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Dieses Fahrzeug gehört nicht zu deiner Fraktion.");
  100. if(fVehicle[fV][modelid] < 400)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Nicht im Fahrzeug.");
  101. if(GetPlayerVehicleSeat(playerid) != 0)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du musst der Fahrer dieses Fahrzeug sein.");
  102. if(vehicleid != pFCarSellID[playerid])return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du sitzt nicht mehr im eigentlichen Fahrzeug.");
  103. if(IsValidVehicle(fVehicle[fV][vehID]))
  104. {
  105. fVehicle[fV][modelid] = 0;
  106. fVehicle[fV][vehPosX] = -1;
  107. fVehicle[fV][vehPosY] = -1;
  108. fVehicle[fV][vehPosZ] = -1;
  109. fVehicle[fV][vehPosA] = -1;
  110. fVehicle[fV][vehColor1] = -1;
  111. fVehicle[fV][vehColor2] = -1;
  112. fVehicle[fV][vehPaintjob] = -1;
  113. fVehicle[fV][vehSpoiler] = 0;
  114. fVehicle[fV][vehHood] = 0;
  115. fVehicle[fV][vehRoof] = 0;
  116. fVehicle[fV][vehSideskirt] = 0;
  117. fVehicle[fV][vehLamps] = 0;
  118. fVehicle[fV][vehNitro] = 0;
  119. fVehicle[fV][vehExhaust] = 0;
  120. fVehicle[fV][vehWheels] = 0;
  121. fVehicle[fV][vehStereo] = 0;
  122. fVehicle[fV][vehHydraulics] = 0;
  123. fVehicle[fV][vehFrontBumper] = 0;
  124. fVehicle[fV][vehRearBumper] = 0;
  125. fVehicle[fV][vehVentRight] = 0;
  126. fVehicle[fV][vehVentLeft] = 0;
  127. GiveMoney(playerid, fVehicle[fV][vehPreis]/2);
  128. fVehicle[fV][vehPreis] = 0;
  129. DestroyDynamicObject(fVehicle[fV][vehNeon1]);
  130. DestroyDynamicObject(fVehicle[fV][vehNeon2]);
  131. DestroyObject(fVehicle[fV][vehSiren1]);
  132. fVehicle[fV][vehNeon1] = INVALID_OBJECT_ID;
  133. fVehicle[fV][vehNeon2] = INVALID_OBJECT_ID;
  134. fVehicle[fV][vehSiren1] = INVALID_OBJECT_ID;
  135. fVehicle[fV][vehNeonID] = 0;
  136. fVehicle[fV][vehFraktion] = 0;
  137. DeleteVehicle(fVehicle[fV][vehID]);
  138. fVehicle[fV][vehID] = -1;
  139. mysql_format(MySqlConnection, query, sizeof(query), "DELETE FROM `server_fvehicles` WHERE `id` = '%d'", fVehicle[fV][dbID]);
  140. mysql_tquery(MySqlConnection, query, "", "");
  141. SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}Du hast das Fraktionsfahrzeug erfolgreich verkauft.");
  142. pFCarSellID[playerid] = -1;
  143. }
  144. }
  145. }
  146. case DIALOG_SPAWNCHANGE:
  147. {
  148. if(response)
  149. {
  150. if(listitem == 0)// Zivilisten Spawn LS
  151. {
  152. Spieler[playerid][pSpawnChange] = 0;
  153. SendClientMessage(playerid, COLOR_WHITE, "{33AA33}Du spawnst ab sofort am Zivilisten Spawn LS");
  154. }
  155. if(listitem == 1)// Zivilisten Spawn SF
  156. {
  157. Spieler[playerid][pSpawnChange] = 1;
  158. SendClientMessage(playerid, COLOR_WHITE, "{33AA33}Du spawnst ab sofort am Hauptbahnhof SF");
  159. }
  160. if(listitem == 2)// Zivilisten Spawn LV
  161. {
  162. Spieler[playerid][pSpawnChange] = 2;
  163. SendClientMessage(playerid, COLOR_WHITE, "{33AA33}Du spawnst ab sofort am Hauptbahnhof LV");
  164. }
  165. if(listitem == 3) // Fraktions Spawn
  166. {
  167. if(Spieler[playerid][pFraktion] == 0)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du bist in keiner Fraktion.");
  168. Spieler[playerid][pSpawnChange] = 3;
  169. SendClientMessage(playerid, COLOR_WHITE, "{33AA33}Du spawnst ab sofort in der Fraktion´s Base.");
  170. }
  171. if(listitem == 4)// Haus Spawn
  172. {
  173. Spieler[playerid][pSpawnChange] = 4;
  174. SendClientMessage(playerid, COLOR_WHITE, "{33AA33}Du spawnst ab sofort am Haus.");
  175. SendClientMessage(playerid, COLOR_WHITE, "{AA3333}INFO{FFFFFF}: {33AA33}Du spwanst nur beim Haus wen du ein Haus besitzt oder in einem Haus eingemietet bist.");
  176. }
  177. }
  178. }
  179. case DIALOG_CONFIGRANK:
  180. {
  181. if(response)
  182. {
  183. if(!(Spieler[playerid][pRank] == RANG_LEADER))return 1;
  184. pconfigRank[playerid] = listitem;
  185. new string[32], frakID = Spieler[playerid][pFraktion];
  186. if(listitem == 0)format(string, sizeof(string), "%s", fRang[frakID][fRangName1]);
  187. else if(listitem == 1)format(string, sizeof(string), "%s", fRang[frakID][fRangName2]);
  188. else if(listitem == 2)format(string, sizeof(string), "%s", fRang[frakID][fRangName3]);
  189. else if(listitem == 3)format(string, sizeof(string), "%s", fRang[frakID][fRangName4]);
  190. else if(listitem == 4)format(string, sizeof(string), "%s", fRang[frakID][fRangName5]);
  191. else if(listitem == 5)format(string, sizeof(string), "%s", fRang[frakID][fRangName6]);
  192. else if(listitem == 6)format(string, sizeof(string), "%s", fRang[frakID][fRangName7]);
  193. else if(listitem == 7)format(string, sizeof(string), "%s", fRang[frakID][fRangName8]);
  194. else if(listitem == 8)format(string, sizeof(string), "%s", fRang[frakID][fRangName9]);
  195. else if(listitem == 9)format(string, sizeof(string), "%s", fRang[frakID][fRangName10]);
  196. else if(listitem == 10)format(string, sizeof(string), "%s", fRang[frakID][fRangName11]);
  197. strdel(DialogString, 0, sizeof(DialogString));
  198. format(DialogString, sizeof(DialogString), "{FFFFFF}Derzeitiger Rang-Name: %s\n", string);
  199. strcat(DialogString, "{FFFFFF}Bitte gebe nun den neuen Namen für den Rang an! (max. 32 Zeichen!)");
  200. ShowPlayerDialog(playerid, DIALOG_CONFIGRANK_NAME, DIALOG_STYLE_INPUT, "Fraktion: Ränge Einstellen", DialogString, "Ändern", "Zurück");
  201. }
  202. }
  203. case DIALOG_CONFIGRANK_NAME:
  204. {
  205. new string[128], rangString[32];
  206. if(response)
  207. {
  208. new frakID = Spieler[playerid][pFraktion];
  209. if(!(Spieler[playerid][pRank] == RANG_LEADER))return 1;
  210. if(!strlen(inputtext))
  211. {
  212. SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Fehlerhafte Eingabe.");
  213. return 1;
  214. }
  215. if(pconfigRank[playerid] == 0)format(rangString, sizeof(rangString), "%s", fRang[frakID][fRangName1]);
  216. else if(pconfigRank[playerid] == 1)format(rangString, sizeof(rangString), "%s", fRang[frakID][fRangName2]);
  217. else if(pconfigRank[playerid] == 2)format(rangString, sizeof(rangString), "%s", fRang[frakID][fRangName3]);
  218. else if(pconfigRank[playerid] == 3)format(rangString, sizeof(rangString), "%s", fRang[frakID][fRangName4]);
  219. else if(pconfigRank[playerid] == 4)format(rangString, sizeof(rangString), "%s", fRang[frakID][fRangName5]);
  220. else if(pconfigRank[playerid] == 5)format(rangString, sizeof(rangString), "%s", fRang[frakID][fRangName6]);
  221. else if(pconfigRank[playerid] == 6)format(rangString, sizeof(rangString), "%s", fRang[frakID][fRangName7]);
  222. else if(pconfigRank[playerid] == 7)format(rangString, sizeof(rangString), "%s", fRang[frakID][fRangName8]);
  223. else if(pconfigRank[playerid] == 8)format(rangString, sizeof(rangString), "%s", fRang[frakID][fRangName9]);
  224. else if(pconfigRank[playerid] == 9)format(rangString, sizeof(rangString), "%s", fRang[frakID][fRangName10]);
  225. else if(pconfigRank[playerid] == 10)format(rangString, sizeof(rangString), "%s", fRang[frakID][fRangName11]);
  226. format(string, sizeof(string), COLOR_HEX_WHITE"Du hast Rang %s in %s umbenannt!", rangString, inputtext);
  227. SendClientMessage(playerid, COLOR_WHITE, string);
  228. switch(pconfigRank[playerid])
  229. {
  230. case 0: format(fRang[frakID][fRangName1], 32, inputtext);
  231. case 1: format(fRang[frakID][fRangName2], 32, inputtext);
  232. case 2: format(fRang[frakID][fRangName3], 32, inputtext);
  233. case 3: format(fRang[frakID][fRangName4], 32, inputtext);
  234. case 4: format(fRang[frakID][fRangName5], 32, inputtext);
  235. case 5: format(fRang[frakID][fRangName6], 32, inputtext);
  236. case 6: format(fRang[frakID][fRangName7], 32, inputtext);
  237. case 7: format(fRang[frakID][fRangName8], 32, inputtext);
  238. case 8: format(fRang[frakID][fRangName9], 32, inputtext);
  239. case 9: format(fRang[frakID][fRangName10], 32, inputtext);
  240. case 10: format(fRang[frakID][fRangName11], 32, inputtext);
  241. }
  242. SaveFRank(frakID);
  243. }
  244. }
  245. case DIALOG_INVITE:
  246. {
  247. if(response)
  248. {
  249. Spieler[playerid][pFraktion] = Spieler[playerid][pAcceptInvite];
  250. Spieler[playerid][pRank] = 1;
  251. Spieler[playerid][pAcceptInvite] = -255;
  252.  
  253. for(new xS=0;xS<MAX_SKIN_DATA;xS++)
  254. {
  255. if(SkinData[xS][skinGender] == Spieler[playerid][pGeschlecht] && SkinData[xS][skinFraktion] == Spieler[playerid][pFraktion])
  256. {
  257. pChoosedSkin[playerid] = SkinData[xS][skinID];
  258. pChoosedID[playerid] = xS;
  259. SetPlayerSkin(playerid, pChoosedSkin[playerid]);
  260. break;
  261. }
  262. }
  263.  
  264. pClothesPlace[playerid] = 2;
  265. SetPlayerCameraPos(playerid, 442.5763,-1754.9786,9.4103);
  266. SetPlayerCameraLookAt(playerid, 438.7863,-1750.7356,8.8875);
  267. SetPlayerPos(playerid, 438.7863,-1750.7356,8.8875);
  268. SetPlayerFacingAngle(playerid, 221.7693);
  269. SetPlayerInterior(playerid, 0);
  270. SetPlayerVirtualWorld(playerid, 2000+playerid);
  271. FreezePlayer(playerid);
  272. SendClientMessage(playerid, COLOR_WHITE, "Du kannst deinen Skin mit der {ED5400}Shift {FFFFFF}Taste wechseln");
  273. SendClientMessage(playerid, COLOR_WHITE, "Mit der {ED5400}Enter {FFFFFF}Taste wählst du den Skin aus.");
  274. return 1;
  275. }
  276. if(!response)
  277. {
  278. SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du hast die Anfrage abgelehnt.");
  279. return 1;
  280. }
  281. }
  282. case DIALOG_HELP:
  283. {
  284. if(response)
  285. {
  286. switch(listitem)
  287. {
  288. case 0: //ALLGEMEIN
  289. {
  290. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** ACCOUNT *** {00CC00}/animlist /stats /messages /hitsound /togdeath /skilltree /tog /handsup /pay /time /buy /scheine");
  291. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** GENERAL *** {00CC00}/heiraten /muteinfo /gutschein /spawnchange /gps /dropweapons /letter /carradio /uninvite");
  292. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** GENERAL *** {00CC00}/support /accept /eject /usedrugs /contract /fill /service /taxis /music /races /leaders");
  293. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** GENERAL *** {00CC00}/selldrugs /seed /materials /sellgun /sellmats /activity /carpark /robres /showres");
  294. }
  295. case 1: //FRAKTION
  296. {
  297. if(Spieler[playerid][pFraktion] == 0)return SendClientMessage(playerid, COLOR_GREY, "{AFAFAF}Du bist in keiner Fraktion.");
  298. else if(Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pFraktion] == 2 || Spieler[playerid][pFraktion] == 3)
  299. {
  300. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** FRAKTION *** {00CC00}/undercover /arrest /grab /uncuff /cuff /wanteds /frisk /ticket /take");
  301. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** FRAKTION *** {00CC00}(/d)epartment (/m)egaphone (/su)spect /clear /takelicense /licensepoints");
  302. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** FRAKTION *** {00CC00}/csperre /dsperre /dasperre /cnband /dnband /danband /sperrinfo");
  303. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** FRAKTION *** {00CC00}/deatharrest /deathprison /offlinearrest /offlineprison /ucl /gov /destroy (/r)adio /members");
  304. }
  305. else if(Spieler[playerid][pFraktion] == 4)
  306. {
  307. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** FRAKTION *** {00CC00}/paket /heal /notruf /wiederbeleben /members (/m)egaphone (/d)epartment (/r)adio");
  308. }
  309. }
  310. case 2: //HANDY
  311. {
  312. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** HANDY *** {00CC00}/call /sms (/p)ickup (/h)angup /number");
  313. }
  314. case 3: //HAUS
  315. {
  316. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** HAUS *** {00CC00}/confighouse /buyhouse /renthouse /unrent");
  317. }
  318. case 4: //MIETER
  319. {
  320. SendClientMessage(playerid, COLOR_WHITE, "{3592D7}*** MIETE *** {00CC00}/unrent /enter /exit /home");
  321. }
  322. }
  323. }
  324. }
  325. case DIALOG_CREATE_HOUSE_PREIS:
  326. {
  327. new preis = strval(inputtext), query[128];
  328. if(!response)
  329. {
  330. if(Haus[pCreateHouse[playerid]][hCreated] == 1)
  331. {
  332. format(query, sizeof(query), "DELETE FROM `server_houses` WHERE id = '%d'", pCreateHouse[playerid]);
  333. mysql_function_query(MySqlConnection, query, false, "", "");
  334. mysql_free_result();
  335. DestroyDynamic3DTextLabel(Haus[pCreateHouse[playerid]][hText]);
  336. Haus[pCreateHouse[playerid]][hText] = Text3D:INVALID_3DTEXT_ID;
  337. DestroyPickup(Haus[pCreateHouse[playerid]][hPickup]);
  338. Haus[pCreateHouse[playerid]][hCreated] = 0;
  339. Haus[pCreateHouse[playerid]][EnterX] = 0.0;
  340. Haus[pCreateHouse[playerid]][EnterY] = 0.0;
  341. Haus[pCreateHouse[playerid]][EnterZ] = 0.0;
  342. Haus[pCreateHouse[playerid]][ExitX] = 0.0;
  343. Haus[pCreateHouse[playerid]][ExitY] = 0.0;
  344. Haus[pCreateHouse[playerid]][ExitZ] = 0.0;
  345. Haus[pCreateHouse[playerid]][hOwned] = 0;
  346. strmid(Haus[pCreateHouse[playerid]][hBesitzer], "Niemand", 0, strlen("Niemand"), 32);
  347. strmid(Haus[pCreateHouse[playerid]][hName], "Haus", 0, strlen("Haus"), 32);
  348. Haus[pCreateHouse[playerid]][hPreis] = 0;
  349. Haus[pCreateHouse[playerid]][hMieten] = 0;
  350. Haus[pCreateHouse[playerid]][hLock] = 1;
  351. Haus[pCreateHouse[playerid]][hMietPreis] = 0;
  352. Haus[pCreateHouse[playerid]][hInterior] = -255;
  353. Haus[pCreateHouse[playerid]][hKasse] = 0;
  354. pCreateHouse[playerid] = INVALID_HOUSE_KEY;
  355. SendClientMessage(playerid, COLOR_GREY, "Erstellung wurde abgebrochen.");
  356. return 1;
  357. }
  358. }
  359. if(response)
  360. {
  361. if(!strlen(inputtext))
  362. {
  363. ShowPlayerDialog(playerid, DIALOG_CREATE_HOUSE_PREIS, DIALOG_STYLE_INPUT, "Hauserstellung - Preis", "Bitte gib an wie teuer das Haus sein soll:", "Weiter", "Löschen");
  364. return 1;
  365. }
  366. if(!IsNumeric(inputtext))
  367. {
  368. ShowPlayerDialog(playerid, DIALOG_CREATE_HOUSE_PREIS, DIALOG_STYLE_INPUT, "Hauserstellung - Preis", "Bitte gib an wie teuer das Haus sein soll:", "Weiter", "Löschen");
  369. return 1;
  370. }
  371. new homestring[256];
  372. Haus[pCreateHouse[playerid]][hPreis] = preis;
  373. for(new i=0;i<sizeof(Interiors);i++)
  374. {
  375. strcat(homestring, Interiors[i][hInnenraum]);
  376. strcat(homestring, "\n");
  377. }
  378. ShowPlayerDialog(playerid, DIALOG_CREATE_HOUSE_INTERIOR, DIALOG_STYLE_LIST, "Hauserstellung - Innenraum", homestring, "Auswählen", "Zurück");
  379. UpdateHouseLabel(pCreateHouse[playerid], 0);
  380. }
  381. }
  382. case DIALOG_CREATE_HOUSE_INTERIOR:
  383. {
  384. new string[256];
  385. if(response)
  386. {
  387. Haus[pCreateHouse[playerid]][hInterior] = Interiors[listitem][hInt];
  388. Haus[pCreateHouse[playerid]][ExitX] = Interiors[listitem][intX];
  389. Haus[pCreateHouse[playerid]][ExitY] = Interiors[listitem][intY];
  390. Haus[pCreateHouse[playerid]][ExitZ] = Interiors[listitem][intZ];
  391. format(string, sizeof(string), "Preis: $%d\nInterior ID: %d\nExitX: %f\nExitY: %f\nExitZ: %f\n\nGebe nun die Beschreibung für das Haus an:",
  392. Haus[pCreateHouse[playerid]][hPreis], Haus[pCreateHouse[playerid]][hInterior], Haus[pCreateHouse[playerid]][ExitX], Haus[pCreateHouse[playerid]][ExitY], Haus[pCreateHouse[playerid]][ExitZ]);
  393. ShowPlayerDialog(playerid, DIALOG_CREATE_HOUSE_NAME, DIALOG_STYLE_INPUT, "Hauserstellung - Beschreibung", string, "Weiter", "Zurück");
  394. UpdateHouseLabel(pCreateHouse[playerid], 0);
  395. return 1;
  396. }
  397. if(!response)
  398. {
  399. ShowPlayerDialog(playerid, DIALOG_CREATE_HOUSE_PREIS, DIALOG_STYLE_INPUT, "Hauserstellung - Preis", "Bitte gib an wie teuer das Haus sein soll:", "Weiter", "Löschen");
  400. return 1;
  401. }
  402. }
  403. case DIALOG_CREATE_HOUSE_NAME:
  404. {
  405. new homestring[450];
  406. if(!response)
  407. {
  408. for(new i=0;i<sizeof(Interiors);i++)
  409. {
  410. strcat(homestring, Interiors[i][hInnenraum]);
  411. strcat(homestring, "\n");
  412. }
  413. ShowPlayerDialog(playerid, DIALOG_CREATE_HOUSE_INTERIOR, DIALOG_STYLE_LIST, "Hauserstellung - Innenraum", homestring, "Auswählen", "Zurück");
  414. return 1;
  415. }
  416. if(response)
  417. {
  418. if(!strlen(inputtext) || strlen(inputtext) > 32)
  419. {
  420. format(homestring, sizeof(homestring), "Preis: $%d\nInterior ID: %d\nExitX: %f\nExitY: %f\nExitZ: %f\n\nGebe nun die Beschreibung für das Haus an:",
  421. Haus[pCreateHouse[playerid]][hPreis], Haus[pCreateHouse[playerid]][hInterior], Haus[pCreateHouse[playerid]][ExitX], Haus[pCreateHouse[playerid]][ExitY], Haus[pCreateHouse[playerid]][ExitZ]);
  422. ShowPlayerDialog(playerid, DIALOG_CREATE_HOUSE_NAME, DIALOG_STYLE_INPUT, "Hauserstellung - Beschreibung", homestring, "Weiter", "Zurück");
  423. return 1;
  424. }
  425. strmid(Haus[pCreateHouse[playerid]][hName], inputtext, 0, strlen(inputtext), 32);
  426. format(homestring, sizeof(homestring), "Preis: $%d\nInterior ID: %d\nExitX: %f\nExitY: %f\nExitZ: %f\nBeschreibung: %s\nHaus wurde erfolgreich erstellt. (ID: %d)",
  427. Haus[pCreateHouse[playerid]][hPreis], Haus[pCreateHouse[playerid]][hInterior], Haus[pCreateHouse[playerid]][ExitX], Haus[pCreateHouse[playerid]][ExitY], Haus[pCreateHouse[playerid]][ExitZ], Haus[pCreateHouse[playerid]][hName], pCreateHouse[playerid]);
  428. ShowPlayerDialog(playerid, DIALOG_CREATE_HOUSE_ENDE, DIALOG_STYLE_MSGBOX, "Hauserstellung - Ende", homestring, "Fertig", "Zurück");
  429. UpdateHouseLabel(pCreateHouse[playerid], 0);
  430. return 1;
  431. }
  432. }
  433. case DIALOG_CREATE_HOUSE_ENDE:
  434. {
  435. new string[450];
  436. if(!response)
  437. {
  438. format(string, sizeof(string), "Preis: $%d\nInterior ID: %d\nExitX: %f\nExitY: %f\nExitZ: %f\n\nGebe nun die Beschreibung für das Haus an:",
  439. Haus[pCreateHouse[playerid]][hPreis], Haus[pCreateHouse[playerid]][hInterior], Haus[pCreateHouse[playerid]][ExitX], Haus[pCreateHouse[playerid]][ExitY], Haus[pCreateHouse[playerid]][ExitZ]);
  440. ShowPlayerDialog(playerid, DIALOG_CREATE_HOUSE_NAME, DIALOG_STYLE_INPUT, "Hauserstellung - Beschreibung", string, "Weiter", "Zurück");
  441. return 1;
  442. }
  443. if(response)
  444. {
  445. SendClientMessage(playerid, COLOR_YELLOW, "Das Haus wurde erstellt und gespeichert.");
  446. SaveHouse(pCreateHouse[playerid]);
  447. pCreateHouse[playerid] = INVALID_HOUSE_KEY;
  448. return 1;
  449. }
  450. }
  451. case DIALOG_CONFIGHOUSE:
  452. {
  453. if(response)
  454. {
  455. new haus = IsPlayerHouse(playerid);
  456. if(haus != INVALID_HOUSE_KEY)
  457. {
  458. if(!IsPlayerInRangeOfPoint(playerid, 5.0, Haus[haus][EnterX], Haus[haus][EnterY], Haus[haus][EnterZ]))return SendClientMessage(playerid, COLOR_GREY, "Du befindest dich nicht an deinem Haus (außerhalb).");
  459. if(listitem == 0) //Haus Verkaufen
  460. {
  461. ShowPlayerDialog(playerid, DIALOG_SELLHOUSE, DIALOG_STYLE_MSGBOX, "Hausbearbeitung","Möchtest du wirklich dein Haus verkaufen?\nWen du dir sicher bist drücke auf Bestätigen um das Haus zu verkaufen!\nDu erhältst die hälfte des Kaufpreises.", "Bestätigen", "Abbrechen");
  462. }
  463. if(listitem == 1) //Haustür
  464. {
  465. if(Haus[haus][hLock] == 1)
  466. {
  467. Haus[haus][hLock] = 0;
  468. GameTextForPlayer(playerid, "~w~Haus ~g~aufgeschlossen", 3000, 6);
  469. UpdateHouseLabel(haus, Haus[haus][hOwned]);
  470. }
  471. else if(Haus[haus][hLock] == 0)
  472. {
  473. Haus[haus][hLock] = 1;
  474. GameTextForPlayer(playerid, "~w~Haus ~r~abgeschlossen", 3000, 6);
  475. UpdateHouseLabel(haus, Haus[haus][hOwned]);
  476. }
  477. }
  478. if(listitem == 2) //Mietbar
  479. {
  480. new i = IsPlayerHouse(playerid);
  481. if(Haus[i][hMieten] == 1)
  482. {
  483. Haus[i][hMieten] = 0;
  484. GameTextForPlayer(playerid, "~w~Miete ~r~deaktiviert", 3000, 6);
  485. UpdateHouseLabel(i, Haus[i][hOwned]);
  486. SaveHouse(i);
  487. }
  488. else if(Haus[i][hMieten] == 0)
  489. {
  490. Haus[i][hMieten] = 1;
  491. GameTextForPlayer(playerid, "~w~Miete ~g~aktiviert", 3000, 6);
  492. UpdateHouseLabel(i, Haus[i][hOwned]);
  493. SaveHouse(i);
  494. }
  495. }
  496. if(listitem == 3) //Mietpreis
  497. {
  498. ShowPlayerDialog(playerid, DIALOG_SET_RENT, DIALOG_STYLE_INPUT, "Hausbearbeitung","Gebe den neuen Mietpreis an.", "Bestätigen", "Abbrechen");
  499. }
  500. //listitem 4 -> Mieter rauswerfen
  501. if(listitem == 5) //Mieter auflisten
  502. {
  503. new i;
  504. for(i = 0;i<MAX_HOUSES;i++)
  505. {
  506. if(strcmp(Haus[i][hBesitzer], GetName(playerid), true) == 0)
  507. {
  508. break;
  509. }
  510. }
  511. if(i != MAX_HOUSES && i != INVALID_HOUSE_KEY)
  512. {
  513. for(new x;x<MAX_PLAYERS;x++)
  514. {
  515. if(IsPlayerConnected(x))
  516. {
  517. if(Spieler[x][pHouseKey] ==i && if(strcmp(GetName(x), Haus[i][hBesitzer]!=0) //5403
  518. {
  519. new string[128];
  520. format(string,sizeof(string),"%s\nSpieler: %s ist Mieter dieses Hauses",string, GetName(x));
  521. }
  522. }
  523. }
  524. }
  525. ShowPlayerDialog(playerid, DIALOG_MIETER_LISTE ,DIALOG_STYLE_MSGBOX,"Mieter",string,"Weiter","");
  526. }
  527. if(listitem == 6) //Hauskasse
  528. {
  529. ShowPlayerDialog(playerid, DIALOG_HAUSKASSE, DIALOG_STYLE_LIST, "Hausbearbeitung", "Geld einzahlen\nGeld auszahlen\nAktueller Stand\nHeal Upgrade", "Bestätigen", "Abbrechen");
  530. }
  531. //listitem 7 -> Beschreibung Ändern
  532. }
  533. }
  534. }
  535. case DIALOG_SET_RENT:
  536. {
  537. if(response)
  538. {
  539. if(IsPlayerHouse(playerid) != INVALID_HOUSE_KEY)
  540. {
  541. if(!strlen(inputtext))
  542. {
  543. SendClientMessage(playerid, COLOR_GREY, "Gebe eine Zahl zwischen 0 und 5000 an!");
  544. return OnDialogResponse(playerid, DIALOG_RENT, 1, 1, "");
  545. }
  546. if(!IsNumeric(inputtext))
  547. {
  548. SendClientMessage(playerid, COLOR_GREY, "Gebe eine Zahl zwischen 0 und 5000 an!");
  549. return OnDialogResponse(playerid, DIALOG_RENT, 1, 1, "");
  550. }
  551. if(strval(inputtext) > 5000 || strval(inputtext) < 0)
  552. {
  553. SendClientMessage(playerid, COLOR_GREY, "Gebe eine Zahl zwischen 0 und 5000 an!");
  554. return OnDialogResponse(playerid, DIALOG_RENT, 1, 1, "");
  555. }
  556. new string[128];
  557. new i = IsPlayerHouse(playerid);
  558. format(string, sizeof(string), "{FFFFFF}Du hast die Miete in deinem Haus auf $%d gesetzt.", strval(inputtext));
  559. SendClientMessage(playerid, COLOR_WHITE, string);
  560. Haus[i][hMieten] = 1;
  561. Haus[i][hMietPreis] = strval(inputtext);
  562. UpdateHouseLabel(i, Haus[i][hOwned]);
  563. SaveHouse(i);
  564. return 1;
  565. }
  566. }
  567. if(!response)
  568. {
  569. OnDialogResponse(playerid, DIALOG_CONFIGHOUSE, 0, 1, "");
  570. }
  571. }
  572. case DIALOG_SELLHOUSE:
  573. {
  574. if(response)
  575. {
  576. if(IsPlayerHouse(playerid) != INVALID_HOUSE_KEY)
  577. {
  578. new string[128];
  579. new i = IsPlayerHouse(playerid);
  580. GiveMoney(playerid, (Haus[i][hPreis]/2));
  581. GiveMoney(playerid, Haus[i][hKasse]);
  582. format(string, sizeof(string), "Du hast die Hälfte vom Kaufpreis bekommen ({9ACD32}$%d) {FFFFFF}sowie das Geld aus der Kasse ({9ACD32}$%d){FFFFFF}.", Haus[i][hPreis]/2, Haus[i][hKasse]);
  583. SendClientMessage(playerid, COLOR_WHITE, string);
  584. SendClientMessage(playerid, COLOR_WHITE, "Du wohnst nun wieder auf der Straße.");
  585. DestroyPickup(Haus[i][hPickup]);
  586. Haus[i][hOwned] = 0;
  587. Spieler[playerid][pHouseKey] = INVALID_HOUSE_KEY;
  588. Haus[i][hLock] = 1;
  589. Haus[i][hKasse] = 0;
  590. Haus[i][hHealthUpgrade] = 0;
  591. strmid(Haus[i][hBesitzer], "Niemand", 0, strlen("Niemand"), 24);
  592. UpdateHouseLabel(i, Haus[i][hOwned]);
  593. Haus[i][hPickup] = CreatePickup(NO_OWNER_PICKUP, 1, Haus[i][EnterX], Haus[i][EnterY], Haus[i][EnterZ], -1);
  594. SaveHouse(i);
  595. SavePlayer(playerid);
  596. return 1;
  597. }
  598. }
  599. }
  600. case DIALOG_HAUSKASSE:
  601. {
  602. if(response)
  603. {
  604. if(IsPlayerHouse(playerid) != INVALID_HOUSE_KEY)
  605. {
  606. if(listitem == 0)
  607. {
  608. ShowPlayerDialog(playerid, DIALOG_HAUSKASSE_ANLEGEN, DIALOG_STYLE_INPUT, "Hauskasse: Einzahlen", "Wie viel Geld möchtest du in die Kasse einzahlen?", "Bestätigen", "Abbrechen");
  609. }
  610. if(listitem == 1)
  611. {
  612. ShowPlayerDialog(playerid, DIALOG_HAUSKASSE_ABHEBEN, DIALOG_STYLE_INPUT, "Hauskasse: Auszahlen", "Wie viel Geld möchtest du aus der Kasse abheben?", "Bestätigen", "Abbrechen");
  613. }
  614. if(listitem == 2)
  615. {
  616. new i = IsPlayerHouse(playerid);
  617. strdel(DialogString, 0, sizeof(DialogString));
  618. format(DialogString, sizeof(DialogString), "Derzeitiger Stand der Hauskasse: %d$ (Haus: %d)", Haus[i][hKasse], Haus[i][hdbID]);
  619. ShowPlayerDialog(playerid, DIALOG_HAUSKASSE, DIALOG_STYLE_MSGBOX, "Hauskasse: Stand", DialogString, "Schließen", "");
  620. }
  621. if(listitem == 3)
  622. {
  623. ShowPlayerDialog(playerid, DIALOG_UPGRADE_LEBEN, DIALOG_STYLE_MSGBOX, "Hausbearbeitung", "Möchtest du wirklich ein Healupgrade kaufen?\nDieses Healupgrade wird dich einmalig 100.000$ kosten.\nWen du dir sicher bist drücke auf Bestätigen um das Healupgrade zu kaufen.", "Bestätigen", "Abbrechen");
  624. }
  625. }
  626. }
  627. }
  628. case DIALOG_UPGRADE_LEBEN:
  629. {
  630. if(response)
  631. {
  632. if(IsPlayerHouse(playerid) != INVALID_HOUSE_KEY)
  633. {
  634. new i = IsPlayerHouse(playerid);
  635. if(Haus[i][hHealthUpgrade] == 1)
  636. {
  637. SendClientMessage(playerid, COLOR_GREY, "Dein Haus besitzt das Lebensupgrade bereits!");
  638. }
  639. if((GetMoney(playerid) - 100000) < 0){
  640. SendClientMessage(playerid, COLOR_GREY, ERROR_MONEY);
  641. }
  642. GiveMoney(playerid, -100000);
  643. Haus[i][hHealthUpgrade] = 1;
  644. SendClientMessage(playerid, COLOR_WHITE, "{33CCFF}Dein Haus besitzt nun das Lebensupgrade. Nutze /heal am Ausgang des Hauses (innen).");
  645. SaveHouse(i);
  646. }
  647. }
  648. }
  649. case DIALOG_HAUSKASSE_ANLEGEN:
  650. {
  651. if(response)
  652. {
  653. if(IsPlayerHouse(playerid) != INVALID_HOUSE_KEY)
  654. {
  655. new i = IsPlayerHouse(playerid);
  656. new money = strval(inputtext);
  657. if(!strlen(inputtext) || strlen(inputtext) >= 8)
  658. {
  659. SendClientMessage(playerid, COLOR_GREY, "Ungültige Zahl eingegeben.");
  660. OnDialogResponse(playerid, DIALOG_CONFIGHOUSE, 1, 4, "");
  661. return 1;
  662. }
  663. if(!IsNumeric(inputtext))
  664. {
  665. SendClientMessage(playerid, COLOR_GREY, "Ungültige Zahl eingegeben.");
  666. OnDialogResponse(playerid, DIALOG_CONFIGHOUSE, 1, 4, "");
  667. return 1;
  668. }
  669. if((GetMoney(playerid) - money) < 0)
  670. {
  671. SendClientMessage(playerid, COLOR_GREY, "Nicht genügend Geld zum Einzahlen vorhanden!");
  672. OnDialogResponse(playerid, DIALOG_CONFIGHOUSE, 1, 4, "");
  673. return 1;
  674. }
  675. new string[128];
  676. Haus[i][hKasse] += money;
  677. GiveMoney(playerid, -money);
  678. format(string, sizeof(string), "{33CCFF}Du hast $%d angelegt. (Insgesamt: $%d)", money, Haus[i][hKasse]);
  679. SendClientMessage(playerid, COLOR_WHITE, string);
  680. OnDialogResponse(playerid, DIALOG_CONFIGHOUSE, 1, 4, "");
  681. }
  682. }
  683. }
  684. case DIALOG_HAUSKASSE_ABHEBEN:
  685. {
  686. if(response)
  687. {
  688. if(IsPlayerHouse(playerid) != INVALID_HOUSE_KEY)
  689. {
  690. new i = IsPlayerHouse(playerid);
  691. new money = strval(inputtext);
  692. if(!strlen(inputtext) || strlen(inputtext) >= 8)
  693. {
  694. SendClientMessage(playerid, COLOR_GREY, "Ungültige Zahl eingegeben.");
  695. OnDialogResponse(playerid, DIALOG_CONFIGHOUSE, 1, 4, "");
  696. return 1;
  697. }
  698. if(!IsNumeric(inputtext))
  699. {
  700. SendClientMessage(playerid, COLOR_GREY, "Ungültige Zahl eingegeben.");
  701. OnDialogResponse(playerid, DIALOG_CONFIGHOUSE, 1, 4, "");
  702. return 1;
  703. }
  704. if((Haus[i][hKasse] - money) < 0)
  705. {
  706. SendClientMessage(playerid, COLOR_GREY, "Nicht genügend Geld zum abheben vorhanden!");
  707. OnDialogResponse(playerid, DIALOG_CONFIGHOUSE, 1, 4, "");
  708. return 1;
  709. }
  710. new string[128];
  711. Haus[i][hKasse] -= money;
  712. GiveMoney(playerid, money);
  713. format(string, sizeof(string), "{33CCFF}Du hast $%d abgehoben. (Insgesamt: $%d)", money, Haus[i][hKasse]);
  714. SendClientMessage(playerid, COLOR_WHITE, string);
  715. OnDialogResponse(playerid, DIALOG_CONFIGHOUSE, 1, 4, "");
  716. }
  717. }
  718. }
  719. }
  720. return 1;
  721. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement