ОБратно броене

paneznam

Registered
Здравейте търся си скрипт който е таймер който брои на обратно (ОБРАТНО БРОЕНЕ) и след като изте4е времето да се извършва някак ва функция на php скрипта може да е java html абе квото се сетите само след като изте4е да се извършва фонкция на пхп!???
 
Не гледах ги ве4е аз искам не да гледа дати а просто като се стартира да изте4е даденото време и да се изпълни php функция!
 
Не може да зададеш на PHP script да извърши нещо без потребителска намеса.
С две думи някой трябва да стартира скрипта иначе той няма да изпълни нищо никога.




Ако искаш скрипта да извърши някакво действие на 10.10.06 -
примерно да запише нещо в базата данни или да изтрие някой файл или да изпрати писмо на еди кой си няма да стане ако не стартираш скрипта или някой друг не го стартира.
 
Е ще се стартира от потребител и примерно ще стане така

вашия часовник ще пристигне след 30 мин ($тиме) разбираш ли потребителя го задейства и след като изтече времето да извърши функция на пхп?
 
Да. Разбирам какво иска.
Потребителя стартира действието и всичко е ОК но след 30 мин. Няма да се случи нищо.


Ето ти пример.

Гласуваш в една анкета и твоя глас е отчетен.
Опитваш се пак и ти казва, че може да гласуваш пак след 30 мин.
След 30 минути влизаш и пак ти разрешава да гласуваш.

Значи ако си гласувал в 3.30 ще може да гласуваш пак в 4.
Натискаш в 4 и скрипта проверява кога последно си глсувал.
ВИжда, че е в 3.30 и си казва "Този го пускам, защото е гласувал преди
30 мин".

Два пъти стартираш скрипта нали?

Няма как скрипта да работи постоянно .
НЕ е като някое .exe на личния ти комп което бачка постоянно.
Скрипта се изпълнява само веднъж и то най често за част от секундата.
Ако напишеш някакъв цикъл който е безкраен най вероятно ще спре на 20 секунда.
Повечето хостове спират изпълнението на скриптове след 20 секунда.

Tчно това е проблема на PHP скриптовете.
Трябва някой да го стартира за да извършат нещо (елементарна проверка примерно).
 
А...
Ето ти и един друг пример който може да ти е от полза:

Има online игри.
Там целта е да събираш примерно ресурси.
Ставаш от компа и си на 1000 ресурса (примерно) .
Въпреки, че не играеш в момента и не си в играта тя трябва да ти добавя автоматично по 100 ресурса на час.

Ама тя не ги добавя докато те няма.
Като се логнеш след 10 часа ще стартираш скрипта -
той ще провери на колко ресурса си станал, колко часа са минали от тогава и
ще ти добави ресурсите.
Щем се логнеш и стартираш скрипта той ще извърши всички тези действия и пресмятания и ще ти сервира:
"Вас ви нямаше 10 часа но сте натрупали още 1000 ресураса.
Сега сте с общо 200 ресурса".

Може някой играч да си помисли, че играта му ги прибавя всеки час но това не е така. :)
 
преди време бях слагал такъв скрипт в уроците скрипта е на JS и до колкото си спомням може де извършва дадена функция след като изтече времето
 
mizarck каза:
преди време бях слагал такъв скрипт в уроците скрипта е на JS и до колкото си спомням може де извършва дадена функция след като изтече времето

Само ако си държиш браузер-а включен постоянно (докато не изтече времето) иначе няма как да работи този JS скрипт.
JS криптовете се изпълняват в браузера а PHP криптовете се изпълняват на сървъра.
 
да така е admin
скрипта действа много просто
трябва само да му зададеш дата на коята ще спре броенето и като стане тази дата ти изписва нещо от сорта
времето вече изтече
и вместо това може да си сложи някаква функция
е разбирасе че това време може да си прескочи като потребителя си настрои часовника на датата която е дадена
 
admin каза:
А...
Ето ти и един друг пример който може да ти е от полза:

Има online игри.
Там целта е да събираш примерно ресурси.
Ставаш от компа и си на 1000 ресурса (примерно) .
Въпреки, че не играеш в момента и не си в играта тя трябва да ти добавя автоматично по 100 ресурса на час.

Ама тя не ги добавя докато те няма.
Като се логнеш след 10 часа ще стартираш скрипта -
той ще провери на колко ресурса си станал, колко часа са минали от тогава и
ще ти добави ресурсите.
Щем се логнеш и стартираш скрипта той ще извърши всички тези действия и пресмятания и ще ти сервира:
"Вас ви нямаше 10 часа но сте натрупали още 1000 ресураса.
Сега сте с общо 200 ресурса".

Може някой играч да си помисли, че играта му ги прибавя всеки час но това не е така. :)

Е добре де значи това търся точно това ми трябваше,обаче няма да са ресурси а сграда давам му дая построи и то е строй за определеното време!
абе нема значение можеш л ида дадеш такъв скрипт като тоя където го обясняваш в примера си!?
 
admin каза:
А...
Ето ти и един друг пример който може да ти е от полза:

Има online игри.
Там целта е да събираш примерно ресурси.
Ставаш от компа и си на 1000 ресурса (примерно) .
Въпреки, че не играеш в момента и не си в играта тя трябва да ти добавя автоматично по 100 ресурса на час.

Ама тя не ги добавя докато те няма.
Като се логнеш след 10 часа ще стартираш скрипта -
той ще провери на колко ресурса си станал, колко часа са минали от тогава и
ще ти добави ресурсите.
Щем се логнеш и стартираш скрипта той ще извърши всички тези действия и пресмятания и ще ти сервира:
"Вас ви нямаше 10 часа но сте натрупали още 1000 ресураса.
Сега сте с общо 200 ресурса".

Може някой играч да си помисли, че играта му ги прибавя всеки час но това не е така. :)

И как ще стане това обясни? :(
 
НЯма подобен скрипт.
Просто това не е скрипт а система.

Трябва да има база данни и поне 10-20 други скрипта.

Всичко е вързано.
НЕ може да се напише един скрипт и да се прикрепи към дадена игра.

Ако си почнал да пишеш online игра ще трябва да почнеш от проектирането на базата данни и логването.
Най накрая идва скрипта за строене на сгради и добиване на ресурси.

Мога да ти дам прост алгоритъм.

Примерно човека си избира сграда за строеж.

Натиска "Създай сградата" и се стартира часовника.

Под стартира часовника разбирай :
Записва в базата данни, че еди кой си играч (ID на играча) е започнал да строи еди каква си сграда (ID на сградата) в еди колко си час/мин/сек/
на еди коя си дата ( записваш датата в unix time примерно равна на $data )

Ще се построи в $datafinal=$data+ $data2; като $data2 е 10 часа в unix
формат.


Следващия път когато човека влезе в игра ( може и още да си е логнат
и просто да е дал рефреш) ще му изписва остават ви еди колко си часа
до построяването на еди коя си сграда.
Ако влезе след 15 часа ще му покаже, че сградата е построена и
ще му запише в базата данни, че вече я притежава.
В същото време примерно ще изтрие данните за започването на строежа.

Това е само 1% от работата. :?
 
Код:
 <script language="JavaScript1.2">


function setcountdown(theyear,themonth,theday){
yr=theyear;mo=themonth;da=theday
}

//////////CONFIGURE THE COUNTDOWN SCRIPT HERE//////////////////

//STEP 1: Configure the countdown-to date, in the format year, month, day:
setcountdown(2006,06,15)

//STEP 2: Change the two text below to reflect the occasion, and message to display on that occasion, respectively
var occasion="no daskalo!"
var message_on_occasion="4estiti ti ve4e si vuv vakanciq!"

//STEP 3: Configure the below 5 variables to set the width, height, background color, and text style of the countdown area
var countdownwidth='480px'
var countdownheight='20px'
var countdownbgcolor='lightblue'
var opentags='<font face="Verdana"><small>'
var closetags='</small></font>'

//////////DO NOT EDIT PASS THIS LINE//////////////////

var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
var crosscount=''

function start_countdown(){
if (document.layers)
document.countdownnsmain.visibility="show"
else if (document.all||document.getElementById)
crosscount=document.getElementById&&!document.all?document.getElementById("countdownie") : countdownie
countdown()
}

if (document.all||document.getElementById)
document.write('<span id="countdownie" style="width:'+countdownwidth+'; background-color:'+countdownbgcolor+'"></span>')

window.onload=start_countdown


function countdown(){
var today=new Date()
var todayy=today.getYear()
if (todayy < 1000)
todayy+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todayh=today.getHours()
var todaymin=today.getMinutes()
var todaysec=today.getSeconds()
var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
futurestring=montharray[mo-1]+" "+da+", "+yr
dd=Date.parse(futurestring)-Date.parse(todaystring)
dday=Math.floor(dd/(60*60*1000*24)*1)
dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
//if on day of occasion
if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=1&&todayd==da){
if (document.layers){
document.countdownnsmain.document.countdownnssub.document.write(opentags+message_on_occasion+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+message_on_occasion+closetags
return
}
//if passed day of occasion
else if (dday<=-1){
if (document.layers){
document.countdownnsmain.document.countdownnssub.document.write(opentags+"Occasion already passed! "+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+"Occasion already passed! "+closetags
return
}
//else, if not yet
else{
if (document.layers){
document.countdownnsmain.document.countdownnssub.document.write(opentags+dday+ " days, "+dhour+" hours, "+dmin+" minutes, and "+dsec+" seconds left until "+occasion+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+dday+ " days, "+dhour+" hours, "+dmin+" minutes, and "+dsec+" seconds left until "+occasion+closetags
}
setTimeout("countdown()",1000)
}
</script>

<ilayer id="countdownnsmain" width=&{countdownwidth}; height=&{countdownheight}; bgcolor=&{countdownbgcolor}; visibility=hide><layer id="countdownnssub" width=&{countdownwidth}; height=&{countdownheight}; left=0 top=0></layer></ilayer>
 

Back
Горе