Nö eigentlich nicht, gestern gings ja auch noch
Beiträge von Kasakow
-
-
Guten Morgen,
Mein Name lautet CIBERKILLER.
Und zwar habe ich aktuell Problem mit Bot`s!
Gestern hat dieses Problem noch nicht bestanden.
Und zwar ist der Bot an einer ungewöhnlichen Stelle!
Er Spawnt neben einem anderen BotHier mal ein Screen:
Qellcode:
//NPC/BOT
ConnectNPC("Sebastian", "Sebastian");
ConnectNPC("Franz", "Franz");public OnPlayerSpawn(playerid)
{
//NPC/BOT
if(IsPlayerNPC(playerid)){
if(!strcmp(GetName(playerid), "Sebastian", true)){
BotLabel[0] = Create3DTextLabel("Fahrlehrer: {FFFFFF}Sebastian", Gelb1, 0.0, 0.0, 0.0, 20.0, 0, 1);
Attach3DTextLabelToPlayer(BotLabel[0], playerid, 0.0, 0.0, 0.1);
SetPlayerSkin(playerid, 171);
}
else if(!strcmp(GetName(playerid), "Franz", true)){
SetPlayerSkin(playerid, 188),SetPlayerFacingAngle(playerid, 1.2410);
BotLabel[1] = Create3DTextLabel("Autopate: {FFFFFF}Franz", Gelb1, 0.0, 0.0, 0.0, 20.0, 0, 1);
Attach3DTextLabelToPlayer(BotLabel[1], playerid, 0.0, 0.0, 0.1);
}
return 1;
}
}Ich finde das leicht komisch, kann mir jemand bei dem Problem helfen?
Mit freundlichen Grüßen,CIBERKILLER.
-
Nein ich habe ihm gestern geholfen, Funktioniert nun wie gewollt
-
Vielen Dank, nun weiß ich bescheid welchen Variablen Typen ich für welchen Benutzen kann
-
Ah okay, vielen Dank endlich weis ich mal static so macht.
Ich hätte noch eine Frage zu einem anderen Variablen Typen, und zwar "const".
Also nach meinem Wissen ist der Variablen Typ const für eine Konstante Variable gedacht eine die man nicht manuell bearbeiten kann.
Oder irre ich mich da? -
Also Prinzipiell ist static für eine Zwischenspeicherung seines alten Wertes da ?
-
Guten Abend,
Mein Name lautet CIBERKILLER.
Und zwar bräuchte ich mal eine Erklärung von euch!Ich bräuchte eine Gewissheit für diese 2 Variablen Typen!
Also wie ich in der Wiki auf Englisch nachgelesen habe (Mein Englisch ist schlecht), ist new für eine Globale Variable da und static für eine Lokale.
Aber was genau ist nun der unterschied zwischen new & static?Bringt einer der 2 Variablen Typen vorteile im gegensatz zum anderen oder wieso sollte es für mich einen Grund geben static zu verwenden?
z.B
Was wäre allgemein besser: static Float:pos[4]; oder new Float:pos[4];
Würde mich freuen wenn mir einer Gewissheit gibt
Mit freundlichen Grüßen,
CIBERKILLER.
-
Meld dich mal in meinem Teamspeak (5.175.226.136), ich kann dir dabei schnell helfen
-
Für so welche Fälle schreibt man sich Extra Funktionen
//Zum Geld addieren
stock GivePlayerMoneyEx(playerid, amount){
SetPVarInt(playerid, "geld", GetPVarInt(playerid, "geld") + amount );
GivePlayerMoney(playerid, amount);
}//Zum Geld setzen
stock SetPlayerMoneyEx(playerid, amount){
SetPVarInt(playerid, "geld", 0);
GivePlayerMoneyEx(playerid, amount);
}//Zum geld auslesen
stock GetPlayerMoneyEx(playerid)return GetPVarInt(playerid, "geld");//Der Timer den du irgendwo starten musst (optional)
SetTimerEx("@Timer", 1000, true, "i", playerid);//Der Timer an sich!
@Timer(playerid); @Timer(playerid){
if(GetPlayerMoney(playerid) > GetPlayerMoneyEx(playerid)){
//Geldcheat
}
return 1;
}Falls der Code Fehlerhaft dann tut es mir leid (ich bin grad noch im halbschlaf)
-
Also ich habe den TS Connector mal ausprobiert, bei mir bereitet er keine Probleme vor.
Ist der Server auf deinem Lokalen Rechner oder auf einem vServer/Rootserver ?
Denn wenn es der Fall ist dass er Lokal gestartet wird, musst du den Port 9987 bei deinen Routereinstellungen unter Portweiterleitung eintragen!
-
Gut, wie ist die Reihenfolge der Plugins ( welche werden zuerst geladen etc. )
Sofern mehrere nicht geladen werden müssen Plugins quasi 'verschoben'
werden, sprich X darf nich vor Y geladen werden usw.
Was faselst du daDie Reihenfolge ist unrellevant
-
Vielen Dank scheint nun zu Funktionieren!
-
bitte
Kaliber das war ein Beispiel mit 4 Namen.
Es können insgesamt 495 gleichzeitige Tickets abgesendet werden.
Aktuell Funktioniert es nicht!for(new i,tmp[MAX_PLAYER_NAME];i<GetMaxPlayers();i++)
{
if(!IsPlayerConnected(i))continue;
if(IsPlayerNPC(i))continue;
if(!sStats[i][Eingeloggt])continue;
if(!GetPVarInt(i, "JustReport"))continue;
GetPVarString(i, "ticketinput", in, 72);
GetPlayerName(d_Namen[i],tmp,MAX_PLAYER_NAME);
format(string, sizeof(string), "{FFFFFF}Author: %s | Inhalt: %s\n%s", tmp, in, string);
count ++;
}Das ist mein Jetziger Code, also der Richtige name in der Liste wird angezeigt auch der Richtige Inhalt.
Nur wenn ich drauf klicke passiert nichts!Ich lasse d_Namen so zuweisen!
d_Namen[playerid] = playerid;
Dies wird in /support zugewiesen, aber ich finde was ich da geschrieben macht kein Sinn!
new tmp_id = d_Namen[listitem];
-
Schau:
//Du machst oben in dein Skript:
new d_Namen[4];//Dann weißt du der Variable die IDs von den Spielern zu, die du haben willst:
d_Namen[0] = 5; //Also hier hätten wir jetzt Spielerid 5 mit drinnen..usw//Dann da wo du deinen Dialog anzeigen willst:
for(new i,tmp[MAX_PLAYER_NAME]; i<sizeof d_Namen; i++) {
GetPlayerName(d_Namen[i],tmp,MAX_PLAYER_NAME);
//Hier formatierst du alles zu einem String und zeigst dann die Namen im Dialog an
}//Und dann unter OnDialogResponse
if(dialogid == DIALOG_TICKETS) {
if(listitem >= sizeof d_Namen || !response) return 1;
new tmp_id = d_Namen[listitem];
if(!IsPlayerConnected(tmp_id))return SendClientMessage(playerid, HellRot, "...");
if(!GetPVarInt(tmp_id, "JustReport"))return SendClientMessage(playerid, HellRot, "FEHLER:{FFFFFF} ...");
if(tmp_id==playerid)return SendClientMessage(playerid, HellRot, "FEHLER:{FFFFFF} ...");
}mfg.
Bist du dir Sicher das dass hier Richtig ist ?
for(new i,tmp[MAX_PLAYER_NAME]; i<sizeof d_Namen; i++) {
GetPlayerName(d_Namen[i],tmp,MAX_PLAYER_NAME);
}Soweit mir bekannt ist der 1. Parameter von GetPlayerName (playerid). Und du benutzt da d_namen[i]
Beziehungsweise d_namen kann ja auch als Feldervariable genutzt werden..
Aber du lässt das ganze ja in tmp ausgeben, dass lässt sich dann nicht einfach mit d_namen wieder auslesen.
Muss das ganze dann nicht so aussehen ?
for(new i; i<GetMaxPlayers(); i++) {
GetPlayerName(i,d_namen[i],MAX_PLAYER_NAME);
}sizeof(d_namen); sollte auch gehen solange genügend Felder erlaubt sind
Ich bitte um Antwort
-
Guten Tag,
Mein Name lautet CIBERKILLER.
Und zwar bräuchte ich mal einen Rat.
Ich möchte einen Listen Dialog haben, 4 leute stehen drinne.name1,name2,name3,name4
Wenn ich auf name1 klicke soll ich auch die entsprechende ID bekommen, aber meinem code verwechselt er die IDS. (Sprich man klickt auf mich, man bekommt dann aber sich selber ab!)
Quellcode:
if(dialogid == DIALOG_TICKETS)
{
new tmp_id = listitem += 1;
if(!tmp_id)return 1;
if(!response)return 1;
if(!IsPlayerConnected(tmp_id))return SendClientMessage(playerid, HellRot, "...");
if(!GetPVarInt(tmp_id, "JustReport"))return SendClientMessage(playerid, HellRot, "FEHLER:{FFFFFF} ...");
if(tmp_id==playerid)return SendClientMessage(playerid, HellRot, "FEHLER:{FFFFFF} ...");
}Mit freundlichen Grüßen,
CIBERKILLER
-
heyhooo
Vielen Dank - Funktioniert nun wie gewollt! -
Du hast doch selbst 2 SchleifenIch kann ja mal einen Speedtest machen und dir das Ergebnis präsentieren (ich poste den gleich hier rein)
mfg.
Naja nur leider der Quellcode Fehlerhaft ist, wenn keiner & wenn einer im Fahrzeug sitzt!
-
Wenn du Beiträge komplett ignorierst, kann man dir auch nicht helfen...
L.G.Ich ignoriere keinen einzigen Beitrag!
Jetzt erkläre mir doch bitte sich in diesem Quellcode der Fehler befindet! (Es mag so aussehen dass ich sie ignoriere)Generell heißt es für mich in der Schleife mit if abfragen & continue zu arbeiten! So habe ich das Gelernt!
-
Aktuell Funktioniert es immer noch nicht.
Quellcode:
new vID, i;
for(;i<GetMaxPlayers();i++){
if(!IsPlayerConnected(i))continue;
if(IsPlayerNPC(i))continue;
if(!sStats[i][Eingeloggt])continue;
if(!IsPlayerInAnyVehicle(i))continue;
vID = GetPlayerVehicleID(i);
VehicleFree[vID] = false;
}
for(;i<MAX_VEHICLES;i++){
if(VehicleFree[i] == false)continue;
SetVehicleToRespawn(i);
} -
Ahh mir ist gerade ein Logik Fehler aufgefallen.
Doch es spawnen autos nur respawnen tuhen sie nichtAlso ich habe frage ab wenn er in einem fahrzeug sitzt soll er übersprungen werden.
Aber dann benutze ich noch wie ein Depp GetPlayerVehicleID ...
Gibt es möglichkeit abzufragen ob ein fahrzeug leer ist?