[מדריך]Jail עם טיימר - משחקים Vgames - קהילות
 


נושא: [מדריך]Jail עם טיימר
1
משתמשים פעילים הצופים בנושא זה: 1 (0 משתמשים רשומים ו- 1 אורחים)
 
מחבר הודעה

האווטר המגניב של NonTat

מודל לחיקוי

הודעות: 2,917

חבר בקהילת: -

מנותק

מנותק

#1   פורסם: 27.04, 02:53

ברירת מחדל [מדריך]Jail עם טיימר


המדריך מסביר איך לעשות פקודת /jail עם טיימר
זאת אומרת נגיד תרשמו /jail 0 200 זה ישים את אידי 0 ל 200 שניות בכלא

הכי למעלה תשימו:
forward jtimer(playerid);
new 
jailed[MAX_PLAYERS];
new 
pJailTimer[MAX_PLAYERS]; 
- jtimer בשביל הפאבליק של הטיימר
- jtime בשביל הטיימר
- jailed בשביל שישמור את המידע של השחקן אם הוא בכלא או לא


אחר כך בפאבליק onplayerconnect
jailed[playerid] = 0;
KillTimer(pJailTimer[playerid]); 
- בכדי שאם מישהו יתחבר עם האידי של שחקן שהיה בכלא אז שלא ישים אותו בכלא

אחר כך בפאבליק OnPlayerCommandText

שימו את זה לפני הפקודות:

if(jailed[playerid] == 1)
{
  
SendClientMessage(playerid,0xFFFFFFAA,"you cant do commands in the jail");
  return 
1;

- זה בודק אם השחקן בכלא אם כן הוא לא יוכל לעשות פקודות


if(strcmp(cmd,"/jail",true) == 0)
 {
  new 
tmp[256];
  new 
id;
  new 
sds;
  if(!
IsPlayerAdmin(playerid))
  {
   
SendClientMessage(playerid,0xFFFFFFAA,"SERVER:Your not admin");
   return 
1;
  }
  
tmp strtok(cmdtextidx);
  if(!
strlen(tmp))
  {
   
SendClientMessage(playerid,0xFFFFFFAA,"SERVER:/jail [PlayerId] [sec]");
   return  
1;
  }
        
id strval(tmp);
  
tmp strtok(cmdtext,idx);
  
sds strval(tmp);
  if(!
strlen(tmp))
  {
   
SendClientMessage(playerid,0xFFFFFFAA,"SERVER:/jail [PlayerId] [sec]");
   return  
1;
  }
   if(
jailed[id] == 1)
  {
   
SendClientMessage(playerid,0xFFFFFFAA,"SERVER:the player jailed");
   return 
1;
  }
   if(
IsPlayerConnected(id))
  {
   
pJailTimer[playerid] = SetTimerEx("jtimer",sds*1000,0,"d",id);
   
SetPlayerInterior(id,6);
   
SetPlayerPos(id,264.3591,77.5832,1001.0391);
   new 
string[256];
   new 
name[MAX_PLAYER_NAME];
   
GetPlayerName(id,name,sizeof(name));
   
format(string,256,"the player %s[ID:%d] jailed for %d seconds",name,id,sds);
   
SendClientMessage(playerid,0xFFFFFFAA,string);
   
format(string,256,"you gave been jailed for %d seconds",sds);
   
SendClientMessage(id,0xFFFFFFAA,string);
   
jailed[playerid] = 1;
  }
  else
  {
      
SendClientMessage(playerid,0xFFFFFFAA,"SERVER:Invalid Player ID");
      return 
1;
  }
  return 
1;
 } 
- פה עשינו את הפקודה לשים שחקן בכלא בהתחלה עשינו ניוים
אחר כך בדקו אם השחקן הוא לא אדמין אז שזה ירשום לו הודעה
אחר כך אם השחקן רשם את הפקודה בלי רווח(אידי או זמן) שזה ירשום לו שגיאה
ואז בדקנו אם השחקן בכלא אז שזה ירשום לאדמין שהוא בכלא
ואחר כך בדקנו אם השחקן מחובר אם כן אז שזה ישים אותו בכלא וירשום הודעות
ואם השחקן לא מחובר שזה ירשום invalid player id


if(strcmp(cmd,"/unjail",true) == 0)
 {
  new 
tmp[256];
  new 
id;
  if(!
IsPlayerAdmin(playerid))
  {
   
SendClientMessage(playerid,0xFFFFFFAA,"SERVER:Your not admin");
   return 
1;
  }
  
tmp strtok(cmdtextidx);
  if(!
strlen(tmp))
  {
   
SendClientMessage(playerid,0xFFFFFFAA,"SERVER:/unjail [PlayerId]");
   return  
1;
  }
        
id strval(tmp);
   if(
jailed[id] == 0)
  {
   
SendClientMessage(playerid,0xFFFFFFAA,"SERVER:the player not jailed");
   return 
1;
  }
   if(
IsPlayerConnected(id))
  {
   
SpawnPlayer(playerid);
   
KillTimer(pJailTimer[playerid]); // קרדיט לmidoban
   
jailed[playerid] = 0;
  }
  else
  {
      
SendClientMessage(playerid,0xFFFFFFAA,"SERVER:Invalid Player ID");
      return 
1;
  }
  return 
1;
 } 
-כאן עשינו פקודה לשחרר את השחקן מהכלא בהתחלה עשינו ניואים
ואז בדקנו אם השחקן אדמין אם הוא לא שזה ירשום לו שגיאה
אחר כך בדקנו אם השחקן לא בכלא אם הוא לא בכלא שזה ירשום שגיאה
ואז בדקנו אם השחקן מחובר אם הוא מחובר זה יוציא את השחקן מהכלא
אם השחקן לא מחובר זה ירשום לו שגיאה


אחר כך בסוף המוד שימו את זה:
public jtimer(playerid)
{
jailed[playerid] = 0;
 
SpawnPlayer(playerid);
 
SetPlayerInterior(playerid,0);
 
KillTimer(pJailTimer[playerid]); // קרדיט לmidoban 
 
return 1;

- כאן זה הפאבליק של הטיימר
שהזמן שהגדרתם בפקודה יגמר זה יעשה את הדברים הבאים
(יעשה לשחקן ספאון "יהרוג" את הטיימר וישים את השחקן באינטריור 0

*הקודים לא ממש מסודר בגלל שהוא נבנה בפאונו והעברתי אותו לפה מצטער


*לכל מי שלא כל כך הסתדר הבתי לכם פה הורדה של הפקודה עם כל מה שצריך בקובץ פאון
AMX+PWN - http://rapidshare.com/files/110772278/Jail.rar

זהו עד לפה הפקודה נבנתה על ידי(NonTat) אבל לא ניסיתי אותה רק הרצתי אותה לבדוק שאין וארנינגים וארורים
אם יש משהו לא מובן רשמו פה ואני אשמח להסביר =]

נערך לאחרונה על ידי NonTat, 27.04 בשעה 14:44.


חזרה לראש העמוד

האווטר המגניב של GiP YossI

משתמש ותיק

הודעות: 5,136

חבר בקהילת: -

מנותק

מנותק

#2   פורסם: 27.04, 03:30

C:Documents and SettingsYossI.YOSI.000DesktopGames Locked!SoftwareSERVER SAMPfilterscriptsYAD.pwn(28) : error 017undefined symbol "jailed"
C:Documents and SettingsYossI.YOSI.000DesktopGames Locked!SoftwareSERVER SAMPfilterscriptsYAD.pwn(28) : warning 215expression has no effect
C
:Documents and SettingsYossI.YOSI.000DesktopGames Locked!SoftwareSERVER SAMPfilterscriptsYAD.pwn(28) : error 001expected token";"but found "]"
C:Documents and SettingsYossI.YOSI.000DesktopGames Locked!SoftwareSERVER SAMPfilterscriptsYAD.pwn(28) : error 029invalid expressionassumed zero
C
:Documents and SettingsYossI.YOSI.000DesktopGames Locked!SoftwareSERVER SAMPfilterscriptsYAD.pwn(28) : fatal error 107too many error messages on one line
Compilation aborted
.Pawn compiler 3.2.3664     Copyright (c1997-2006ITB CompuPhase

4 Errors



תמונה אחת שווה אלף מילים:


תעתיקו לחתימה שלכם!


חזרה לראש העמוד

האווטר המגניב של Amit_B

 מתכנת שרת DeathMatch

הודעות: 2,575

חבר בקהילת: -

מנותק

מנותק

#3   פורסם: 27.04, 11:07

GiP YossI
ציטוט:
צפה בהודעה
C:Documents and SettingsYossI.YOSI.000DesktopGames Locked!SoftwareSERVER SAMPfilterscriptsYAD.pwn(28) : error 017undefined symbol "jailed"
C:Documents and SettingsYossI.YOSI.000DesktopGames Locked!SoftwareSERVER SAMPfilterscriptsYAD.pwn(28) : warning 215expression has no effect
C
:Documents and SettingsYossI.YOSI.000DesktopGames Locked!SoftwareSERVER SAMPfilterscriptsYAD.pwn(28) : error 001expected token";"but found "]"
C:Documents and SettingsYossI.YOSI.000DesktopGames Locked!SoftwareSERVER SAMPfilterscriptsYAD.pwn(28) : error 029invalid expressionassumed zero
C
:Documents and SettingsYossI.YOSI.000DesktopGames Locked!SoftwareSERVER SAMPfilterscriptsYAD.pwn(28) : fatal error 107too many error messages on one line
Compilation aborted
.Pawn compiler 3.2.3664     Copyright (c1997-2006ITB CompuPhase
 
4 Errors

לא הגדרת משתנים
---
אממ, אלירן... החלק הזה דפוק :X
if(strcmp(cmd,cmd,true) == 0)
זאת שאלה דפוקה לפאונו, "האם הפקודה שווה לפקודה"? ברור שהיא שווה, היא אותה פקודה! נגיד שהפקודה היא /help אז שאלת פה if(stcmp("/help","/help",true) == 0)... "שאלה רטורית" חחח.
ואגב יכולת לעשות תפקודה בצורה הרבה יותר קצרה


gmR Amit


חזרה לראש העמוד

האווטר המגניב של NonTat

מודל לחיקוי

הודעות: 2,917

חבר בקהילת: -

מנותק

מנותק

#4   פורסם: 27.04, 03:40

:S
מהי שורה 28?


חזרה לראש העמוד

האווטר המגניב של d[0 _o]b

שואף לשלמות

הודעות: 3,687

חבר בקהילת: -

מנותק

מנותק

#5   פורסם: 27.04, 08:20

תודה אחי הצלחתי לסים את זה במוד


|לעזרה| ICQ : 389169879 | בפרטי בפורום|


^^זה בנשמע^^
תגיבו בבקשה
http://forum.vgames.co.il/showthread...31#post2293731
Mr_SandwicH - לשעבר


חזרה לראש העמוד

האווטר המגניב של RealistiC_

עילוי

הודעות: 10,995

חבר בקהילת: -

מנותק

מנותק

#6   פורסם: 27.04, 10:58

תודה..


Samp Player
Name: [LorD]RealistiC_
Clan: LorD Rulezz


אם אתם צריכים אותי:
dor1325@gmail.com



חזרה לראש העמוד

האווטר המגניב של NonTat

מודל לחיקוי

הודעות: 2,917

חבר בקהילת: -

מנותק

מנותק

#7   פורסם: 27.04, 11:14

אני יודע שיכלתי לעשות את הפקודה יותר קצרה
אבל לעבוד ככה יותר נוח לי ויותר מסודר לדעתי

ובקשר למה שאמרת עם cmd
נראה לי שלא הבנת אותי או שאני לא הבנתי אותך לא יודע S:


חזרה לראש העמוד

האווטר המגניב של MidoBan

משתמש רגוע

הודעות: 103

חבר בקהילת: -

מנותק

מנותק

#8   פורסם: 27.04, 11:59

מה קורה אם אתה עושה KillTimer ויש שני שחקנים בכלא?
הטיימרים מתנגשים וזה יצור לך בעיות..
תעשה מערך של טיימרים.

new pJailTimer[MAX_PLAYERS];
 
pJailTimer[playerid] = SetTimerEx(...);
 
KillTimer(pJailTimer[playerid]); 




חזרה לראש העמוד

האווטר המגניב של NonTat

מודל לחיקוי

הודעות: 2,917

חבר בקהילת: -

מנותק

מנותק

#9   פורסם: 27.04, 12:36

צודק
שיניתי
והוספתי גם קיל טיימר ל unjail כדי שהטיימר לא ימשיך אם האדמין שיחרר את השחקן


חזרה לראש העמוד

האווטר המגניב של MidoBan

משתמש רגוע

הודעות: 103

חבר בקהילת: -

מנותק

מנותק

#10   פורסם: 27.04, 12:44

עוד משהו..
pJailTimer[playerid] = SetTimerEx("jtimer",sds*1000,0,"dd",id);
למה כתבת "dd" אם אתה מעביר רק ערך אחד לטיימר?
אמור להיות:
pJailTimer[playerid] = SetTimerEx("jtimer",sds*1000,0,"d",id);
^_^

עריכה:

אני ממליץ לך לעשות ב OnPlayerConnect:
if (jailed[playerid] == 1)
{
    
jailed[playerid] = 0;
    
KillTimer(pJailTimer[playerid]);

אם לא תעשה את זה, אז אם שחקן מתנתק בזמן שהוא בכלא ושחקן אחר מתחבר עם אותו אידי, הוא יקבל סתם רספאון פתאום ולא יבין למה, וגם הטיימר יפעל סתם.

נערך לאחרונה על ידי MidoBan, 27.04 בשעה 12:56.




חזרה לראש העמוד

האווטר המגניב של TheShadow

משתמש רציני

הודעות: 514

חבר בקהילת: -

מנותק

מנותק

#11   פורסם: 27.04, 13:50

if(strcmp(cmd,cmd,true) == 0
מיותר לגמרה,זה כמו להגיד "אם אחד שווה לאחד" זה תמיד אמת,אין יוצא מהכלל וזה מיותר :X



עריכה: עכשיו ראיתי שעמית כבר אמר לך את זה :X הוא הגדיר את זה יפה "שאלה רטורית"

נערך לאחרונה על ידי TheShadow, 27.04 בשעה 13:53.



זה האיפי שלכם לא של השרת XD


חזרה לראש העמוד

האווטר המגניב של NonTat

מודל לחיקוי

הודעות: 2,917

חבר בקהילת: -

מנותק

מנותק

#12   פורסם: 27.04, 14:37

סבבה מידובאן תיקנתי תודה =]
ואמיר ועמית לא הבנתי מה אתם רוצים עדיין :S
סבבה אז יש לכם רעיון אחר? אני זוכר ראיתי את זה באיזה מוד אז עשיתי גם
לא התווכחתי עם זה כי אני יודע שזה פעל

עריכה:
אם אני יעשה ככה זה גם יפעל לא?

if(jailed[playerid] == 1)
{
SendClientMessage(playerid,0xFFFFFFAA,"you cant do commands in the jail");
return 
1;


נערך לאחרונה על ידי NonTat, 27.04 בשעה 14:43.


חזרה לראש העמוד

האווטר המגניב של TheShadow

משתמש רציני

הודעות: 514

חבר בקהילת: -

מנותק

מנותק

#13   פורסם: 27.04, 15:09

פונקצית STRCMP
משווה בין 2 סטרינגים עכשיו כשאתה עושה
strcmp(cmd,cmd,true)
אתה אומר לו להשוות את CMD עם CMD
עכשיו CMD שווה ל CMD כי כל ערך שווה לעצמו לא? ולכן זה מיותר,זה בערך כמו לישאול שאלה רטורית



זה האיפי שלכם לא של השרת XD


חזרה לראש העמוד

האווטר המגניב של NonTat

מודל לחיקוי

הודעות: 2,917

חבר בקהילת: -

מנותק

מנותק

#14   פורסם: 27.04, 16:32

חחח סבבה הבנתי =]
פשוט פעם לא זוכר איפה ראיתי שעשו ככה אז זכרתי את זה ועשיתי גם ככה
אבל בסדר עכשיו הבנתי


חזרה לראש העמוד

משתמש צעיר

הודעות: 42

חבר בקהילת: -

מנותק

מנותק

#15   פורסם: 28.04, 12:14

תודה, כל הכבוד על ההשקעה ;)


חזרה לראש העמוד
פרסומת

האווטר המגניב של <<§FaKe§>>

מודל לחיקוי

הודעות: 2,367

חבר בקהילת: -

מחובר

מחובר

#16   פורסם: 27.09, 22:56

שמתי את זה וזה דפק לי את כל המוד אבל סידרתי את זה


ClaN: DiZeL Clan
Vg 3 LeVeL:12
Admin LeVeL 5
TNT_הקלאן והאגדה_TNT
_-_גם אני הייתי ב TNT_-_




חזרה לראש העמוד
1

 

 
משחקי מחשב, פלייסטיישן 1-2-3, נינטנדו ואקסבוקס קונים במונסטר
 

 

הגדרות נושא
אפשרויות הצגת נושא