2 mal den selben Fehler hintereinander
Nun geht es aber wirklich, 100%
Beiträge von |-|auke
-
-
Danke für die Info, ich hätte testen sollen
Nun sollte es gehen. -
SAMPit, ist das Profitool für Serverowner mit einer großen oder auch kleinen Anzahl von Spielern.
Du kannst deinen ganzen Server von deinem Desktop aus verwalten. Ganz ohne knifflige CMD´s oder inGame sein zu müssen.SAMPit bietet dir unteranderem diese ganzen Funktionen:
- Ein sehr übersichtliches und schlichtes Design mit einfacher Bedienung
- Kompatibilität zu allen Servern! Ob Homeserver oder Linux, alle funktionieren damit
- Einen einfachen Login zu jedem SA:MP Server über das RCON Passwort
- Eine Liste, in der alle Spieler stehen, die gerade online sind
- Kick- und Bannfunktion, ausgewählter Spieler
- Ändern des Servernamens
- Ändern des Gamemode-Textes
- Ändern des Mapnamen
- Einstellen der Schwerkraft
- Gamemode wechseln/laden
- Filterscript laden
- Filterscript entfernen
- RCON Passwort ändern
- GMX ausführen
- Bans zurücksetzen
- Serverlog löschen
- Server beenden
- Nachrichten zu den Spielern sendenHier sind ein paar Bilder davon, wie du schon bald deinen Server verwalten könntest!
SAMPit wurde entwickelt von Hauke und Linaks.
Es steht unter unserem Copyright, und ist nicht open Source!Wir hoffen, dass wir euch somit die Arbeit erleichtert haben und freuen uns über ein Feedback
Downloadlink: Klick mich
Virusscan: Klick mich
Windows Vista & 7 User müssen SAMPit als Administrator starten!
Es wird Netframework 3.5 benötigt!SAMPit ist ab der Version 1.2 nun KOSTENLOS!
Zitat von Wichtige Information!SAMPit benötigt immer noch Lizenzen.
Diese Lizenzen könnt ihr euch kostenlos hier erstellen: Klick mich
Bitte bedenkt, dass ich euch das Tool kostenlos zur Verfügung stelle. Also erstellt euch aus fairness nur einen Lizenzcode.Viel Spaß damit!
Gruß Hauke -
Das PAWN Objektlos ist, sieht man doch schon auf den ersten Blick.
Y_Less hat aber mal wieder etwas extrem sinnvolles, und auf keinen Fall überflüssiges gemacht.. http://forum.sa-mp.com/showthread.php?t=167528 -
Du hast wohl in der Eile vergessen ganz oben in groß aufzuzählen, wer alles Admin und Serverowner ist.
-
new text[32];
format(text,32,"Version: %s", GAMEMODEVERSION);
Textdraw8 = TextDrawCreate(480.000000, 2.000000, text); -
Wenn ich das richtig verstehe müsste es so gehen:
stock GetVehicleOwner(playerid) {
if(IsPlayerInAnyVehicle(playerid)) {
for(new a;a!=MAX_PLAYERS;a++) {
if(Carlist[a][Carid]==GetPlayerVehicleID(playerid)) return a;
}
}
return -1;
} -
Ach, nun verstehe ich was du vor hast.
Dafür müsste man wissen, wie genau die Fahrzeuge gespeichert sind.
Was ist die Carlist? Ist das das Array von jedem Spieler indem die Carids von den Fahrzeugen stehen, die er besitzt? -
So vielleicht?
for(new i;i<MAX_PLAYERS;i++) {
if(IsPlayerInVehicle(i,GetPlayerVehicleID(playerid)&&GetPlayerVehicleSeat(i)==0) {
// i = FahrerID
}
} -
Ich habe mir deine Funktion garnicht angesehen, ist aber natürlich das selbe
Ganz gleich wie groß MAX_PLAYERS bei dir ist. Diese Variante wird immer mehr Ressourcen brauchen. Es sei denn, MAX_PLAYERS ist gleich 1. -
Ist gerade durch eine Frage entstanden:
new pIP[16],strste,step,blocks[4][4];
GetPlayerIp(playerid,pIP,16);
for(new strs=0;strs!=16;strs++)
if(pIP[strs]=='.'||!pIP[strs]) {
strmid(blocks[step],pIP,strste,strs);
strste=strs+1;
step++;
}Damit werden die "IP Blöcke" einer IP Adresse eines Spielers in das Array blocks gespeichert.
-
@ nickman:
Versuch es mal so:
new pIP[16],strste,step,blocks[4][4];
GetPlayerIp(playerid,pIP,16);
for(new strs=0;strs!=16;strs++)
if(pIP[strs]=='.'||!pIP[strs]) {
strmid(blocks[step],pIP,strste,strs);
strste=strs+1;
step++;
}
Hier werden die "IP Blöcke" jeweils in dem Array blocks gespeichert.
Ich glaube ich poste das gleich nochmal unter nützliche Codeschnipsel, kann vielleicht ja noch der eine oder andere brauchen..PS: Sehr kreative Signatur, die du hast. Leute, lasst euch doch mal was eigenes einfallen..
-
Eine Tabelle mit Bildern ^^.
Kleiner Tipp von mir: Tabellen sind nicht für das Layout der Seite gedacht. Tabellen dienen dem Inhalt der Seite. Also verwende lieber css Elemente, denn die Zeit der Tabellen für das Layout ist schon seit Jahren vorbei -
Das nützt denn doch nichts, da du die Funktionen und die Syntax von MySQL nicht verstehen wirst.
Dafür musst du dich schon ein wenig mit MySQL beschäftigen! -
Das Framework bietet dir Möglichkeiten Pakete zu installieren. Außerdem ist es eine Art Template Engine.
Weitere Sachen könnt ihr euch doch einfach hier durchlesen:
http://www.woltlab.com/de/wcf/
@ NekoSteamBoy: Hier geht´s nicht um das Burning Board, sondern um das Community Framework! -
Niemand wird verstehen welche Menüleisten du links hast, wenn du sie, inklusive des entsprechenden Codes, uns nicht zeigst.
-
Man kann es aber auch anders und Ressourcenschonener machenIm Script oben
new PlayerName[MAX_PLAYERS][MAX_PLAYERNAME]
Bei OnPlayerCOnnect
GetPlayerName(playerid,PlayerName[playerid],MAX_PLAYER_NAME);und wenn du es in einem String brauchst nutzt du einfach:
PlayerName[playerid]; //Kann auch ne andere ID sein ;)lg
Das ist allerdings nicht Ressourcenschonender.
So wird ein großer Speicherplatz schon vorreserviert, der wohl in 90% aller Fälle nie genutzt wird. Bei einem Aufruf einer Funktion, die den Namen zurück gibt, wird weniger Speicherplatz für kürzere Zeit gebraucht.
Demnach wäre eine Funktion wie die folgende besser:
stock _GetPlayerName(playerid) {
new _name[MAX_PLAYER_NAME];
GetPlayerName(playerid,_name,MAX_PLAYER_NAME);
return _name;
}
Die Benutzung ist ganz einfach:
printf("Ein Spieler mit dem Namen %s hat mit dem Server verbunden",_GetPlayerName(playerid)); -
Dann zahlt zusammen, oder lasst es bleiben!
-
@ Gabsch: Totaler Blödsinn!
Lies dir lieber erstmal durch, was return macht.
@AC/DC: Lies dir den vorletzten Post nicht durch, bzw. behalte nichts davon im Gedächnis, weil nicht eine Zeile davon stimmt.
Zu deinem Problem:
Versuch es mal so. Ich habe es nicht testen können, da ich sscanf nicht habe.
ocmd:put(playerid,params[])
{
if(IsPlayerConnected(playerid)) {
if(PlayerToPoint(10.0,playerid,2133.82666016,-1787.04248047,12.52786732) || PlayerToPoint(10.0,playerid,2805.2058,-1418.9055,16.2500)) {
new option[32],menge;
if(sscanf(params,"s",option)&&sscanf(params,"si",option,menge)) {
SendClientMessage(playerid, COLOR_WHITE, "|__________________ Put __________________|");
SendClientMessage(playerid, COLOR_WHITE, "Benutzung: /put [NAME]");
SendClientMessage(playerid, COLOR_GREY, "Verfügbare Namen: Mats, Drogen");
SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
return 1;
}
if(!sscanf(params,"si",option,menge)) {
if(!strcmp(option,"Mats",true)) {
if(menge < 1) {
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /put mats [Menge]");
format(string, sizeof(string), " Du hast %d Mats bei dir.", PlayerInfo[playerid][pMats]);
return SendClientMessage(playerid, COLOR_GRAD3, string);
}
if(menge > PlayerInfo[playerid][pMats]) return SendClientMessage(playerid, COLOR_GRAD2, " So viele Materialien hast du nicht!");
PlayerInfo[playerid][pMats] -= menge;
PlayerInfo[playerid][pBoxMats] += menge;
format(string, sizeof(string), " %d Materialien in die Savebox gelegt!", menge);
return SendClientMessage(playerid, COLOR_GRAD4, string);
}
else if(!strcmp(option,"Drogen",true)) {
if(menge < 1) {
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /put drogen [Menge]");
format(string, sizeof(string), " Du hast %d Drogen bei dir.", PlayerInfo[playerid][pDrugs]);
return SendClientMessage(playerid, COLOR_GRAD3, string);
}
if(menge > PlayerInfo[playerid][pDrugs]) return SendClientMessage(playerid, COLOR_GRAD2, " So viele Drogen hast du nicht!");
PlayerInfo[playerid][pDrugs] -= menge;
PlayerInfo[playerid][pBoxDrugs] += menge;
format(string, sizeof(string), " %d Drogen in die Savebox gelegt!", menge);
return SendClientMessage(playerid, COLOR_GRAD4, string);
}
}
}
else return SendClientMessage(playerid, COLOR_RED, " Du bist an keiner Savebox!");
}
return 1;
} -
Zitat
C:\Users\Benedikt Wittmann\Desktop\Reallife962.pwn(1819) : warning 219: local variable "x2" shadows a variable at a preceding level
C:\Users\Benedikt Wittmann\Desktop\Reallife962.pwn(1819) : warning 219: local variable "y2" shadows a variable at a preceding level
C:\Users\Benedikt Wittmann\Desktop\Reallife962.pwn(1819) : warning 219: local variable "z2" shadows a variable at a preceding level
x2,y2,z2 existieren schon. Du musst sie umbenennen.Wenn du den Streamer im Plugin nutzt, musst du die entsprechende include einbinden.