Beiträge von Kaliber
-
-
Ich dachte mir schon was ist das für ein Schwachsinn
Also es gibt IsPlayerInVehicle, diese Funktion hat 2 Parameter und prüft ob sich der Spieler in diesem Auto befindet.und es gibt IsPlayerInAnyVehicle, diese Funktion hat nur 1nen Parameter und prüft ob der Spieler sich überhaupt in irgendeinem Auto befindet

mfg.

-
Wie finde ich heraus ob alle drin sind?
Durch die Funktion IsPlayerInVehicle kannst du herausfinden, ob die Spieler sich im selben Fahrzeug befinden, wie der Fahrer.mfg.

-
Welche Sprache?
Wir sind hier im GTA SA:MP Bereich..unter Scripting Base...also wahrscheinlich Pawn.Allerdings mal was zu der Anfrage:
1. Das hier ist die falsche Sektion.
2. Was ist das für eine Anfrage? 1. Achte mal auf deine Rechtschreibung und 2. Schreib mal mehr über dich, wie alt bist du...etc?
3. Konkretisiere deine Anfrage, was genau willst du wissen?
4. Bietest du eine Gegenleistung?mfg.

-
Ja, war auch nicht böse gemeint oder so, nur als Hinweis

Hast du meinen Text gelesen?
Denn dann wüsstest du, dass es besser so ist, wie ich es gemacht habe.Nur so als Hinweis

-
Hättest du doch auch einfach 5000 eintragen können
Ja...und? Macht doch keinen Unterschied, da das vom Compiler schon ausgerechnet wird und ich es so übersichtlicher finde :pDenn 1000*60*60 ist ja wohl übersichtlicher als 3600000?
Da hat man immer einen schönen Überblick, wie lange das ist 
mfg.

-
danke für jede hilfe
Meinst du sowas?if(!strcmp(cmd, "/rep", true)) {
if(!IsPlayerInRangeOfPoint(playerid,8.0,1547.7292,-1609.7852,12.9977)) return SendClientMessage(playerid,COLOR_GRAD1,"Du befindest dich nicht am Repair-Point!");
if(!IsACop(playerid) || !IsPlayerInFrac(playerid, 7)) return SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Cop!");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,COLOR_GRAD1,"Du bist nicht der Fahrer eines Wagens!");
new vID = GetPlayerVehicleID(playerid),Float:p[4];
GetVehiclePos(vID,p[0],p[1],p[2]),GetVehicleZAngle(vID,p[3]);
SetVehiclePos(vID, newX, newY, newZ),SetVehicleZAngle(vID, newA); //Hier natürlich neue Koordinaten einsetzen, wo das auto hin soll
RepairVehicle(vID),SetVehicleHealth(vID, 1000.0);
SendClientMessage(playerid, COLOR_GREY, "Dein Auto wurde auf kosten des Staates repariert!");
return SetTimerEx("@reSET",1000*5,0,"dffff",vID,p[0],p[1],p[2],p[3]); //Der Timer portet das Auto in 1000*5ms zurück ->das sind 5 Sekunden
}//Unten im Script
@reSET(vID,Float:x,Float:y,Float:z,Float:a);
@reSET(vID,Float:x,Float:y,Float:z,Float:a) return SetVehiclePos(vID,x,y,z),SetVehicleZAngle(vID,a);Achte auf meine Kommentare

mfg.

-
[14:11:08] Loading plugin: mysql
[14:11:09] Failed.
Da stehts doch...
//Edit: Okay ist Windows, dann mach mal das:
Ich weiß, dass BlueG VC2008 benutzt hat...also installier dir mal das: http://www.microsoft.com/de-de/download/details.aspx?id=5582
Falls es nicht klappen sollte, probier mal das: http://www.microsoft.com/de-de/download/details.aspx?id=29
Und wenn das nicht klappt installier dir .NET Framework 3.0
mfg.

-
Vor ein paar Wochen hab ich damit noch den Server angemacht und seitdem nichts geändert.
Dann wird es evtl nicht geladen?Zeig doch mal den ganzen log, der ausgegeben wird, beim Server Start

-
Hab die Lösung gefunden hab den Checkpoint ausversehen doppelt benutzt.
Falls dir nochmal der Server crasht und du weißt nicht woran es liegt, kannst du das crashdetect Plugin nutzen
Das zeigt dir dann genau an, wo und warum der Server crasht

mfg.

-
-
Die msvcp110.dll habe ich mal in den Server Ordner gepackt, jetzt lädt nur mysql irgendwie nicht und es kommt Run time error File or Function not found.
Dann füge mal den nativechecker ein und sag mal, was der noch sagt
mfg.

-
Also das ab 16 Spieler die Hälfte "Random" wird
Ja...das ändert das ganze Prinzip meinste nicht
Dann kannst du das nicht so machen, mit einer Funktion wo ich dir Werte zurück gebe...das wäre dann irgendwann bei 200 Spielern lächerlich

Sprich, du musst das in der Schleife selbst deinen Code verarbeiten.
Die Frage ist jetzt nur, was genau willst du denn machen, wenn du eine random Spielerid hast...zeig mal deinen Code...und kommentier den mal bitte!
mfg.

-
Aber ich verstehe gerade nicht wofür das da ist
Dachte du hast eine SQL Datenbank...wo du das evtl alles einträgst
Falls dem nicht so ist...kannst du die Statements natürlich ignorieren

mfg.

-
Naja, bei deinem Code versteh ich beim ersten hingucken nur Bahnhof o.o
Schau dir einfach nur an, wo Role in dem Code steht...Dann siehst du ja, wie ich playerid nutze..bzw was du dafür einsetzen musst...
Das kannst du jetzt für dich einsetzen...
oder willst du lieber so eine Funktion:
//Nutzung:
new a,b;
GetRandomPlayer(a,b);
//in a und b steht dann die playerid von einem random Spieler!
//Wenn 2 Leute online sind, gibt es nur ein Ergebnis und das steht in a
//Sobald du aber 2 Ergebnisse haben willst, steht es in a und b
//Wenn nur 1 Ergebnis da ist, ist b = 0stock GetRandomPlayer(&first, &sec) {
for(new i,list[MAX_PLAYERS],idx; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) list[idx] = i,idx++;
if(i == MAX_PLAYERS-1) {
if(idx < 2) break;
else if(idx == 2) return first = list[random(idx)],0;
else {
first = list[random(idx)];
for(;;) {
sec = list[random(idx)];
if(first != sec) return 0;
}
}
}
}
return 0;
}Vielleicht hilft dir das ja

mfg.

-
vielleicht kann ja wer da irgendwas verbessern
Abgesehen von der AudioStream Funktion, stimmt die Grundlage für diese if-Abfrage nicht
Lern doch mal die Basics, dass man bei Pawn (normalerweise) Semikolons setzt..und bei if-Abfragen für mehrere Zeilen geschweifte Klammern nutzt

if((x > -992.5172 && x < 4000.0000) && (y < 528.0000 && y > -4000.0000)) {
PlayAudioStreamForPlayer(payerid,"http://somafm.com/tags.pls");
SendClientMessageToAll(HELLROT,"Es wurde ein Feuer in Los Santos gemeldet!");
SendClientMessageToAll(-1,"{2980b9}=========={d04133}Feueralarm in Los Santos{2980b9}==========");
}mfg.

-
Sollten allerdings 6 Spieler online sein, soll auch 2 dieser 6 eine Variable zugewiesen werden.
Schau dir meine Funktion doch an...das ist schon impliziert.Kannst du vielleicht auch was zu deinem Code schreiben...ich weiß nicht so recht, was du jetzt von mir willst, was ich mit deinem Code soll?!
mfg.

-
Hier eine Möglichkeit:
//Oben im Script:
new Role[MAX_PLAYERS];//Und dann diese Funktion:
for(new i,list[MAX_PLAYERS],idx; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) list[idx] = i,idx++;
if(i == MAX_PLAYERS-1) {
if(idx < 2) break;
else if(idx == 2) Role[random(idx)] = 1;
else {
new tmp = random(idx),tmp2;
Role[tmp] = 1;
for(;;) {
tmp2 = random(idx);
if(tmp != tmp2) break;
}
Role[tmp2] = 1;
}
}
}Dann hast du Role genauso wie du es wolltest

mfg.

-
Solltest du jedoch ocmd o.ä benutzen, musst du das bei jedem Befehl einzelnd machen.
Quatsch
Da kann man auch das Include editieren und den gehookten Callback benutzen.
mfg.

-
Ich gebe dir mal ein Beispiel:
//Unter OnPlayerCommandText
new string[64],oldvalue;
//oldvalue erstmal halt mit nem SELECT Statement herausfinden von dem Befehl (auch hier filter(cmdtext) nutzen
format(string,sizeof string,"UPDATE table_name SET counter=%d WHERE cmd='%s';",oldvalue,filter(cmdtext)); //Halt hier ein update statement//Und die filter Funktion (returnt nur den Befehl-Namen mit)
stock filter(const cmd[]) {
new buffer[32];
return strmid(buffer,cmd,1,strfind(cmd," "),sizeof buffer),buffer; //Mach aus der 1 eine 0 wenn du einen / davor haben willst
}Hoffe das meintest du...ist nicht sehr gut formuliert was du eigentlich willst, aber ich hoffe ich konnte helfen

mfg.
