Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.
Üzenetek - Kovacs_Richard
Oldalak: 1 ... 106 107 [108] 109 110 ... 121
1606
« Dátum: 2012. szeptember 24. - 17:38:42 »
ezt nem egészen értem...linuxos alkalmazást akartál windows-on elindítani? am ha windows-od van akkor windows szerver kell neked...az mind1 hogy a host linuxos...én pl itthon letesztelek valamit windows-on felrakom a hostra és ugyanazt csinálja hiába linuxos...
1608
« Dátum: 2012. szeptember 24. - 14:26:28 »
a szerver nem tudja bezárni a játékot...szóval vagy csak kick vagy ki crashelteted a játékost...de inkább az 1.-t ajánlom mondjuk nem régiben találtam olyan megoldást hogy bezárja a játékot de az GTA SA hiba miatt van és nem ajánlom hogy hibával állítsd le a játékot
1609
« Dátum: 2012. szeptember 24. - 11:05:15 »
Na az lenne a kérdésem hogy lehet megcsinálni azt hogy PL:egy timer-be egy dialogot mindenkinek megjelenitsen mert playerid nem jó timernél köszönöm elõre is a válaszokat //magyarázat al ha lehetne hogy értsem köszöntem[/quote]
#include <a_samp> #define DIALOG_ID (123) public OnFilterScriptInit() { SetTimer(\"TimerFunction\",5000,0); return 1; } forward TimerFunction(); public TimerFunction() { for(new i; i < GetMaxPlayers(); i++) { if(!IsPlayerConnected(i)) { continue; } ShowPlayerDialog(i,DIALOG_ID,DIALOG_STYLE_LIST,\"Caption\",\"Info\\nInfo\\nInfo\",\"Ok\",\"Mégse\"); } return 1; } valahogy így gondoltad?
1610
« Dátum: 2012. szeptember 23. - 22:08:39 »
1611
« Dátum: 2012. szeptember 23. - 02:06:11 »
a mappa szerkezet megfelelõ a scriptfiles mappában? tehát meg van minden mappa amiben keresni akar a szerver? mert amiatt lehet a crash hogy hiányos a mappa szerkezeted
1612
« Dátum: 2012. szeptember 22. - 18:23:05 »
format(string, sizeof(string), mentes, id); nekem ez elég gyanúsnak tûnik...a \"mentes\" honnan jött neked? ha pl a scriptfiles mappában vannak sorba a fájlok 0.ini 1.ini 2.ini.......akkor ez a megoldás lenne jó: format(string, sizeof(string), \"%d.ini\", id); de az a \"mentes\" honnan jött? és mit akar takarni?
1613
« Dátum: 2012. szeptember 22. - 10:55:04 »
a \"valamii\" függvényt másold be...
1614
« Dátum: 2012. szeptember 22. - 10:53:59 »
dini include-ot hívd be #include <dini> ha be van és akkor is írja akkor rakd a dini behívást a dudb elé...
1615
« Dátum: 2012. szeptember 19. - 17:48:43 »
OnPlayerUpdate 1 másodpercben sokszor lefut játékosonként, tehát laggosabb lehet mint a timer. De szerintem a legegyszerûbb hogy lövésnél(OnPlayerKeyState -> KEY_FIRE) ellenõrzöd hogy az utolsó golyót lõtte -e ki.
ezzel csak annyi a gond hogy ha nyomva tartja a gombot akkor is lõ...
1617
« Dátum: 2012. szeptember 11. - 09:25:14 »
forward ShowPlayerRanks(playerid,forplayerid); public ShowPlayerRanks(playerid,forplayerid) { if(playerInfo[forplayerid][LeaderRang] < 7) { SendClientMessage(forplayerid,COLOR_RED,\"Nem vagy leader !\"); return 1; } else if(playerInfo[playerid][LeaderWork] == 0) { SendClientMessage(forplayerid,COLOR_RED,\"Ez a játékos nincs frakcióban !\"); return 1; } else if(playerInfo[playerid][LeaderWork] != playerInfo[forplayerid][LeaderWork]) { SendClientMessage(forplayerid,COLOR_RED,\"Ez a játékos nincs frakciódban !\"); return 1; } // new rstr[32],rsstr[128]; DFunc[forplayerid] = playerid; GetPlayerName(playerid,rstr,MAX_PLAYER_NAME); strins(rstr,\" rangja:\",strlen(rstr),32); for(new i; i < MAX_RANKS; i++) { if(!i) { format(rsstr,64,\"%d. %s\",i,Ranks[playerInfo[forplayerid][LeaderWork]-1]); } else { format(rsstr,64,\"%s\\n%d. %s\",rsstr,i,Ranks[playerInfo[forplayerid][LeaderWork]-1]); } } // ShowPlayerDialog(forplayerid,DIALOG_RANK,DIALOG_STYLE_LIST,rstr,rsstr,\"Ok\",\"Mégse\"); return 1; } ezzel írd felül Dupla hozzászólás automatikusan összefûzve. ( 2012. szeptember 11. - 10:40:48 )
végleges kód: #define MAX_RANKS (7) #define MAX_FACTIONS (5) #define DIALOG_LEADER (1357) #define DIALOG_PLAYER (1358) #define DIALOG_RANK (1359) #define PD_OUT_OF_FACTIONS (0) #define PD_IN_THE_FACTION (1) #define COLOR_RED 0xFFAAAAFF new Ranks[MAX_FACTIONS][MAX_RANKS][16] = // Rangok { {\"Rang1\",\"Rang2\",\"Rang3\",\"Rang4\",\"Rang5\",\"Rang6\",\"Rang7\"}, // Mentõk {\"Rang1\",\"Rang2\",\"Rang3\",\"Rang4\",\"Rang5\",\"Rang6\",\"Rang7\"}, {\"Rang1\",\"Rang2\",\"Rang3\",\"Rang4\",\"Rang5\",\"Rang6\",\"Rang7\"}, {\"Rang1\",\"Rang2\",\"Rang3\",\"Rang4\",\"Rang5\",\"Rang6\",\"Rang7\"}, {\"Rang1\",\"Rang2\",\"Rang3\",\"Rang4\",\"Rang5\",\"Rang6\",\"Rang7\"} }; new DFunc[MAX_PLAYERS] = -1; // Dialog Funckció new DID[MAX_PLAYERS][50]; // 50 list item azonosító public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case DIALOG_LEADER: { if(!response) { return 1; } DFunc[playerid] = listitem; if(listitem == 0) { PlayerDialog(playerid,PD_OUT_OF_FACTIONS); } else if(listitem == 1 || listitem == 2) { PlayerDialog(playerid,PD_IN_THE_FACTION); } return 1; } case DIALOG_PLAYER: { if(!response) { return 1; } if(DFunc[playerid] == 0) // inv { // inv funkció // // pl: PlayerInvPlayer(playerid,DID[listitem]); } else if(DFunc[playerid] == 1) // rang { ShowPlayerRanks(DID[playerid][listitem],playerid); // ki rangját, kinek return 1; } else if(DFunc[playerid] == 2) // kick { // kick funkció // // pl: PlayerKickPlayer(playerid,DID[playerid][listitem]); } DFunc[playerid] = -1; return 1; } case DIALOG_RANK: { playerInfo[DFunc[playerid]][LeaderRang] = listitem; // szövegek DFunc[playerid] = -1; return 1; } } return 0; } public OnPlayerCommandText(playerid,cmdtext[]) { if(!strcmp(cmdtext,\"/leader\",true)) { if(playerInfo[playerid][LeaderRang] < 6) { SendClientMessage(playerid,COLOR_RED,\"Nem vagy leader !\"); return 1; } ShowPlayerDialog(playerid,DIALOG_LEADER,DIALOG_STYLE_LIST,\"Leader funkciók:\",\"Tagfelvétel\\nElõléptetés\\nKirúgás\",\"Ok\",\"Mégse\"); } return 0; } forward PlayerDialog(playerid,type); public PlayerDialog(playerid,type) { new s,str[512],name[MAX_PLAYER_NAME]; // str cella száma max Slot*MAX_PLAYER_NAME legyen ha mondjuk 50 slotos a szerver akkor 50*24=1200 switch(type) { case PD_OUT_OF_FACTIONS: { for(new i; i < GetMaxPlayers(); i++) { // ha azt szeretnéd hogy a játékos magát ne lássa akkor ezt is írd be: || playerid == i if(!IsPlayerConnected(i) || playerInfo[LeaderWork] > 0) { continue; } DID[playerid] = i; GetPlayerName(i,name,MAX_PLAYER_NAME); if(!s) { format(str,sizeof(str),\"%s\",name); } else { format(str,sizeof(str),\"%s\\n%s\",str,name); } s++; } } case PD_IN_THE_FACTION: { for(new i; i < GetMaxPlayers(); i++) { // ha azt szeretnéd hogy a játékos magát ne lássa akkor ezt is írd be: || playerid == i if(!IsPlayerConnected(i) || playerInfo[playerid][LeaderWork] != playerInfo[LeaderWork]) { continue; } DID[playerid] = i; GetPlayerName(i,name,MAX_PLAYER_NAME); if(!s) { format(str,sizeof(str),\"%s\",name); } else { format(str,sizeof(str),\"%s\\n%s\",str,name); } s++; } } default: { SendClientMessage(playerid,COLOR_RED,\"Hibás játékos listázás !\"); return 1; } } ShowPlayerDialog(playerid,DIALOG_PLAYER,DIALOG_STYLE_LIST,\"Játékosok:\",str,\"Ok\",\"Mégse\"); return 1; } forward ShowPlayerRanks(playerid,forplayerid); public ShowPlayerRanks(playerid,forplayerid) { if(playerInfo[forplayerid][LeaderRang] < 6) { SendClientMessage(forplayerid,COLOR_RED,\"Nem vagy leader !\"); return 1; } else if(playerInfo[playerid][LeaderWork] == 0) { SendClientMessage(forplayerid,COLOR_RED,\"Ez a játékos nincs frakcióban !\"); return 1; } else if(playerInfo[playerid][LeaderWork] != playerInfo[forplayerid][LeaderWork]) { SendClientMessage(forplayerid,COLOR_RED,\"Ez a játékos nincs frakciódban !\"); return 1; } // new rstr[32],rsstr[128]; DFunc[forplayerid] = playerid; GetPlayerName(playerid,rstr,MAX_PLAYER_NAME); strins(rstr,\" rangja:\",strlen(rstr),32); for(new i; i < MAX_RANKS; i++) { if(!i) { format(rsstr,64,\"%d. %s\",i,Ranks[playerInfo[forplayerid][LeaderWork]-1]); } else { format(rsstr,64,\"%s\\n%d. %s\",rsstr,i,Ranks[playerInfo[forplayerid][LeaderWork]-1]); } } // ShowPlayerDialog(forplayerid,DIALOG_RANK,DIALOG_STYLE_LIST,rstr,rsstr,\"Ok\",\"Mégse\"); return 1; }
1618
« Dátum: 2012. szeptember 10. - 23:18:30 »
ezt a kódot próbáld meg, nem teszteltem ezért várom a visszajelzéseket am lehet megérné TAB-nál a kattintós megoldás csak sajnos lehet probléma hogy kiválasztja a játékos aztán lelép és a helyére más jön fel...mind2 kódnál de az is orvosolható... #define MAX_RANKS (7) #define MAX_FACTIONS (5) #define DIALOG_LEADER (1357) #define DIALOG_PLAYER (1358) #define DIALOG_RANK (1359) #define PD_OUT_OF_FACTIONS (0) #define PD_IN_THE_FACTION (1) #define COLOR_RED 0xFFAAAAFF new Ranks[MAX_FACTIONS][MAX_RANKS][16] = // Rangok { {\"Rang1\",\"Rang2\",\"Rang3\",\"Rang4\",\"Rang5\",\"Rang6\",\"Rang7\"}, // Mentõk {\"Rang1\",\"Rang2\",\"Rang3\",\"Rang4\",\"Rang5\",\"Rang6\",\"Rang7\"}, {\"Rang1\",\"Rang2\",\"Rang3\",\"Rang4\",\"Rang5\",\"Rang6\",\"Rang7\"}, {\"Rang1\",\"Rang2\",\"Rang3\",\"Rang4\",\"Rang5\",\"Rang6\",\"Rang7\"}, {\"Rang1\",\"Rang2\",\"Rang3\",\"Rang4\",\"Rang5\",\"Rang6\",\"Rang7\"} }; new DFunc[MAX_PLAYERS] = -1; // Dialog Funckció new DID[MAX_PLAYERS][50]; // 50 list item azonosító public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case DIALOG_LEADER: { if(!response) { return 1; } DFunc[playerid] = listitem; if(listitem == 0) { PlayerDialog(playerid,PD_OUT_OF_FACTIONS); } else if(dialogid == 1 || dialogid == 2) { PlayerDialog(playerid,PD_IN_THE_FACTION); } return 1; } case DIALOG_PLAYER: { if(!response) { return 1; } if(DFunc[playerid] == 0) // inv { // inv funkció // // pl: PlayerInvPlayer(playerid,DID[listitem]); } else if(DFunc[playerid] == 1) // rang { ShowPlayerRanks(DID[playerid][listitem],playerid); // ki rangját, kinek } else if(DFunc[playerid] == 2) // kick { // kick funkció // // pl: PlayerKickPlayer(playerid,DID[playerid][listitem]); } DFunc[playerid] = -1; return 1; } case DIALOG_RANK: { playerInfo[DFunc[playerid]][LeaderRang] = listitem; // szövegek DFunc[playerid] = -1; return 1; } } return 0; } public OnPlayerCommandText(playerid,cmdtext[]) { if(!strcmp(cmdtext,\"/leader\",true)) { if(playerInfo[playerid][LeaderRang] < 7) { SendClientMessage(playerid,COLOR_RED,\"Nem vagy leader !\"); return 1; } ShowPlayerDialog(playerid,DIALOG_LEADER,DIALOG_STYLE_LIST,\"Leader funkciók:\",\"Tagfelvétel\\nElõléptetés\\nKirúgás\",\"Ok\",\"Mégse\"); } return 0; } forward PlayerDialog(playerid,type); public PlayerDialog(playerid,type) { new s,str[512],name[MAX_PLAYER_NAME]; // str cella száma max Slot*MAX_PLAYER_NAME legyen ha mondjuk 50 slotos a szerver akkor 50*24=1200 switch(type) { case PD_OUT_OF_FACTIONS: { for(new i; i < GetMaxPlayers(); i++) { // ha azt szeretnéd hogy a játékos magát ne lássa akkor ezt is írd be: || playerid == i if(!IsPlayerConnected(i) || playerInfo[LeaderWork] < 0) { continue; } DID[playerid] = i; GetPlayerName(i,name,MAX_PLAYER_NAME); if(!s) { format(str,sizeof(str),\"%s\",name); } else { format(str,sizeof(str),\"%s\\n%s\",str,name); } s++; } } case PD_IN_THE_FACTION: { for(new i; i < GetMaxPlayers(); i++) { // ha azt szeretnéd hogy a játékos magát ne lássa akkor ezt is írd be: || playerid == i if(!IsPlayerConnected(i) || playerInfo[playerid][LeaderWork] != playerInfo[LeaderWork]) { continue; } DID[playerid] = i; GetPlayerName(i,name,MAX_PLAYER_NAME); if(!s) { format(str,sizeof(str),\"%s\",name); } else { format(str,sizeof(str),\"%s\\n%s\",str,name); } s++; } } default: { SendClientMessage(playerid,COLOR_RED,\"Hibás játékos listázás !\"); return 1; } } ShowPlayerDialog(playerid,DIALOG_PLAYER,DIALOG_STYLE_LIST,\"Játékosok:\",str,\"Ok\",\"Mégse\"); return 1; } forward ShowPlayerRanks(playerid,forplayerid); public ShowPlayerRanks(playerid,forplayerid) { if(playerInfo[forplayerid][LeaderRang] < 7) { SendClientMessage(forplayerid,COLOR_RED,\"Nem vagy leader !\"); return 1; } else if(playerInfo[playerid][LeaderWork] == 0) { SendClientMessage(forplayerid,COLOR_RED,\"Ez a játékos nincs frakcióban !\"); return 1; } else if(playerInfo[playerid][LeaderWork] != playerInfo[forplayerid][LeaderWork]) { SendClientMessage(forplayerid,COLOR_RED,\"Ez a játékos nincs frakciódban !\"); return 1; } // new rstr[32],rsstr[128]; DFunc[forplayerid] = playerid; GetPlayerName(playerid,rstr,MAX_PLAYER_NAME); strins(rstr,\" rangja:\",strlen(rstr),32); for(new i; i < MAX_RANKS; i++) { if(!i) { format(rsstr,64,\"%d. %s\",i,Ranks[playerInfo[forplayerid][LeaderWork]-1]); } else { format(rsstr,64,\"%s\\n%d. %s\",rsstr,i,Ranks[playerInfo[forplayerid][LeaderWork]-1]); } } // ShowPlayerDialog(forplayerid,DIALOG_RANK,DIALOG_STYLE_LIST,rstr,rsstr,\"Ok\",\"Mégse\"); return 1; } DID 1. cella indexét nem adtam meg, javítva Kick Dialog Func átírva 2-esre visszatérési értékek dialognál
1619
« Dátum: 2012. szeptember 10. - 20:50:25 »
csak ugye elõre meghatározott rangok vannak, ezért érné meg listából kiválasztani és nem beírni a számát... mondjuk így nézne ki egy dialog: 1 Rang1 2 Rang2 3 Rang3 4 Rang4 5 Rang5 ... és mondjuk jelölni is lehetne valamilyen szinnel hogy a játékos milyen rangban van, szerintem akkor lenne értelme a szöveg beíráshoz ha ténylegesen a rang szövegét tudná a leader megválasztani vele, de ha neked úgy kell akkor megcsinálhatom olyanra csak szerintem a lista jobb megoldás lenne mivel a rangokat nem tudja megváltoztatni
1620
« Dátum: 2012. szeptember 10. - 20:37:46 »
akkor nem lenne megfelelõbb oda is lista? és a rang neveket tárolod már tömbben vagy mindig amikor szüksége van rájuk \'leírod\' ? tehát mondjuk: new Ranks[MAX_FACTIONS][MAX_RANKS] = { {\"Gyakornok\",\"Orvos\",\"Sebész\"....}, {\"Kadét\",\"Õrmester\"....} }
vagy: if(playerInfo[playerid][LeaderWork] == 1) { if(playerInfo[playerid][LeaderRang] == 1) { rank = \"Gyakornok\"; } else if(playerInfo[playerid][LeaderRang] == 2) { rank = \"Orvos\"; } }
Oldalak: 1 ... 106 107 [108] 109 110 ... 121
|