Macht das ein Großen Ressourcen unterschied ?
Es ist auf seine Weise auf jeden Fall dynamischer.
Es macht jetzt keinen riesigen Unterschied.
Es so zu machen, ist aber zu empfehlen.
Gruß.
Macht das ein Großen Ressourcen unterschied ?
Es ist auf seine Weise auf jeden Fall dynamischer.
Es macht jetzt keinen riesigen Unterschied.
Es so zu machen, ist aber zu empfehlen.
Gruß.
Okay ich versuchs nochmal,
Da SavePass kein String ist, brauchst du auch nicht strcmp sondern den "=="(isequal) oder "!="(isnot) Operator
ersetze if(!strcmp(inputtext, Spieler[playerid][SavePass], false))
durch if(strval(inputtext) == Spieler[playerid][SavePass])
Du beschwerst dich darüber dass dir jmd helfen will? Da läuft wohl was falsch.
Wenn der Wert Gleich ist, soll dann ocmd_ oder der Dialog aufgerufen werdne?
Am Schluss setzt du nur "Drogen[ i ][dPflanzeText]" zurück.
Das musst du aber auch noch für alle anderen variablen machen
Eine letzte Frage:
wie forme ich das mysql_store_result mysql_retrieve_row auf MySQL R41 um? Finde da irgendwie nix passendes
du musst "mysql_query" benutzen
Unter "OnGameModeInit" musst du sicherstellen dass du die connectionid speicherst. Erstelle eine Globale Variable = "new dbhandle;"
Und unter "OnGameModeInit" verbindest du zur Datenbank und speicherst die id.
"dbhandle = mysql_connect(PARAMETER);"
mysql_store_result wird zu "new Cache:result = mysql_query(dbhandle, query);"
dannach fragst du Daten ab wie z.B: "cache_get_value_name_int(0, "Test", Variable);"
Und es ist ganz WICHTIG dass du am Schluss den Cache wieder löscht!
cache_delte(result);
Eine Lösung hab ich leider nicht aber ich kann dir sagen welche Funktion den klickbaren Bereich definiert:
Und wie mach ich das nochmal, wenn ich zB /id Edw eingebe und dann jeder Name der mit Edw anfängt auf gelistet wird?
Ich benutze ZCMD und sscanf, musst du dann an dein Script einfach anpassen
CMD:id(playerid, params[]){
new partofname[MAX_PLAYER_NAME+1];
if(sscanf(params, "s[25]", partofname))return SendClientMessage(playerid, 0xF21111FF, "/id name");
new count=0;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i))continue;
new name[MAX_PLAYER_NAME+1];
GetPlayerName(i, name, sizeof(name));
if(strfind(name, partofname, true) != -1)
{
SendClientMessage(playerid, -1, name);
count++;
}
}
if(!count)SendClientMessage(playerid, 0xF21111FF, "Keine Spieler unter diesem Namen gefunden.");
return 1;
}
Alles anzeigen
Freakysnights
Ich glaube ich sollte heute aufhören zu scripten.
Mir fällt nicht ein wie ich mit einem teil eines namens den ganzen Namen anzeigen lassen kann
Du kannst sscanf benutzen wenn dus nicht zu umständlich haben magst.
z.B.
Ralf heißt der Spieler auf dem Server.
Du gibst aber nur "Ra" ein, und nun soll er daraus den ganzen Namen finden:
Ja dann soll er bei windows unten rechts auf den lautsprecher rechtsklicken.
Dann auf "Aufnahmegeräte" .
Und dann sein Mikrofon auswählen und es als Standard auswählen.
Teamspeak öffnen -> Einstellungen -> Optionen -> Aufnahme
Und beim Aufnahmegerät wählste dann das Mikrofon aus statt "Standard"
?????????
Nimm doch einfach Arial. Und wenn dir Arial nicht reicht, probierste halt eine neue Schriftart aus, startest den server neu, und schaust ob sie richtig angezeigt wird.
Rum probieren
Das war das allererste Ergebnis bei mir:
if (strcmp("/text", cmdtext, true) == 0)
{
new objectid = CreateObject(19353, 0, 0, 10, 0.0, 0.0, 90.0); //create the object
SetObjectMaterialText(objectid, "SA-MP {FFFFFF}0.3{008500}e {FF8200}RC7", 0, OBJECT_MATERIAL_SIZE_256x128,
"Arial", 28, 0, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
// write "SA-MP 0.3e RC7" on the object, with orange font color and black background
return 1;
}
Und da du ja neu bist, reicht dir als Fontface erstmal "Arial" aus.
Das liegt dann doch nicht an mir? Ich habe dir gesagt wie du deine Sache gemacht bekommst. Aber die Community ist nicht dafür da, um alles für dich zu schreiben solange ein bisschen googlen aussreicht.
Gruß.
Das habe ich gesagt, weil es dazu schon genug Beiträge gibt und man dafür auch nur eine Funktion braucht.
Einfach mal Googlen, "samp objekt text", hat mich nur 10 sekunden gekostet....
Hab das Dialogresponse nochmal geändert, damit der slot auch resetet wird sobald man eine waffe raus nimmt:
if(dialogid == DIALOG_GUNOPTION1)
{
//new weaponname = GetPlayerWeapon(playerid), wename = GetWeaponModelIDFromName(weaponname), wammo = GetPlayerAmmo(playerid), ;
new wammo = GetPlayerAmmo(playerid), weaponid = GetPlayerWeapon(playerid);
if(response)
{
if(Spieler[playerid][BPGun1])return SendClientMessage(playerid, -1, "In Slot1 ist schon eine Waffe.");
if(weaponid != 0)
{
Spieler[playerid][BPGun1]=weaponid;
Spieler[playerid][BPAmmo1]=wammo;
RemoveWeaponForPlayer(playerid, weaponid);
}
}
else
{
if(!Spieler[playerid][BPGun1])return SendClientMessage(playerid, -1, "Du hast eine solche Waffe nicht im Rucksack.");
GivePlayerWeapon(playerid, Spieler[playerid][BPGun1], Spieler[playerid][BPAmmo1]);
Spieler[playerid][BPGun1]=0;
Spieler[playerid][BPAmmo1]=0;
}
}
Alles anzeigen