Guest User

ASKQ (Skill Arena(SA))

a guest
Dec 16th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.19 KB | None | 0 0
  1. #define MAX_ASKQS 50 //Max pitanja
  2.  
  3. enum askqDataA {
  4. bool:askqSend,
  5. askqOwner[ MAX_PLAYER_NAME ],
  6. askqID,
  7. askqQuestion[ 128 ]
  8. };
  9. new adMaskqList[ MAX_ASKQS ][ askqDataA ];
  10.  
  11. enum askqDataG {
  12. bool:askqSendA,
  13. askqOwnerA[ MAX_PLAYER_NAME ],
  14. askqIDA,
  15. askqQuestionA[ 128 ]
  16. };
  17. new GMaskqList[ MAX_ASKQS ][ askqDataG ];
  18.  
  19. enum askqDataZ {
  20. bool:askqSended,
  21. bool:askqAnswered,
  22. askqAdmin[ MAX_PLAYER_NAME ],
  23. askqAnswer[ 128 ]
  24. };
  25. new askqInfo[ MAX_PLAYERS ][ askqDataZ ];
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34. YCMD:lp( playerid, params[], help ) {
  35.  
  36. if( PlayerInfo[ playerid ][ pAdmin ] >= 1 ) {
  37.  
  38. strdel( DialogStrgEx, 0, sizeof( DialogStrgEx ) );
  39. for( new i = 1; i < MAX_ASKQS; i++ ) {
  40. format( DialogStrgEx, sizeof( DialogStrgEx ), "%sPitanje %d - %s(%d)\n", DialogStrgEx, i, adMaskqList[ i ][ askqOwner ], adMaskqList[ i ][ askqID ] );
  41. }
  42. SPD( playerid, 424, DSL, "Lista pitanja", DialogStrgEx, "Odaberi", "Odustani" );
  43. }
  44. else if( PlayerInfo[ playerid ][ pGM ] >= 1 ) {
  45. strdel( DialogStrgEx, 0, sizeof( DialogStrgEx ) );
  46. for( new i = 1; i < MAX_ASKQS; i++ ) {
  47. format( DialogStrgEx, sizeof( DialogStrgEx ), "%sPitanje %d - %s(%d)\n", DialogStrgEx, i, GMaskqList[ i ][ askqOwnerA ], GMaskqList[ i ][ askqIDA ] );
  48. }
  49. SPD( playerid, 8372, DSL, "Lista pitanja", DialogStrgEx, "Odaberi", "Odustani" );
  50. }
  51. else return SCM( playerid, -1, "Niste u mogucnosti koristiti ovu komandu." );
  52. return 1;
  53. }
  54. YCMD:pogledajodgovor( playerid, params[], help ) {
  55.  
  56. if( askqInfo[ playerid ][ askqSended ] == false ) return SCM( playerid, -1, "Nisi poslao pitanje." );
  57. if( askqInfo[ playerid ][ askqAnswered ] == false ) return SCM( playerid, -1, "Nije odgovoreno na tvoje pitanje." );
  58.  
  59. new string[ 256 ];
  60. format( string, sizeof( string ), "Admin/GM %s je odgovorio na tvoje pitanje.\n\nOdgovor: %s", askqInfo[ playerid ][ askqAdmin ], askqInfo[ playerid ][ askqAnswer ] );
  61.  
  62. SPD( playerid, 0, DSB, "Odgovor", string, "Ok", "" );
  63.  
  64. askqInfo[ playerid ][ askqSended ] = false;
  65. askqInfo[ playerid ][ askqAnswered ] = false;
  66. strmid( askqInfo[ playerid ][ askqAdmin ], "None", 0, strlen( "None" ), 32 );
  67. strmid( askqInfo[ playerid ][ askqAnswer ], "None", 0, strlen( "None" ), 128 );
  68. return 1;
  69. }
  70. YCMD:pitaj(playerid, params[],help)
  71. {
  72.  
  73. //if(ServerInfo[isPitanja] == 1) return SCM(playerid,-1,"(LK) "CRVENA"Pitanja su trenutno iskljucena, pokusajte kasnije!");
  74. if(PlayerInfo[playerid][pMutiran] != 0) return SCM(playerid,-1, "(LK) "SIVA"Mutirani ste ne mozete koristiti chat!");
  75. if(GetTimeEx() < hPomoc[playerid]) return SCM(playerid, -1, ""SIVA"Ovu komandu mozete koristiti svakih 120 sekundi!");
  76. if(PlayerInfo[playerid][pZatvor] != 0) return SCM(playerid,-1,"(LK) | "serverboja"Ne mozete koristiti ovu komandu jer ste zatvoreni!");
  77. new adm = 0;
  78. foreach(Player, i) { if(PlayerInfo[i][pGM] > 0 || PlayerInfo[i][pAdmin] > 0) adm++; }
  79. if(adm == 0) return SCM(playerid, -1, ""CRVENA"(LK) "SIVA"Nema Admina & GameMastera Online pa ne mozete slati pitanje!");
  80. SPD(playerid,3131, DIALOG_STYLE_MSGBOX, ""BELA"Lista admina/gm", "Odaberite kome zelite postaviti pitanje:", "Admin", "GameMaster");
  81. return 1;
  82. }
  83.  
  84.  
  85.  
  86.  
  87. fDialog(3131)
  88. {
  89. if(response)
  90. {
  91. SPD(playerid, 422, DIALOG_STYLE_INPUT, "Napisi pitanje:MORA BITI U VALIDNOM FORMATU I KONKTRETNO", "Pitanje:MORA BITI U VALIDNOM FORMATU I KONKTRETNO", "Uredu", "");
  92. }
  93. if(!response)
  94. {
  95. SPD(playerid, 423, DIALOG_STYLE_INPUT, "Napisi pitanje:MORA BITI U VALIDNOM FORMATU I KONKTRETNO", "Pitanje:MORA BITI U VALIDNOM FORMATU I KONKTRETNO", "Uredu", "");
  96. }
  97.  
  98. return 1;
  99. }
  100. fDialog(422)
  101. {
  102. if(!response) return 1;
  103. if( response ) {
  104. new askQ = -1;
  105.  
  106. for( new id = 1; id < MAX_ASKQS; id++ ) {
  107. if( adMaskqList[ id ][ askqSend ] == false ) {
  108. askQ = id;
  109. break;
  110. }
  111. }
  112.  
  113. if( askQ == -1 ) return SCM( playerid, -1, "Vec ima maksimalan broj poslatih pitanja." );
  114.  
  115. adMaskqList[ askQ ][ askqSend ] = true;
  116. adMaskqList[ askQ ][ askqID ] = playerid;
  117.  
  118. askqInfo[ playerid ][ askqSended ] = true;
  119. askqInfo[ playerid ][ askqAnswered ] = false;
  120.  
  121. strmid( adMaskqList[ askQ ][ askqOwner ], GetName( playerid ), 0, strlen( GetName( playerid ) ), 32 );
  122. strmid( adMaskqList[ askQ ][ askqQuestion ], inputtext, 0, strlen( inputtext ), 128 );
  123.  
  124. SCM( playerid, -1, "Poslao si pitanje administratorima." );
  125.  
  126. format( globalstring, sizeof( globalstring ), ""CRVENA"[Pitanje za ADMINA] %s je poslao pitanje.( /lp )", GetName( playerid ) );
  127. Adminp( -1, globalstring );
  128. }
  129. return 1;
  130. }
  131. fDialog(423)
  132. {
  133. if(!response) return 1;
  134. if( response ) {
  135. new askQ = -1;
  136.  
  137. for( new id = 1; id < MAX_ASKQS; id++ ) {
  138. if( GMaskqList[ id ][ askqSendA ] == false ) {
  139. askQ = id;
  140. break;
  141. }
  142. }
  143.  
  144. if( askQ == -1 ) return SCM( playerid, -1, "Vec ima maksimalan broj poslatih pitanja." );
  145.  
  146. GMaskqList[ askQ ][ askqSendA ] = true;
  147. GMaskqList[ askQ ][ askqIDA ] = playerid;
  148.  
  149. askqInfo[ playerid ][ askqSended ] = true;
  150. askqInfo[ playerid ][ askqAnswered ] = false;
  151.  
  152. strmid( GMaskqList[ askQ ][ askqOwnerA ], GetName( playerid ), 0, strlen( GetName( playerid ) ), 32 );
  153. strmid( GMaskqList[ askQ ][ askqQuestionA ], inputtext, 0, strlen( inputtext ), 128 );
  154.  
  155. SCM( playerid, -1, "Poslao si pitanje gamemasterima." );
  156.  
  157. format( globalstring, sizeof( globalstring ), ""CRVENA"[Pitanje za GM] %s je poslao pitanje.( /lp )", GetName( playerid ) );
  158. AdminGameMaster( -1, globalstring );
  159. }
  160. return 1;
  161. }
  162. fDialog(424)
  163. {
  164. if( !response ) return true;
  165. if( response ) {
  166. listitem++;
  167. new string[ 256 ];
  168. if( adMaskqList[ listitem ][ askqSend ] == false ) return SCM( playerid, -1, "U ovom slotu nema pitanja." );
  169.  
  170. IzabraniAskQ[ playerid ] = listitem;
  171.  
  172. format( string, sizeof( string ), "Igrac %s je poslao pitanje.\n\nPitanje: %s", adMaskqList[ listitem ][ askqOwner ], adMaskqList[ listitem ][ askqQuestion ] );
  173.  
  174. SPD( playerid, 425, DSI, "Pitanje", string, "Odgovori", "Odustani" );
  175. }
  176. return 1;
  177. }
  178. fDialog(425)
  179. {
  180. if( !response ) return true;
  181. if( response ) {
  182. new text[ 128 ];
  183. if( sscanf( inputtext, "s[128]", text ) ) return 1;
  184.  
  185. new askid = IzabraniAskQ[ playerid ];
  186.  
  187. if( adMaskqList[ askid ][ askqSend ] == false ) return SCM( playerid, -1, "U ovom slotu nema pitanja." );
  188.  
  189. adMaskqList[ askid ][ askqSend ] = false;
  190.  
  191. new id = adMaskqList[ askid ][ askqID ];
  192. IzabraniAskQ[ playerid ] = -1;
  193.  
  194. if( strcmp( GetName( id ), adMaskqList[ askid ][ askqOwner ], true ) == 0 ) {
  195.  
  196. askqInfo[ id ][ askqAnswered ] = true;
  197. strmid( askqInfo[ id ][ askqAdmin ], GetName( playerid ), 0, strlen( GetName( playerid ) ), 32 );
  198. strmid( askqInfo[ id ][ askqAnswer ], text, 0, strlen( text ), 128 );
  199.  
  200. SendClientMessageEx( playerid, -1, "Poslali ste odgovor igracu %s.", adMaskqList[ askid ][ askqOwner ] );
  201. SendClientMessageEx( playerid, -1, "Vas odgovor glasi: %s.", text );
  202.  
  203. SendClientMessage( id, -1, "Admin/GameMaster je odgovorio na tvoje pitanje." );
  204. SendClientMessage( id, -1, "Da pogledate odgovor ukucajte "SIVA"'/pogledajodgovor'." );
  205.  
  206. strmid( adMaskqList[ askid ][ askqOwner ], "None", 0, strlen( "None" ), 32 );
  207. adMaskqList[ askid ][ askqID ] = -1;
  208. }
  209. else {
  210.  
  211. if( id != IPI ) {
  212. askqInfo[ id ][ askqSended ] = false;
  213. askqInfo[ id ][ askqAnswered ] = false;
  214. strmid( askqInfo[ id ][ askqAdmin ], "None", 0, strlen( "None" ), 32 );
  215. strmid( askqInfo[ id ][ askqAnswer ], "None", 0, strlen( "None" ), 128 );
  216. }
  217.  
  218. strmid( adMaskqList[ askid ][ askqOwner ], "None", 0, strlen( "None" ), 32 );
  219. adMaskqList[ askid ][ askqID ] = -1;
  220. SCM( playerid, -1, "Taj igrac nije online." );
  221. return 1;
  222. }
  223. }
  224. return 1;
  225. }
  226. fDialog(8372)
  227. {
  228. if( !response ) return true;
  229. if( response ) {
  230. listitem++;
  231. new string[ 256 ];
  232. if( GMaskqList[ listitem ][ askqSendA ] == false ) return SCM( playerid, -1, "U ovom slotu nema pitanja." );
  233.  
  234. IzabraniAskQ[ playerid ] = listitem;
  235.  
  236. format( string, sizeof( string ), "Igrac %s je poslao pitanje.\n\nPitanje: %s", GMaskqList[ listitem ][ askqOwnerA ], GMaskqList[ listitem ][ askqQuestionA ] );
  237.  
  238. SPD( playerid, 8373, DSI, "Pitanje", string, "Odgovori", "Odustani" );
  239. }
  240. return 1;
  241. }
  242. fDialog(8373)
  243. {
  244. if( !response ) return true;
  245. if( response ) {
  246. new text[ 128 ];
  247. if( sscanf( inputtext, "s[128]", text ) ) return 1;
  248.  
  249. new askid = IzabraniAskQ[ playerid ];
  250.  
  251. if( GMaskqList[ askid ][ askqSendA ] == false ) return SCM( playerid, -1, "U ovom slotu nema pitanja." );
  252.  
  253. GMaskqList[ askid ][ askqSendA ] = false;
  254.  
  255. new id = GMaskqList[ askid ][ askqIDA ];
  256. IzabraniAskQ[ playerid ] = -1;
  257.  
  258. if( strcmp( GetName( id ), GMaskqList[ askid ][ askqOwnerA ], true ) == 0 ) {
  259.  
  260. askqInfo[ id ][ askqAnswered ] = true;
  261. strmid( askqInfo[ id ][ askqAdmin ], GetName( playerid ), 0, strlen( GetName( playerid ) ), 32 );
  262. strmid( askqInfo[ id ][ askqAnswer ], text, 0, strlen( text ), 128 );
  263.  
  264. SendClientMessageEx( playerid, -1, "Poslali ste odgovor igracu %s.", GMaskqList[ askid ][ askqOwnerA ] );
  265. SendClientMessageEx( playerid, -1, "Vas odgovor glasi: %s.", text );
  266.  
  267. SendClientMessage( id, -1, "Admin/Supp je odgovorio na tvoje pitanje." );
  268. SendClientMessage( id, -1, "Da pogledate odgovor ukucajte "SIVA"'/pogledajodgovor'." );
  269.  
  270. strmid( GMaskqList[ askid ][ askqOwnerA ], "None", 0, strlen( "None" ), 32 );
  271. GMaskqList[ askid ][ askqIDA ] = -1;
  272. }
  273. else {
  274.  
  275. if( id != IPI ) {
  276. askqInfo[ id ][ askqSended ] = false;
  277. askqInfo[ id ][ askqAnswered ] = false;
  278. strmid( askqInfo[ id ][ askqAdmin ], "None", 0, strlen( "None" ), 32 );
  279. strmid( askqInfo[ id ][ askqAnswer ], "None", 0, strlen( "None" ), 128 );
  280. }
  281.  
  282. strmid( GMaskqList[ askid ][ askqOwnerA ], "None", 0, strlen( "None" ), 32 );
  283. GMaskqList[ askid ][ askqIDA ] = -1;
  284. SCM( playerid, -1, "Taj igrac nije online." );
  285. return 1;
  286. }
  287. }
  288. return 1;
  289. }
Add Comment
Please, Sign In to add comment