TestMax.dk Paster
  • Forside
  • Print
  • Bookmark
  • Kontakt
  • SiteMap


infobox infobox
 

CS Server Script

05-10-2006 19:41:54
 
 
Muligheder (Anmeld)
Skrevet af dStar
Kliks 2564
Kategori mIRC Guide's
Counter-Strike Server Info Script

Hej alle i testmax'er :) Er blevet spurgt om jeg vil prøve guide jer igennem en gang CS Server Script Guide, og vil jeg da med glæde prøve.. Såå laad os da komme igang :)

on *:TEXT:!Server*:#: {
if ($2) { set %chan $chan | sockudp -k server $replace($2,:,$chr(32)) ÿÿÿÿTSource Engine Query | .timerout 1 2 timeout }
else { msg $chan Husk at skrive en IP Adresse }
}


Her tjekker vi om $2 er sat (Altså ordet efter !Server), hvis den er sat køre vi vores sockudp.
Hvis ikke $2 er sat, hopper vi ned til else hvor den vil skrive at der skal skrives en IP Adresse.
Timeren bruges til at tjekke om den for info fra serveren, hvis ikke skriver den at den ikke kunne få send info.

Få et lille eksempel på vores sockudp:

- sockudp -k [NAVN] [IP hvor den er delt op i 2 ved ':' tegnet] ÿÿÿÿTSource Engine Query
- ÿÿÿÿTSource Engine Query [Dette er til at køre den nye protocol]

Så har vi vores timeout(alias) som vi bruger hvis den ikke kan få info fra serveren. Hvis ikke det lykkes at få hentet info, vil den skrive på din channel at der ikke kunne hentes data.

alias timeout {
if (%chan) { msg %chan Kunne ikke hente info.. | unset %chan }
}


Ned til det lidt mere inviklet del af scriptet.
Ja, det er så vores udpread, som vi har sat igang oppe ved vores sockudp.

on *:udpread:server: {
sockread &info
var %i = $calc($bfind(&info,1,0) + 1)
var %name = $bvar(&info,%i,100).text
inc %i $calc($len(%name) + 1)
var %map = $bvar(&info,%i,100).text
inc %i $calc($len(%map) + 1)
var %mod = $bvar(&info,%i,100).text
inc %i $calc($len($bvar(&info,%i,100).text) + 1)
inc %i $calc($len($bvar(&info,%i,100).text) + 1)
var %numplayers = $bvar(&info,%i,1)
inc %i
var %maxplayers = $bvar(&info,%i,1)
inc %i 4
var %password = $bvar(&info,%i,1)
msg %chan Navn: %name - Bane: %map - Type: %mod - Spiller: %numplayers $+ / $+ %maxplayers - Kodeord: %password | unset %chan | .timerout off
}


Vi starter med at læse fra serveren ved at bruge sockread &info som er sat i bvar.
Derefter køre den der ud af med at hente info. Som i nok kan se har det en længere forklaring jeg faktisk ikke helt selv kender helt til ;)

Det info der vil komme i jeres variabler:

%name = Navnet på serveren
%map = Navnet på mappet
%mod = Hvad type der bliver spillet (Fx Counter-Strike)
%numplayers = Antal spillere på serveren
%maxplayers = Antal spillere der max kan være på serveren
%password = Om der er kode på serveren (1 eller 0)

Prikken over i'et så har jeg sat en msg %chan på, så den skriver alt info ud på din channel.

Hele Scriptet:

on *:TEXT:!Server*:#: {
if ($2) { set %chan $chan | sockudp -k server $replace($2,:,$chr(32)) ÿÿÿÿTSource Engine Query | .timer 1 2 timeout }
else { msg $chan Husk at skrive en IP Adresse }
}

alias timeout {
if (%chan) { msg %chan Kunne ikke hente info.. | unset %chan }
}

on *:udpread:server: {
sockread &info
var %i = $calc($bfind(&info,1,0) + 1)
var %name = $bvar(&info,%i,100).text
inc %i $calc($len(%name) + 1)
var %map = $bvar(&info,%i,100).text
inc %i $calc($len(%map) + 1)
var %mod = $bvar(&info,%i,100).text
inc %i $calc($len($bvar(&info,%i,100).text) + 1)
inc %i $calc($len($bvar(&info,%i,100).text) + 1)
var %numplayers = $bvar(&info,%i,1)
inc %i
var %maxplayers = $bvar(&info,%i,1)
inc %i 4
var %password = $bvar(&info,%i,1)
msg %chan Navn: %name - Bane: %map - Type: %mod - Spiller: %numplayers $+ / $+ %maxplayers - Kodeord: %password | unset %chan
}



Håber i kan bruge det, kan desværre ikke forklare det bedre end jeg har gjort :)

DenniZ 'dStar' Nielsen takker af for denne gang :)
TestMax.dk Hjælper

Du kan altid skrive :)
 
infobox infobox

infobox infobox
  Filer som er vedhæftet denne tråd  
 
Fil navn: Fil størrelse
CS_Server_Script.zip 2 KB
 
infobox infobox


infobox infobox
 
#1Drax(Anmeld) 05-10-2006 19:47:11
 
 
Super lækker guide!.

godt der er nogle folk som forstår at kunne gøre noget meget nyttigt og brugbart!

<3 dStar :D
Administrator - TestMax.dk Stifter/Udvikler

Drax's signatur billede
 
infobox infobox

infobox infobox
 
#2dStar(Anmeld) 05-10-2006 20:26:23
 
 
Hehe Drax :)
TestMax.dk Hjælper

Du kan altid skrive :)
 
infobox infobox

infobox infobox
 
#3enuR-(Anmeld) 05-10-2006 20:55:13
 
 
Nice nok dStar <3
.@_ www.enur.org .@_

enuR-'s signatur billede
 
infobox infobox

infobox infobox
 
#4jodr90(Anmeld) 05-10-2006 23:24:17
 
 
Mangler bare at den skal hente for en bestemt server.

Så når man skriver !server så skal den komme med info om den srv man har sat den til

Ellers niice
Jeg er hardcore php programmør :)
Xtec-Gaming.dk
 
infobox infobox

infobox infobox
 
#5dStar(Anmeld) 05-10-2006 23:32:53
 
 
Du skal skrive !Server IP-HER :)

Eks:
!Server 129.142.72.150:27015
TestMax.dk Hjælper

Du kan altid skrive :)
 
infobox infobox

infobox infobox
 
#6kar(Anmeld) 06-10-2006 13:12:22
 
 
nice dstar der :)
hvad med spiller info ? :D
90% af alle teenagere ville dø hvis Arto havde en systemfejl og blev permanent lukket. Hvis du er en af de 10% der ville grine, copy & paste dette til din signatur.
 
infobox infobox

infobox infobox
 
#7Nyhuusdk(Anmeld) 06-10-2006 13:30:20
 
 
Nice lavet dStar :)
//ReLaX @ www.Webdesignz.dk
- Support Helper @ GameSurge.net
- PHP Coder
- MSL Coder

Nyhuusdk's signatur billede
 
infobox infobox

infobox infobox
 
#8phanion(Anmeld) 06-10-2006 21:00:57
 
 
Fed guide, tror der er mange der kan bruge den..

Til jer som har brugt denne guide, næste gang i møder en der spørg om sådan et script, så henvis dem til denne guide, på den måde lære de det, og testmax bliver større (Altid en god ting ;])..
i qm yh4 b54e5 you nioirew
 
infobox infobox

infobox infobox
 
#9Mulle(Anmeld) 06-10-2006 23:42:28
 
 
dStar mit spørgsmål er så... har du en guide til deres protocol?
There is a lot of things to think about, but nothing to worry about.
Everybody is special to your life!
Its nice to be important but it is more important to be nice.
Love is Forever but Friends are for Eternity.
Were you born to resist or be abused?

Mulle's signatur billede
 
infobox infobox

infobox infobox
 
#10dStar(Anmeld) 07-10-2006 08:08:01
 
 
#8 Helt enig.. Få dem herind :)

#9 Nej, desværre.. Men kan da prøve kigge :)
TestMax.dk Hjælper

Du kan altid skrive :)
 
infobox infobox

infobox infobox
 
#11jodr90(Anmeld) 07-10-2006 14:49:28
 
 
dStar. Det jeg mente var ikke at man SKAL skrive !server <ip> Det er når man skriver !servers Fx Så skal den smide status om den server jeg har sat den til
Jeg er hardcore php programmør :)
Xtec-Gaming.dk
 
infobox infobox

infobox infobox
 
#12dStar(Anmeld) 07-10-2006 15:00:36
 
 
så brug:

on *:TEXT:!Server:#: {
set %chan $chan
sockudp -k server IP PORT ÿÿÿÿTSource Engine Query
.timer 1 2 timeout
}
TestMax.dk Hjælper

Du kan altid skrive :)
 
infobox infobox

infobox infobox
 
#13jodr90(Anmeld) 07-10-2006 15:14:11
 
 
Skide fedt :D takker
Jeg er hardcore php programmør :)
Xtec-Gaming.dk
 
infobox infobox

infobox infobox
 
#14jodr90(Anmeld) 07-10-2006 15:43:06
 
 
Jeg få fejl på linie 3: /sockudp: invalid parameters (line 3, script.ini)
Jeg er hardcore php programmør :)
Xtec-Gaming.dk
 
infobox infobox

infobox infobox
 
#15dStar(Anmeld) 07-10-2006 17:00:56
 
 
IP PORT Skal du jo ret til en IP og en PORT på ip adressen
TestMax.dk Hjælper

Du kan altid skrive :)
 
infobox infobox

infobox infobox
 
#16Panda(Anmeld) 07-10-2006 17:14:36
 
 
Udemærket script dstar

Så mangler du kun ingame stuff :>)
Portfolio: http://dumpen.dk

Panda's signatur billede
 
infobox infobox

infobox infobox
 
#17dStar(Anmeld) 08-10-2006 15:29:54
 
 
Panda, tja ikke så svært :)
TestMax.dk Hjælper

Du kan altid skrive :)
 
infobox infobox

infobox infobox
 
#18jodr90(Anmeld) 08-10-2006 15:51:36
 
 
Ahh tak for det :)

Lækkert
Jeg er hardcore php programmør :)
Xtec-Gaming.dk
 
infobox infobox

infobox infobox
 
#19jodr90(Anmeld) 08-10-2006 16:01:54
 
 
MEN! Hvad nu vis man ville fx skrive 3 sider ud på en gang
Jeg er hardcore php programmør :)
Xtec-Gaming.dk
 
infobox infobox

infobox infobox
 
#20jodr90(Anmeld) 08-10-2006 16:04:44
 
 
Sider = Servers

Sry for dobbelt post
Jeg er hardcore php programmør :)
Xtec-Gaming.dk
 
infobox infobox

infobox infobox
 
#21Panda(Anmeld) 08-10-2006 16:55:22
 
 
#17 nix :P

#19-20 Husk der er edit :D
Portfolio: http://dumpen.dk

Panda's signatur billede
 
infobox infobox

infobox infobox
 
#22dStar(Anmeld) 08-10-2006 19:56:26
 
 
#21 Hehe, kan jeg vel godt lave engang jeg lige gider :D

#19 Du kan lave et while loop.. ikke så svært igen :)

Start med at:

/set %servers IP1 IP2 IP3


on *:text:!server:#: {
set %chan $chan
var %i 1
while (%i <= $numtok(%servers,32)) {
.timer 1 %i sockudp -k server $replace($gettok(%servers,%i,32),:,$chr(32)) ÿÿÿÿTSource Engine Query
inc %i
}
}



on *:udpread:server: {
sockread &info
var %i = $calc($bfind(&info,1,0) + 1)
var %name = $bvar(&info,%i,100).text
inc %i $calc($len(%name) + 1)
var %map = $bvar(&info,%i,100).text
inc %i $calc($len(%map) + 1)
var %mod = $bvar(&info,%i,100).text
inc %i $calc($len($bvar(&info,%i,100).text) + 1)
inc %i $calc($len($bvar(&info,%i,100).text) + 1)
var %numplayers = $bvar(&info,%i,1)
inc %i
var %maxplayers = $bvar(&info,%i,1)
inc %i 4
var %password = $bvar(&info,%i,1)
msg %chan Navn: %name - Bane: %map - Type: %mod - Spiller: %numplayers $+ / $+ %maxplayers - Kodeord: %password
}

Ikke testet, men noget i den stil ;)
TestMax.dk Hjælper

Du kan altid skrive :)
 
infobox infobox

infobox infobox
 
#23SynCo(Anmeld) 21-11-2006 08:31:14
 
 
on *:TEXT:!Server*:#: {
if ($2)


hvis det er !Server * så skal der jo være noget bagefter før den reager så behøver du vel ikke ($2) :]
 
infobox infobox

infobox infobox
 
#24Gudiik(Anmeld) 10-01-2007 14:01:02
 
 
Ved godt jeg tager op i en gammel tråd, men kan du forklarer hvordan man gør sådan at hvis man skriver !start indgame så restarter den :)?
500 deltagere - 100% action - VHCamp
 
infobox infobox

infobox infobox
 
#25Lumpynutzz(Anmeld) 10-01-2007 14:03:54
 
 
og hvor du har fundet ÿÿÿÿTSource... så man kan ændre det til andre spil
Intet
 
infobox infobox

infobox infobox
 
#26Nyhuusdk(Anmeld) 13-01-2007 02:37:09
 
 
Hvordan kan man få den til at udskrive ipen i det script hvor der er flere servers?
//ReLaX @ www.Webdesignz.dk
- Support Helper @ GameSurge.net
- PHP Coder
- MSL Coder

Nyhuusdk's signatur billede
 
infobox infobox

infobox infobox
 
#27dStar(Anmeld) 02-06-2007 12:36:02
 
 
#26 -> Du har jo IP'en når du sender din socket afsted? ;)
TestMax.dk Hjælper

Du kan altid skrive :)
 
infobox infobox

infobox infobox
 
#28fixit(Anmeld) 23-07-2007 21:08:28
 
 
#22 > Ja lidt ala samme spm som overstående :) Hvordan gør jeg så den skriver ipen+port op den server den viser info på? jeg har addet 3 servere.
 
infobox infobox

Påmindelse ved nyt svar

Ved at tilmelde dig automatisk påmindelse, modtager du en email så snart denne tråd bliver besvaret, dog sender vi kun en mail til dig, også selvom der er kommet flere svar, simpelthen for at spare dig for spam i din indbakke.


infobox infobox
  Svar på tråden  
   
 
 
infobox infobox

infobox infobox
  Læs dette før du sender dit indlæg!  
 
Ved tryk på send knappen accepterer du vores regelsæt som kan læses her
Praktiske informationer
Type Eksempel Resultat
Fed [b]din tekst[/b] din tekst
Kursiv [k]din tekst[/k] din tekst
Understreg [u]din tekst[/u] din tekst
Kode felt [code]din tekst[/code]
din tekst
infobox infobox