Beiträge von DisturbedNoobTV
-
-
Ich habe Klassen erstellt, aber derzeit das Problem diese korrekt aufzurufen und wenn ein Spieler den Server verlässt den "new Player" zu zerstören
Code
Alles anzeigenpublic class Player { public int Playerid { get; set; } public string Playername { get; set; } public int Playermoney { get; set; } public bool PlayerOnline { get; set; } public Player(IPlayer player) { } }
zudem möchte ich jederzeit auf das Object zugreifen können
PS: Alles was ich bisher weiß, habe ich mir selbst eingelesen oder beigebracht trotz teilweise extrem schlechter Quellen
-
Hi zusammen
ich sinniere derzeit, wie ich folgende Enums in C# hinbekommen
Code
Alles anzeigenenum playerInfo { pid, accountname[MAX_PLAYER_NAME], permission, //0 = Spieler, 1 = Supporter, 2 = Admin, 3 = Developer, 4 = Owner reg_date, charname[MAX_PLAYER_NAME], gender, skinid, birthday, cash, bankaccount, bankbalance, pdaymoney, pdaytime, faction, ochat, fchat, premium, bool: register, bool: online, bool: onjob, bool: duty } new pInfo[MAX_PLAYERS][playerInfo];
Ich möchte dies für ein Fraktions-/ Organisationssystem nutzen, leider bekomme ich dies nicht hin
Hat wer nen brandheißen Tipp für mich?
-
Hab ich bereits, aber dort reagiert wie üblich keiner. Da habe ich sogar noch ein weiteres Problem angesprochen, dass ich die Fahrzeuge nicht in Enum mit Index packen kann wie bei SAMP, werde wahrscheinlich hier auch dazu hilfe suchen
Edit: Habs hinbekommen der zweite Asset-Ordner muss doch drin sein
PS: Hab mal das Fertige hochgeladen -> Benutzt es nach freien Belieben
-
Ja ohne Fahrzeug war der Spawn normal
-
-
-
Hier mal die ganzen Spass unpacked
Spawn wird bereits im Visual Studio geweigert und nicht compiliert
-
Unknown Hash ist die Fehlermeldung, was für mich heißt das der Server das Fahrzeug nicht findet
-
Fehlermeldung ist mit "Unknown Hash" deklariert. Es ist klar, dass das Script das Fahrzeug ja erst kennt, wenn der Server läuft, da es ja kein Standart-Fahrzeug ist!
-
Ich kenne den Guide bereits, aber ich bekomme die Fahrzeuge nicht gespawnt, dass der Server nicht startet oder crasht, wenn ich versuche ein Fahrzeug zu spawnen.
Ich möchte die Fahrzeuge halt über Csharp spawnen
-
Grüße zusammen
Ich hoffe, dass hier vielleicht jemand die Lösung für mich weiß. Ich versuche seit Tagen, das hier einzubinden (https://www.gta5-mods.com/vehi…t-add-on-custom-soundbank)
Ich bekomme es weder über JS/Node, noch über Csharp(C#) hin. Daher bitte ich hier um eure Hilfe, bevor ich vor lauter Verzweiflung meine Monitore zernage oder durchlöcher
Gruß der Noob
-
Werde ich mal probieren! Ich melde mich wieder
PS: Hat leider nicht geklappt, ich komme wohl nicht an einer eigenen Skinauswahl vorbei, wenn ich ich so haben möchte, wie ich mir das vorstelle
-
Okay tut mir leid das wusster ich nicht! Da hat sich die Sache erledigt
-
Ich verstehe das nicht ich hatte vor ein paar Tagen den Beitrag Skinauswahl nach Geschlecht erstellt, aber ich kann diesem nicht mehr antworten und aus diesem Grund hatte ich einen neuen Beitrag eröffnet, aber dieser wurde Minuten später einfach gelöscht!
Bitte um Rückmeldung
Gruß Addra
-
So habe ich das bisher:
#define DIALOG_GENDER 1
enum playerInfo{
...
gender,
skin,
...
}
new pInfo[MAX_PLAYERS][playerInfo];new male[22];
new female[22];public OnPlayerClassRequest(playerid)
{
SetPlayerPos(playerid, 870.0127,-25.0943,63.9828);
SetPlayerCameraPos(playerid, 867.3280,-33.1046,63.1953);
SetPlayerCameraLookAt(playerid, 870.0127,-25.0943,63.9828);
SetPlayerFacingAngle(playerid,162.4662);
if(pInfo[playerid][gender] == 1)
{
female[1] = AddPlayerClass(12, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[2] = AddPlayerClass(13, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[3] = AddPlayerClass(40, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[4] = AddPlayerClass(56, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[5] = AddPlayerClass(65, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[6] = AddPlayerClass(69, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[7] = AddPlayerClass(93, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[8] = AddPlayerClass(131, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[9] = AddPlayerClass(91, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[10] = AddPlayerClass(216, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[11] = AddPlayerClass(215, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[12] = AddPlayerClass(193, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[13] = AddPlayerClass(190, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[14] = AddPlayerClass(169, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[15] = AddPlayerClass(192, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[16] = AddPlayerClass(195, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[17] = AddPlayerClass(211, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[18] = AddPlayerClass(41, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[19] = AddPlayerClass(226, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[20] = AddPlayerClass(233, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
female[21] = AddPlayerClass(298, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
}
else
{
male[1] = AddPlayerClass(303, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[2] = AddPlayerClass(2, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[3] = AddPlayerClass(6, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[4] = AddPlayerClass(7, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[5] = AddPlayerClass(229, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[6] = AddPlayerClass(20, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[7] = AddPlayerClass(21, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[8] = AddPlayerClass(22, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[9] = AddPlayerClass(23, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[10] = AddPlayerClass(24, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[11] = AddPlayerClass(25, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[12] = AddPlayerClass(28, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[13] = AddPlayerClass(29, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[14] = AddPlayerClass(33, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[15] = AddPlayerClass(37, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[16] = AddPlayerClass(46, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[17] = AddPlayerClass(59, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[18] = AddPlayerClass(304, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[19] = AddPlayerClass(305, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[20] = AddPlayerClass(299, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
male[21] = AddPlayerClass(250, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
}
return 1;
}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOG_GENDER)
{
if(response)
{
if(listitem==0)
{
pInfo[playerid][gender] = 0;
SendClientMessage(playerid,COLOR_GREEN,"((Registrierung)) Du bist also ein Mann");
SendClientMessage(playerid,COLOR_GREEN,"((Registrierung)) Schritt 4 von 4 - Skinauswahl");
SavePlayerGender(playerid);
OnPlayerClassRequest(playerid);}
if(listitem==1)
{
pInfo[playerid][gender] = 1;
SendClientMessage(playerid,COLOR_GREEN,"((Registrierung)) Du bist also eine Frau");
SendClientMessage(playerid,COLOR_GREEN,"((Registrierung)) Schritt 4 von 4 - Skinauswahl");
SavePlayerGender(playerid);
OnPlayerClassRequest(playerid);}
}
return 1;
}
return 1;
}Problem ist nur das der erste Skin immer falsch ist, das heißt man wählt weiblich und angezeigt wird als erstes ein Skin für männlich. Um Fehler zu vermeiden, dass die Skins erst gar nicht angezeigt werden, sind alle Skins auch unter OnGameModeInit angegeben! Hatte auch schon über eine eigene ClassRequest es versucht!
PS: habe einige Dinge nicht drin, da diese nichts hiermit zu tun haben, wie zum Beispiel die Funktion SavePlayerGender. Gespeichert werden alle Spielerdaten per MySQL!
-
Hallo ihr lieben Brotfische
wie der Titel bereits sagt, möchte ich gerne dei der Registrierung eines neuen Spielers, bei der auch nach dem Geschlacht gefragt wird, auch eine Skinauswahl anzeigen lassen. Diese sollte wenn man zum Beispiel als Geschlecht vorher "weiblich" angegeben hat, nur weibliche Skins zeigen. Ich proboere bereits seit Monaten eine Möglichkeit dazu zu scripüten, was bisher nicht den gewünschten Erfolg hatte!
Ich wende mich nun an euch, da vielleicht einer von euch bereits die Lösung hat und diese gerne mit mir teilen würde
MfG Addra
-
@Douq: Danke das war mein Fehler! Warum denkt man so selten an die Null?
So klappts jetzt:
for(new i=0; i<MAX_VEHICLES; i++)
{
new mID = GetVehicleModel(i);
if(mID == 0)continue; // Wenn Null, dann überspringen und Schleife zu Ende bringen! Nicht gerade ressourcenschonend, aber in der Zeit der heutigen CPUs ist das eher egal
cartank[i] = cInfo[mID-400][tank];
}@BreadScript: Was du vorgeschlagen hattest, ist ja eigentlich bereits im Script drin, aber danke dir
Ich danke auch euch allen anderen, die geholfen haben! Ich werde das System vllt. veröffentlichen, wenn es komplett fertig ist.
Gruß Addra
-
Es ist immer noch derselbe Fehler.
[00:24:38] [debug] Run time error 4: "Array index out of bounds"[00:24:38] [debug] Accessing element at index 212 past array upper bound 211[00:24:38] [debug] AMX backtrace:[00:24:38] [debug] #0 00006cc8 in public SSCANF_OnGameModeInit () from server.amx[00:24:38] [debug] #1 00000a34 in public OnGameModeInit () from server.amx
Was soll das Ding können?
Alle Auto durch-"schleifen", die Model-ID rausfinden und den Tank zuweisenBTW:
new Float:cartank[MAX_VEHICLES];
ist bereits deklariert.GetVehicleModel sollte wegen der Sache mit den verschiedenen Tankgrößen eigentlich drin sein! Wie bereits gesagt:
Nicht jedes Modell hat die selbe Tankgröße!
Nochmals der Code für die Sache:
enum CarInfo{
model[32],
Float:tank //Tankgröße die abgefragt werden, je nach Modell
}
new cInfo[][CarInfo] ={
{"Landstalker",38.0},
{"Bravura",42.0},
{"Buffalo",40.0},...// Gekürzt wegen Platz
{"Boxville",60.0},
{"Tiller",62.0},
{"Utility Trailer",45.0}
};new Float:cartank[MAX_VEHICLES];
public OnGameModeInit()
{for(new i=0; i<sizeof(cartank); i++) //Beim Serverstart sollen alle Fahrzeuge ihren Tank mit den Daten aus der cInfo[id in der Liste -400][tank] gefüllt bekommen -> Und genau hier liegt das Problem!
{
new vID = GetVehicleModel(i); //<- Wird wegen der Model-ID gebraucht!
cartank[i] = cInfo[vID-400][tank]; //Warum -400? Weil die VehicleIDs nicht mit 1 beginnen wie wir alle wissen
}
return 1;
} -
Es muss auch das Model abgefragt werden, damit auch die Tankanzeige stimmt! In meinem Script hat jedes Fahrzeugmodel unterschiedlich Tankgrößen
Beispiel:
Der Buffalo fasst 40.0 l während der Bravura bei vollem Tank 42.0 l fasst.Dieses System wollte ich beibehalten.
Wenn ich das bei OnGameModeInit() eintrage
for(new i=0; i<sizeof(cartank); i++)
{
cartank[i] = cInfo[i][tank];
}erhalte ich trotzdem folgende Fehlermeldung , wenn ich den Server starte
[18:38:22] [debug] Run time error 4: "Array index out of bounds"
[18:38:22] [debug] Accessing element at index 212 past array upper bound 211