Ja ist es.
public ObjektVar = 0; //objektid - zwischenspeicher
if(!strcmp(cmdtext. "/objekt", true)){
ObjektVar = CreateObject(...); //erstellen
}
DestroyObject(ObjektVar); // zum entfernen
#Handy
mfg ![]()
Ja ist es.
public ObjektVar = 0; //objektid - zwischenspeicher
if(!strcmp(cmdtext. "/objekt", true)){
ObjektVar = CreateObject(...); //erstellen
}
DestroyObject(ObjektVar); // zum entfernen
#Handy
mfg ![]()
Ich denke ich lasse mein Facebook einfach gelöscht, trotzdem danke für die tollen Antworten ![]()
mfg ![]()
ZitatDer größte Vorteil ist aber, wie maddin bereits sagte, dass Java eine objektorientierte Sprache ist.
Tut mir leid dass ich das fragen muss, aber was bringt es mir das eine Objektorientierte Sprache ist ? (Frage ist ernst gemeint, ich habe keine Ahnung davon)
mfg ![]()
ZitatIch bin jetzt gerade mal bei der Hälfte und jetzt gehts halt nicht weiter
Wie meinst du das?
Ich würde den Code so schreiben, ist denke für die Performance besser. (Falls nicht, bitte drauf Hinweisen)
new string[1024]; //Sicherheitshalber
format(string, sizeof string, "Zeit: %02d:%02d Datum: %s.%s.%d\n",Hour,Minute,dtext, mtext),
format(string, sizeof string, "%sNickname: %s\n",string, Spieler),
format(string, sizeof string, "%sLogin: %d\n",string, pInfo[playerid][pGesamtMinutes]),
format(string, sizeof string, "%sPayday in: %d Minuten\n",string, 60-pInfo[playerid][pPlayMinutes]),
format(string, sizeof string, "%sAccounttyp: %s\n",string, pPremiumText),
format(string, sizeof string, "%sWarns: %d\n",string, pInfo[playerid][pWarn]),
format(string, sizeof string, "%sLevel: %d\n",string, pInfo[playerid][pLevel]),
format(string, sizeof string, "%sLoG Points: %d\n",string, pInfo[playerid][pLoGPoints]),
format(string, sizeof string, "%sGesamtspielzeit: %d Minuten\n",string, pInfo[playerid][pGesamtspielzeit]),
format(string, sizeof string, "%sExp: %d\n",string, pInfo[playerid][pExp]),
format(string, sizeof string, "%sPincode: %s\n",string, pBankkontoText),
format(string, sizeof string, "%sAlter: %d\n",string, pInfo[playerid][pAlter]),
format(string, sizeof string, "%sKontostand: %d$\n",string, pInfo[playerid][pBankGeld]),
format(string, sizeof string, "%sGeld (Hand): %d$\n",string, GetPlayerMoney(playerid)),
format(string, sizeof string, "%sFraktion: %s\n",string, pFraktionsText),
format(string, sizeof string, "%sRang: %d\n",string, pInfo[playerid][pRank]),
format(string, sizeof string, "%sBeruf: %d\n",string, pInfo[playerid][pJob]),
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX," {FFFA00}Life of German Stats", string, "Okay","");
mfg ![]()
Es gab ja Plugins die im Breadfish veröffentlich wurden, kann man direkt im Gamemode mit Java so Plugins gleich als Quellcode einbringen ?
ZitatDie Vorteile sind vor allem das dich fernab von DINI und XYZ-CMD die wunderbare Welt der Java APIs erwartet, und all die tollen Sachen die eine Objekt-Orientierte Programmiersprache eben so mit sich bringt. Dazu dann noch eine Vielfalt von Bibliotheken die nur darauf warten von dir genutzt zu werden.
Ich nutze nur MySQL, von DINI halte ich nichts.
Wie würde es denn aussehen wenn man einen Befehl in Java schreibt der einen anderen Spieler kickt ?
Welche Bibliotheken könnten denn auf mich warten und welche Vorteile bringen sie mir ?
Ich weis das Java sehr viel Möglichkeiten als Pawn mit sich bringt, aber ich müsste detailreich wissen welche das genau sind.
mfg ![]()
Jeffry:
Kann man einfach den Parameter für die Groß & Kleinschreibung bei einem Zeichen was keine G&Kschreibung hat entfernen ?
mfg ![]()
Jeffry:
Ich habe den Befehl nicht geschrieben, ist aus dem Bayside Roleplay Script, da ist sehr vieles nicht performant. ![]()
mfg ![]()
new VehicleNames[212][] = //Weiter oben
{
"400 - Landstalker", "401 - Bravura", "402 - Buffalo", "403 - Linerunner", "404 - Pereniel", "405 - Sentinel", "406 - Dumper", "407 - Firetruck", "408 - Trashmaster", "409 - Limosine",
"410 - Manana", "411 - Infernus", "412 - Voodoo", "413 - Pony", "414 - Mule", "415 - Cheetah", "416 - Ambulance", "417 - Leviathan", "418 - Moonbeam", "419 - Esperanto", "420 - Taxi",
"421 - Washington", "422 - Bobcat", "423 - Mr Whoopee", "424 - BF Injection", "425 - Hunter", "426 - Premier", "427 - Enforcer", "428 - Securicar", "429 - Banshee", "430 - Predator",
"431 - Bus", "432 - Rhino", "433 - Barracks", "434 - Hotknife", "435 - Trailer", "436 - Previon", "437 - Coach", "438 - Cabbie", "439 - Stallion", "440 - Rumpo", "441 - RC Bandit", "442 - Romero",
"443 - Packer", "444 - Monster", "445- Admiral", "446 - Squalo", "447 - Seasparrow", "448 - Pizzaboy", "449 - Tram", "450 - Trailer", "451 - Turismo", "452 - Speeder", "453 - Reefer", "454 - Tropic", "455 - Flatbed",
"456 - Yankee", "457 - Caddy", "458 - Solair", "459 - Berkley's RC Van", "460 - Skimmer", "461 - PCJ-600", "462 - Faggio", "463 - Freeway", "464 - RC Baron", "465 - RC Raider",
"466 - Glendale", "467 - Oceanic", "468 - Sanchez", "469 - Sparrow", "470 - Patriot", "471 - Quad", "472 - Coastguard", "473 - Dinghy", "474 - Hermes", "475 - Sabre", "476 - Rustler",
"477 - ZR350", "478 - Walton", "479 - Regina", "480 - Comet", "481 - BMX", "482 - Burrito", "483 - Camper", "484 - Marquis", "485 - Baggage", "486 - Dozer", "487 - Maverick", "488 - News Chopper",
"489 - Rancher", "490 - FBI Rancher", "491 - Virgo", "492 - Greenwood", "493 - Jetmax", "494 - Hotring", "495 - Sandking", "496 - Blista Compact", "497 - Police Maverick",
"498 - Boxville", "499 - Benson", "500 - Mesa", "501 - RC Goblin", "502 - Hotring Racer", "503 - Hotring Racer", "504 - Bloodring Banger", "505 - Rancher", "506 - Super GT",
"507 - Elegant", "508 - Journey", "509 - Bike", "510 - Mountain Bike", "511 - Beagle", "512 - Cropdust", "513 - Stunt", "514 - Tanker", "515 - RoadTrain", "516 - Nebula", "517 - Majestic",
"518 - Buccaneer", "519 - Shamal", "520 - Hydra", "521 - FCR-900", "522 - NRG-500", "523 - HPV1000", "524 - Cement Truck", "525 - Tow Truck", "526 - Fortune", "527 - Cadrona", "528 - FBI Truck",
"529 - Willard", "530 - Forklift", "531 - Tractor", "532 - Combine", "533 - Feltzer", "534 - Remington", "535 - Slamvan", "536 - Blade", "537 - Freight", "538 - Streak", "539 - Vortex", "540 - Vincent",
"541 - Bullet", "542 - Clover", "543 - Sadler", "544 - Firetruck", "545 - Hustler", "546 - Intruder", "547 - Primo", "548 - Cargobob", "549 - Tampa", "550 - Sunrise", "551 - Merit", "552 - Utility",
"553 - Nevada", "554 - Yosemite", "555 - Windsor", "556 - Monster", "557 - Monster", "558 - Uranus", "559 - Jester", "560 - Sultan", "561 - Stratum", "562 - Elegy", "563 - Raindance", "564 - RC Tiger",
"565 - Flash", "566 - Tahoma", "567 - Savanna", "568 - Bandito", "569 - Freight", "570 - Trailer", "571 - Kart", "572 - Mower", "573 - Duneride", "574 - Sweeper", "575 - Broadway",
"576 - Tornado", "577 - AT-400", "578 - DFT-30", "579 - Huntley", "580 - Stafford", "581 - BF-400", "582 - Newsvan", "583 - Tug", "584 - Trailer", "585 - Emperor", "586 - Wayfarer",
"587 - Euros", "588 - Hotdog", "589 - Club", "590 - Trailer", "591 - Trailer", "592 - Andromada", "593 - Dodo", "594 - RC Cam", "595 - Launch", "596 - Police Car (LSPD)", "597 - Police Car (SFPD)",
"598 - Police Car (LVPD)", "599 - Police Ranger", "600 - Picador", "601 - S.W.A.T. Van", "602 - Alpha", "603 - Phoenix", "604 - Glendale", "605 - Sadler", "606 - Luggage Trailer A",
"607 - Luggage Trailer B", "608 - Stair Trailer", "609 - Boxville", "610 - Farm Plow", "611 - Utility Trailer"
};
ocmd:veh(playerid, params[])
{
new vehicle[30], color1, color2;
if(sscanf(params, "s[30]ii", vehicle, color1, color2))return SendClientMessage(playerid, Weiß, "Befehl: /veh [Model/Name] [Farbe1] [Farbe2]"),
new idx = GetVehicleModelIDFromName(vehicle);
if(idx == -1)
{
if(idx < 400 || idx > 611 || !strcmp(idx, "-", true))return SendClientMessage(playerid, Rot, "Error: Falsche/r Model ID/Name!");
}
new Float:vPos[4];
GetPlayerPos(playerid, vPos[0], vPos[1], vPos[2]), GetPlayerFacingAngle(playerid, vPos[3]),
CreateVehicle(idx, vPos[0], vPos[1], vPos[2], vPos[3], color1, color2, -1);
return 1;
}
stock GetVehicleModelIDFromName(vname[])
{
for(new i = 0; i < 212; i++)
{
if(strfind(VehicleNames[i], vname, true) != -1)
return i + 400;
}
return -1;
}
Man kann somit entweder die ID oder den Vehiclenamen schreiben.
EDIT (Post von Jeffry): Habe das ganze jetzt mal verändern, denke so hast du das gemeint oder ?
mfg ![]()
Jeffry:
Habe es eigentlich abgerechnet, sollte passen, aber mit deiner Methode ist man auf jeden Fall Sicher.
mfg ![]()
new mysqlquery[700];
format(mysqlquery, sizeof(mysqlquery), "SELECT Datum FROM TimeBan WHERE Name = '%s'",getPlayerName(playerid));
mysql_function_query(dbhandle,mysqlquery,false,"OnPlayerTimeBanCheck","d", playerid);
Wieso erstellst du so einen großen string wenn er nicht benötigt wird.
Außerdem hast du caching deaktiviert, du brauchst dies aber wenn du etwas auslesen möchtest..deswegen schreib das ganze mal so:
new mysqlquery[70];
format(mysqlquery, sizeof mysqlquery, "SELECT `Datum` FROM `Timeban` WHERE `Name` = '%s'", getPlayerName(playerid)),
mysql_function_query(dbhandle, mysqlquery, true, "OnPlayerTimeBanCheck", "i", playerid);
mfg ![]()
Zeig mal deinen Quellcode, ist denn überhaupt dein Streamer aktuell ?
mfg ![]()
Wieso zentrierst du den ganzen Text, ist dann meiner Meinung nicht mehr so leserlich.
ZitatEr sollte eine gute Geistige Reife haben.
Er sollte sich gut mit Mappen und Designen auskennen.
Gibt es eine schlechte geistige Reife ?
Was ist die Schmerzgrenze der Ausnahme.
mfg ![]()
Abend,
ich habe da mal eine Frage spezifisch des SAMP - Java Development.
Welche Vorteile bringt mir das jetzt genau wenn ich einen Gamemode in Java schreibe? (Schnelleren Gamemode, neue Features)
Muss ich dafür ein Java Profi sein oder reicht es wenn ich die Syntax kenne ? (Kenne Bruchstücke aus der Syntax)
mfg ![]()
Heißt das quasi, man kann ein Update herausbringen ohne den Server neustarten zu müssen?
mfg ![]()
Caglar:
Ja, ich habe eine vereinfachte Variante gezeigt, trotzdem hast einen Fehler in deinem Quellcode ![]()
ZitatGetPlayerName(playerid, Name);
Hier fehlt ein Parameter.
mfg ![]()
Caglar:
Dein Quellcode ist fehlerhaft.
public OnPlayerText(playerid, text[]) {
new String[144], Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, sizeof Name);
format(String, sizeof(String), "{FFFFFF}%s {EBEBEB}sagt: %s", Name, text);
SendClientMessageToAll(-1, String);
return 0;
}
mfg ![]()
Du musst mit OnPlayerDeath arbeiten.
Dort kannst du den Killer und das Opfer identifizieren.
mfg ![]()
Junkbuster entfernen und ein eigenes Anti-Cheat schreiben ?
mfg ![]()
Man kann die Variablen des Gamemodes nicht verändern (Hackgemäß), deswegen kannst du das ganz normal mit Adminrängen machen.
Du könntest dennoch zur Sicherheit die Serial der Admins speichern und festlegen.
mfg ![]()
Beides schon erledigt, ist nichts dort.
Doch Kaspersky hat was gefunden...


mfg ![]()