Programy przydatne w cantrowaniu

Forum dla graczy do pisania ogólnych próśb o pomoc. Zarówno członkowie załogi i doświadczeni gracze mogą na nim pomóc w rozwiązaniu problemów, z jakimi spotkają się gracze. Prosimy nie prowadzić pogawędek na tym forum.

Moderators: Public Relations Department, Players Department

User avatar
BZR
Posts: 1483
Joined: Wed Aug 02, 2006 5:44 pm
Location: Poland

Postby BZR » Thu Jun 07, 2007 7:05 pm

ciekawe, czy doczekamy czasów, gdy cantrować będzie można przy pomocy programu a nie przeglądarki... zwiększyłoby to wygodę i zluzowało serwery.
pipok
Posts: 397
Joined: Tue Oct 31, 2006 6:45 am

Postby pipok » Fri Jun 08, 2007 7:56 am

Artur wrote:hmm, php jest proste w pisaniu, na javie mniej sie znam
Mówię o języku Javascript, nie o Javie.

serwer obslugujacy php mam, wiec jakby co udostepnie jak komus sie zechce napisac
A jak ten Twój serwer będzie akurat niedostępny? ;) Javascript ma tę zaletę, że nie potrzebuje serwera, w ogóle nie trzeba być on-line.

taki kalkulator mozna i w turbo pascalu napisac i tez u wszystkich pojdzie :lol:
Mylisz się. Nie pójdzie u tych, którzy pracują na MacOSX, Linuksie albo *BSD - binarka nie będzie pasować.
zreszta wszyscy maja teraz winy xp wiec i z .NET powinno u wszystkich pojsc
Daleko nie wszyscy mają XP, to po pierwsze. Po drugie, nawet ci, co mają XP, nie potrzebują od razu instalować .NET, bo po co? Żeby mieć kalkulatorek? Daj spokój, .NET to kobyła.

Jeśli można bardzo łatwo uniknąć dyskryminowania użytkowników, po prostu wybierając neutralne względem platformy rozwiązanie, odpowiedni język, to w imię czego proponować coś, co chodzi tylko u części z nich?
pipok
Posts: 397
Joined: Tue Oct 31, 2006 6:45 am

Postby pipok » Fri Jun 08, 2007 8:00 am

Czy chodzi o taki kalkulatorek?

Code: Select all

<html>
<head>
   <title>Żelazo</title>
<script>
function sim() {
var ruda, opal, wapien;
var zelazo = document.forma.zelazo.value;
var jaki_opal;
for (i=0;i<document.forma.S1.length;i++){
   if (document.forma.S1[i].checked){
      jaki_opal=i;
      break;
   }
}
switch (jaki_opal) {
   case 0: {
      ruda=(zelazo/350)*700;
      opal=(zelazo/350)*420;
      wapien=(zelazo/350)*1400;
      break;
      }
   case 1: {
      ruda=(zelazo/350)*700;
      opal=(zelazo/350)*700;
      wapien=(zelazo/350)*1400;
      break;
      }
   case 2: {
      ruda=(zelazo/525)*700;
      opal=(zelazo/525)*140;
      wapien=(zelazo/525)*1400;
      break;
      }
   }
document.getElementById('ruda').innerHTML = '<b>' + Math.round(ruda) + '</b>'
document.getElementById('opal').innerHTML = '<b>' + Math.round(opal) + '</b>'
document.getElementById('wapien').innerHTML = '<b>' + Math.round(wapien) + '</b>'
}
</script>
</head>

<body>
<div align='center'>
<h2>Wytop żelaza w piecu</h2>
<form name="forma">
<table>
<tr><td>Ile chcesz otrzymać żelaza:
   <input id='zelazo' type='text' size='4' maxlength='6' onchange='sim()'> gram</td>
<tr><td>Opał
   <br>
   <input type='radio' name='S1' onchange='sim()'>węgiel
   <br>
   <input type='radio' name='S1' onchange='sim()'>węgiel drzewny
   <br>
   <input type='radio' name='S1' onchange='sim()'>propan
<tr><td>Ruda: <td id='ruda'>
<tr><td>Opał: <td id='opal'>
<tr><td>Wapień: <td id='wapien'>
</table>
</form>
</div>
</body></html>
Last edited by pipok on Thu Jun 21, 2007 6:14 am, edited 1 time in total.
pipok
Posts: 397
Joined: Tue Oct 31, 2006 6:45 am

Postby pipok » Fri Jun 08, 2007 8:10 am

BZR wrote:ciekawe, czy doczekamy czasów, gdy cantrować będzie można przy pomocy programu a nie przeglądarki... zwiększyłoby to wygodę i zluzowało serwery.
Nie sądzę. Musiałyby być wersje klienta dla różnych systemów (Win/Linux/BSD). Inaczej gra byłaby niedostępna dla ludzi, którzy mają inne systemy niż Jedyny Słuszny System Operacyjny.
Poza tym, wiele to serwera nie zluzuje. Serwer jest przeciążany głównie przetwarzaniem cyklicznym bazy - przede wszystkim migracje, ataki, rozmnażanie się zwierząt, dużo mniej obciąża go naliczanie projektów, podróży itp. czy bieżące zapytania od przeglądarek graczy. W Cantrze nie ma generowanej w czasie rzeczywistym grafiki, więc program-klient dla Cantra nic specjalnie by nie ułatwiał graczowi ani serwerowi. Nie bardzo sobie wyobrażam, jak miałby pomóc.[/url]
pipok
Posts: 397
Joined: Tue Oct 31, 2006 6:45 am

Postby pipok » Tue Jun 19, 2007 4:29 pm

pipok wrote:Czy chodzi o taki kalkulatorek?

Code: Select all

<html>
<head>
   <title>Żelazo</title>
   <meta>
<script>
...
Błeee, pozjadało kod przy konwersji.
EDIT: poprawiłem
Last edited by pipok on Thu Jun 21, 2007 6:15 am, edited 1 time in total.
User avatar
BZR
Posts: 1483
Joined: Wed Aug 02, 2006 5:44 pm
Location: Poland

Postby BZR » Tue Jun 19, 2007 4:51 pm

Pipok, czyli lagi są generowane głównie przez obliczenia? W takim razie chyba najlepszym rozwiązaniem dla przyśpieszenia działania całości byłoby usunięcie najbardziej operacjochłonnych elementów kodu.. czyli ataki zwierząt i migracje stworzeń (chyba już to zostało zrobione).

Osobiście proponowałbym pozbycie się zwierząt w tej formie w jakiej są. Polowanie można by uczynić projektem(tak jak rybołówstwo), a z resztą należało by poczekać na indywidualizację stworzeń (hodowle itd). Ważniejsza chyba jest przyjemność z gry niż polowanie na zwierzęta, których w starych polskich strefach brakuje zupełnie, a w mniej zamieszkałych strefach jest ich wręcz śmiertelna ilość. (np francuska, gram tam jedną postacią, i w lokacji jest po 40 wild boarów i bearów...)

Wracając do programu - miałby napisanie go dla wielu środowisk to chyba tylko kwestia małych zmian w kodzie i wyboru różnych kompilatorów?

Zdecydowanie zmniejszyłby on transfer danych z serwera i zlikwidował zapytania php.

I ostatnio, najważniejszy plus - graczom byłoby łatwiej. Krócej by się wczytywało, wygodniejsze w obsłudze... a poza domem dalej można by używać przeglądarki.
pipok
Posts: 397
Joined: Tue Oct 31, 2006 6:45 am

Postby pipok » Wed Jun 20, 2007 6:13 am

BZR wrote:Pipok, czyli lagi są generowane głównie przez obliczenia? W takim razie chyba najlepszym rozwiązaniem dla przyśpieszenia działania całości byłoby usunięcie najbardziej operacjochłonnych elementów kodu.. czyli ataki zwierząt i migracje stworzeń (chyba już to zostało zrobione).
Przez obliczenia dla około dwóch milionów zwierzaków. Indywidualnych. PD potwierdził te przypuszczenia. Ostatnie uproszczenia (brak zwierząt na drogach) spowodowały, że lagi zniknęły.
BZR wrote:Osobiście proponowałbym pozbycie się zwierząt w tej formie w jakiej są. Polowanie można by uczynić projektem(tak jak rybołówstwo), a z resztą należało by poczekać na indywidualizację stworzeń (hodowle itd).
No więc, kiedyś zwierzęta kiedyś występowały w kodzie jako grupy. Indywidualizacja już została wykonana. Zwierzęta SĄ indywidualne. Stąd problemy z obliczeniami dla ogromnej ilości stworzeń. Mimo przedstawianych na forum sugestii zredukowania lagów przez powrót do starego systemu operowania grupą, zwierzęta pozostały indywidualne właśnie dlatego, że indywidualizacja to podstawa do wprowadzenia hodowli, a powrót (tymczasowy!) do starego kodu wymagałby zbyt wiele pracy.
BZR wrote:polowanie na zwierzęta, których w starych polskich strefach brakuje zupełnie
Na jednych wyspach brakuje, na innych jest 100-200 sztuk w jednej lokacji.

BZR wrote:Wracając do programu - miałby napisanie go dla wielu środowisk to chyba tylko kwestia małych zmian w kodzie i wyboru różnych kompilatorów?
Niekoniecznie różnych - GCC ;)
Ale raczej miałby to być program działający w środowisku graficznym, prawda? Z czego miałby więc korzystać, żeby faktycznie wymagał tylko małych różnic w kodzie? Dajmy na to, że z GTK. Wtedy znowu wracamy do problemu wyróżniania użytkowników - dla wygody programisty - zamiast neutralności. Zauważ też, że taki program "ktoś" musi napisać. Łącznie z sensownym interfejsem użytkownika. Program dublujący to, co już jest zrobione, skryptami php po stronie serwera i przeglądarką po stronie użytkownika.
BZR wrote:Zdecydowanie zmniejszyłby on transfer danych z serwera i zlikwidował zapytania php.
Nie bardzo sobie wyobrażam likwidację zapytań do bazy. Program, tak czy owak, zapytania do bazy musiałby słać. Że nie za pośrednictwem php? Tym gorzej. Problem dla PD byłby taki, że w przypadku wprowadzania zmian w grze trzeba jednocześnie zmieniać i skrypty po stronie serwera, i proponowany program kliencki. Suuuper, marzenie każdego zarządzającego projektem.

Last but not least:
Powtórzę to jeszcze raz - specjalny program kliencki niewiele zmieni, bo serwer przeciążało obliczanie zachowań dla ogromnych ilości zwierząt, a nie obsługa graczy.

Mam nadzieję, że marol skomentuje ten pomysł choćby krótko, jednym zdaniem.
User avatar
marol
Posts: 3728
Joined: Sun Jul 17, 2005 11:45 am
Location: Kraków, PL
Contact:

Postby marol » Wed Jun 20, 2007 7:01 am

Pipok ma rację.
  • Cantr II to obecnie około 40 tys. linii kodu PHP. Napisanie klienta desktopowego oznaczałoby masę pracy na przepisanie tego wszystkiego jeszcze raz.
  • Ponadto kod Cantr jest ciągle modyfikowany, czasami kilka razy dziennie. Jak zmodyfikować kod aplikacji zainstalowanych na tysiącach serwerów? Da się, ale niełatwo.
  • Dodatkowo dochodzą kwestie osłabionego bezpieczeństwa - ludzie, którzy grają w różne gry online przy pomocy programów wiedzą ile różnego rodzaju exploitów powstaje.
  • Poza tym nie każdy ma możliwość instalowana programu na komputerze na którym pracuje. Obecnie, żeby zajrzeć do gry wystarczy wstąpić do kafejki lub kumpla. Przeglądarka już jest, program do Cantra trzeba by wszędzie ściągać.
  • Na koniec wspomnę tylko, że to wcale nie zmniejszyłoby obciążenia serwera bazodanowego, który jest wąskim gardłem systemu.
(SRVPRC)
Image
Azer
Posts: 16
Joined: Thu Jun 14, 2007 6:33 pm
Location: Rotmanka, Poland

Postby Azer » Wed Jun 20, 2007 4:45 pm

Offtop:
Co mozna zrobic za pomoca PHP, java, html?
Naprzyklad przyklady :-D
Gdzie ty sie nauczyles HTML'a?
User avatar
BZR
Posts: 1483
Joined: Wed Aug 02, 2006 5:44 pm
Location: Poland

Postby BZR » Wed Jun 20, 2007 7:31 pm

Pipok, Marol - takżeście to wyargumentowali, że nie da się dalej sprzeczać:)

Azer - do kogo to?

Jeśli do mnie to ani html ani Javi ani php nie mam dobrze opanowanego. Do skromnych projektów, które tworze wystarcza c++ poszerzony o rozmaite biblioteki.
Azer
Posts: 16
Joined: Thu Jun 14, 2007 6:33 pm
Location: Rotmanka, Poland

Postby Azer » Wed Jun 20, 2007 7:35 pm

pipok wrote:Czy chodzi o taki kalkulatorek?

Code: Select all

<html>
<head>
   <title>Żelazo</title>
   <meta>
<script>
function sim() {
var ruda, opal, wapien;
var zelazo = document.forma.zelazo.value;
var jaki_opal;
for (i=0;i<document.forma.S1.length;i++){
   if (document.forma.S1[i].checked){
      jaki_opal=i;
      break;
   }
}
switch (jaki_opal) {
   case 0: {
      ruda=(zelazo/350)*700;
      opal=(zelazo/350)*420;
      wapien=(zelazo/350)*1400;
      break;
      }
   case 1: {
      ruda=(zelazo/350)*700;
      opal=(zelazo/350)*700;
      wapien=(zelazo/350)*1400;
      break;
      }
   case 2: {
      ruda=(zelazo/525)*700;
      opal=(zelazo/525)*140;
      wapien=(zelazo/525)*1400;
      break;
      }
   }
document.getElementById("ruda").innerHTML = "<b>" + Math.round(ruda) + "</b>"
document.getElementById("opal").innerHTML = "<b>" + Math.round(opal) + "</b>"
document.getElementById("wapien").innerHTML = "<b>" + Math.round(wapien) + "</b>"
}
</script>
</head>

<body>
<div>
<h2>Wytop żelaza w piecu</h2>
<form>
<table>
<tr><td>Ile chcesz otrzymać żelaza:
   <input> gram
<tr><td>Opał
   <br>
   <input>węgiel
   <br>
   <input>węgiel drzewny
   <br>
   <input>propan
<tr><td>Ruda: <td>
<tr><td>Opał: <td>
<tr><td>Wapień: <td>
</table>
</form>
</div>
</body></html>

Mowie do pipoka. Fajne to. Ja umiem zrobic tylko szkielet strony ;p


EDIT - A do czego mozna uzyc C++??
User avatar
Gozer
Posts: 71
Joined: Tue Jul 25, 2006 4:56 pm
Location: Poland

Postby Gozer » Wed Jun 20, 2007 10:24 pm

Jeśli ktoś zna się na języku C++ to może mi pomorze chciałem zrobić cos podobnego pipok jak ale nie dokona mi wyszło to co chciałem bo zamiast drukować się tylko jedna linia z potrzebnymi surowcami to drukuje trzy. Może jak ktoś inny na to spojrzy to znajdzie błąd.

#include <conio>
#include <stdlib>
#include <stdio>

void main()
{
float z,r,w,o,p,wd,wk;
clrscr();
printf("propan 1\nwengiel 2\nwegiel drzewny 3\n");
scanf("%f",&o);
printf("podaj ilosc zelaza jaka chcesz wytopic");
scanf("%f",&z);
if (o==1)
{
r=(z/525)*700;
p=(z/525)*140;
w=(z/525)*1400;

printf("\npotrzeba rudy zelaza %f, wapienia %f, propanu %f \n",r,w,p);
}
if (o==2)
{
r=(z/350)*700;
wk=(z/350)*420;
w=(z/350)*1400;

printf("\npotrzeba rudy zelaza %f, wapienia %f, wegiel %f \n",r,w,wk);
}

if (o==3)
{
r=(z/350)*700;
wd=(z/350)*700;
w=(z/350)*1400;

printf("\npotrzeba rudy zelaza %f, wapienia %f, wegla drzewnego %f \n",r,w,wd);
}

getch();
}
Last edited by Gozer on Thu Jun 21, 2007 9:01 am, edited 2 times in total.
Image
User avatar
marol
Posts: 3728
Joined: Sun Jul 17, 2005 11:45 am
Location: Kraków, PL
Contact:

Postby marol » Wed Jun 20, 2007 10:28 pm

W C, C++, C#, PHP i paru innych językach taka linijka powoduje przypisanie, a nie porównanie:
if (o=3) {
// ...
}
Żeby ci to działało musisz użyć porówniania (==), a nie przypisania (=):
if (o==3) {
// ...
}
To bardzo popularny błąd w C++, ale kompilatory zwykle ostrzegają w takich sytuacjach.
(SRVPRC)

Image
User avatar
Gozer
Posts: 71
Joined: Tue Jul 25, 2006 4:56 pm
Location: Poland

Postby Gozer » Wed Jun 20, 2007 10:29 pm

taki głupi błąd :oops:
Last edited by Gozer on Thu Jun 21, 2007 8:51 am, edited 1 time in total.
Image
User avatar
in vitro...
Posts: 1957
Joined: Sun Feb 26, 2006 11:11 pm
Location: Lake Bodom

Postby in vitro... » Wed Jun 20, 2007 11:47 pm

ja zawsze o tych 2 znakach pamiętam (co nie zmienia faktu że nie wiem co to printf i scanf. funkcje?)

Return to “Ogólna pomoc”

Who is online

Users browsing this forum: No registered users and 1 guest