Wenn du was machen willst?
Es kann sein, dass du ein Adminscript oder sowas hast, das für Adminlevel(kein RCON) funktioniert.
Beiträge von M4rciii
-
-
Ne, mal ganz ehrlich. Stell doch Scripte hier nicht rein, wenn sie nicht funktionieren.
So komisch es klingt, du bannst damit alle Leute, die zum Beispiel einen 12-Zeichen langen Namen haben.
Wenn ich /tban Hallo mache, dann kann jemand namens Simon nicht mehr auf den Server.Aso, nebenbei: /*| FOXPAYDAY v2.0 |*/
-
Ganz einfacher Fehler: Du hast hier im ShowPlayerDialog die ID 1 und bei deinem OnDialogResponse ist die ID 1 für die Nahkampfwaffen. Du bist ein wenig mit den IDs durcheinandergekommen.
Du musst jetzt bei jedem ShowPlayerDialog die ID um 1 verringern: (Habe ich hier für dich gemacht)ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "Was möchten Sie kaufen?", "Nahkampfwaffen\nPistolen+MP´s\nFlinten+Gewehre\nExtras", "Kaufen", "Abbrechen");
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, ">Nahkampfwaffen<", "Messer ($15)\nSchlagstock ($40)\nKatana ($200)\nKettensäge ($100)\nBaseballschläger ($30)\n", "Kaufen", "Abbrechen");
ShowPlayerDialog(playerid, 2,DIALOG_STYLE_LIST, ">Pistolen + MPs<", "9mm Pistole ($150)\nSchallgedämpfte 9mm ($250)\nDesert Eagle ($350)\nTec-9 ($500)\nMicro SMG ($600)\nSMG ($1000)\n", "Kaufen", "Abbrechen");
ShowPlayerDialog(playerid, 3,DIALOG_STYLE_LIST, ">Flinten und Gewehre<", "Schrotflinte ($550)\nAbgesägte Schrotflinte ($900)\nAutomatische Schrotflinte ($1500)\nAk-47 ($1600)\nM4 ($1700)\nGewehr ($2000)\n", "Kaufen", "Abbrechen");
ShowPlayerDialog(playerid, 4,DIALOG_STYLE_LIST, ">Extras<", "Scharfschützengewehr ($3500)\nRaketenwerfer ($10000)\nFlammenwerfer ($8000)\nGranaten ($1000)\n", "Kaufen", "Abbrechen"); -
Also, wenn ich das Script interpretiere, komm ich darauf, dass du eine ID bannst. Wenn du jemand mit der ID 0 Time-bannst, kann für ne halbe Stunde keiner mehr auf den Server
EDIT: Und /setbantime kann jeder ausführen.
-
strmid(inputtext,inputtext,0,strlen(inputtext),128);
Das bei beiden löschen. Dann sollte es theoretisch funktionieren.
-
Hmm... an sich ist da kein Fehler.
Du solltest mal versuchen, anstatt einen neuen String zu formatieren, einfach direkt inputtext zu übermitteln:
Anmelden(playerid,inputtext);Und als Schutz, falls jemand ein leeres Passwort eingeben möchte, füg das direkt als erstes nach dialogid == bla ein:
if(!strlen(inputtext)) return ShowPlayerDialog(...); // Dein Dialog zum einloggen/registrieren mit dem Text: "Keine Eingabe, bitte jetzt richtig eingeben oder so" -
Mein gesunder Menschenverstand sagt mir, dass key ein leerer String sein muss.
Und bei Anmelden(playerid,key) kommt kein "falsches Passwort" o.ä., weil es den Bug gibt, dass ein leeres Passwort als richtig angesehen wird (strcmp).
Zeig mal den Code, wo du den string key ermittelst. -
Zeig einfach deinen Login+Register-Command und am besten noch das OnPlayerLogin und OnPlayerRegister, falls du so etwas im Script hast.
-
In SeifAdmin ist ein schöner FahrzeugSpawnCommand, der Fahrzeuge vor einem spawnt. (/veh)
-
Und wann ist es wichtig, dass man den Schlüssel hat? Beim Einsteigen... Also muss doch jemand was im Server machen.
Du bräuchtest irgendwas wie
new bool:HasKeyForCar[MAX_PLAYERS][MAX_VEHICLES];//Beim kauf:
new vehicle = AddStaticVehicle(560,123.0,234.0,345.0,180.0,5,8);
HasKeyForCar[playerid][vehicle] = true;//Beim einsteigen:
public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger
{
if(HasKeyForCar[playerid][vehicleid] != true)
{
TogglePlayerControllable(playerid,false); // Sorgt dafür, dass der Spieler das Einsteigen abbricht
TogglePlayerControllable(playerid,true); // Sorgt dafür, dass der Spieler das Einsteigen abbricht
SendClientMessage(playerid,COLOR_WHITE," Du hast keinen Schlüssel für das Auto!");
}
return 1;
} -
Was willst du denn dann mit dieser erlangten CarID machen? Wenn du einfach eine CarID in eine Variable abspeicherst und sie nicht weiter benützst, macht das keinen Sinn.
-
gtaturke, lass dir eins sagen:
vehicle = AddStaticVehicle(560,123.0,234.0,345.0,180.0,5,8);
vehicle ist die VehicleID.
560 ist die ModelID.ONTOPIC:
Wenn du ein Fahrzeug beim Kauf erstellst und an die VehicleID gelangen willst, dann ist das wie ich das hier geschrieben habe. vehicle ist die VehicleID. -
GF?
Bei GF könntest du theoretisch das Geld einfach am Ende des Tutorials resetten und ihm dann einen beliebigen Betrag geben. Bei NonGF's kann man das auch nach der Registration o.ä. machen.
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,5000); -
Was ist denn das Problem beim "entladen"?
Verschwinden die Objekte nicht oder wie?
Wenn ja, dann musst du sie halt selbst manuell zerstören:
for(new o = 0; o < 5000; o++) // 5000 = MAX_STREAM_OBJECTS, also alle Objekte
{
DestroyStreamObject(o);
}Wenn es sauber entladen werden soll, solltest du noch alle Timer, Pickups, etc. zerstören.
-
Hallo Community!
Hier könnt ihr nützliche Codeschnipsel für PHP posten, die einem den Umgang erleichtern.
Um das Thema zu eröffnen, habe ich 3 Pawn-Funktionen auf PHP umgeschrieben, da man sie dort durchaus gebrauchen kann.
ini_GetKey & ini_GetValue
PHP
Alles anzeigenfunction ini_GetKey($line) { $output = ""; for($x = 0; $x < strlen($line); $x++) { if($line[$x] == '=') { break; } $output = "$output".$line[$x]; } return $output; } function ini_GetValue($line) { $output = ""; $var = 0; for($x = 0; $x < strlen($line); $x++) { if($line[$x] == '\n') { break; } if($var == 1) { $output = "$output".$line[$x]; } else if($line[$x] == '=') { $var = 1; } } return $output; }
Funktionen zum Auslesen von Dateien mit dem Format key=valuestrmid
PHP
Alles anzeigenfunction strmid($source,$start,$end) { $dest = "A"; $var = 0; for($x = $start; $x < $end; $x++) { $dest[$var] = $source[$x]; $var++; } return $dest; }
Dabei ist zu beachten, dass der Syntax nicht wiefolgt ist:
strmid(dest[],source[],start,end);
Sondern:Viel Spaß beim Posten!
@Admins: Hoffe das ist hier richtig am Platz!!
-
-
Ich hatte mal ein ähnliches Problem. Ich hatte einen Mod für so einen mehrteiligen Shuttle-Flughafen-Bus, der diese kleinen Flughafenfahrzeuge und Gepäckwägen ersetzt hat.
Dann hatte ich 4 Stück aneinander gehängt, bin losgefahren und beim Nachhintensehen bemerke ich, dass sich der 4. einfach verabschiedet hatte. Lag nirgends rum oder so, war einfach weg ^^.Ich denke jetzt mal, dass es da einfach eine Begrenzung von GTA gibt, kann ich aber nur vermuten.
-
Jaaa, er hats released!!
Das Leben macht endlich einen Sinn!!!∞/10
-
Funktioniert an sich genauso wie bei einem Command:
if(pickupid == teleportpickup)
{
if(IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
SetVehicleZAngle(GetPlayerVehicleID(playerid),a);
}
else
{
SetPlayerPos(playerid,x,y,z);
SetPlayerFacingAngle(playerid,a);
}
}Natürlich musst du einen Pickup-Typ verwenden, den man mit Autos aufnehmen kann.
-
Ich würde dir empfehlen sowas zu nehmen: #hey kollegen
Also die Raute als erstes und dannach den Text ans Team
public OnPlayerText(playerid,text[])
{
if(text[0] == '#')
{
strdel(text,0,1); // Löscht das erste Zeichen im Text (die Raute)
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && gTeam[i] == gTeam[playerid]) // Connected und im selben Team
{
SendClientMessage(i,COLOR_ORANGE,text); // Color eintragen
}
}
return 0; // WICHTIG!
}
return 1;
}