Ok thx an euch zwei
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Ich kann den NPC's keine Skins vergeben :o...
Immer wenn er Connectet gebe ich ihm zwar nen Skin, aber den hat er am Ende nicht..
-
stock LoadGroups(gid){
new query[200];
format(query,200,"SELECT * FROM `gruppen` WHERE `G_ID`='%d'",gid);
mysql_tquery(handle,query,"OnGroupLoad","d",gid);
return 1;
}for(new i=0;i<sizeof MAX_GROUPS;i++){//Fehlerzeile
LoadGroups(i);
}Fehler:
error 020: invalid symbol name ""
Wo liegt da der Fehler?ArTeX: Zeig mal den Code davon.
-
MAX_GROUPS ist eine Definierung, richtig?
Dann entferne sizeof -
Bei mir wird nichts geprintet.
public OnGroupLoad(gid){
new Num[2];cache_get_data(Num[0],Num[1],handle);
if(Num[0]==1){
cache_get_field_content(0,"G_Name",Gruppe[gid][G_Name],handle);
cache_get_field_content(0,"G_Leader",Gruppe[gid][G_Leader],handle);
Gruppe[gid][G_ID] = cache_get_field_content_int(0,"G_ID",handle);
Gruppe[gid][G_Slots] = cache_get_field_content_int(0,"G_Slots",handle);
Gruppe[gid][G_SlotsIns] = cache_get_field_content_int(0,"G_SlotsIns",handle);
printf("%s",Gruppe[gid][G_Name]);
}
return 1;
}
Also beim Printen kommt nichts raus, woran kann das liegen? -
Dann ist wahrscheinlich Num[0] false/0.
Ich habe ein Problem:
if(HIT_KeyUp[playerid]) {
if(PRESSED(KEY_SPRINT)) {
if(GetPVarInt(playerid, "pInjuredTime") > gettime() && GetPVarInt(playerid, "pInjuredLeg") && HIT_PlayerPlaysAnimation[playerid] == false) {
ApplyAnimation(playerid, "ped", "run_civi", 4.0, 1, 1, 1, 1, 1);
SendClientMessageToAll(-1, "sd");
HIT_PlayerPlaysAnimation[playerid] = true;
} else if(GetPVarInt(playerid, "pInjuredTime") < gettime()) {
SetPVarInt(playerid, "pInjuredTime", 0);
SetPVarInt(playerid, "pInjuredLeg", 0);
}
}
}Also, alles klappt bis auf die Animation, "sd" wird auch gesendet, weiß einer bescheid?
-
Kann nicht, weil die Slots geladen werden
-
Okay, dann schreib mal "Text: %s", vielleicht ist der Name nur leer.
-
[15:41:11] Number of vehicle models: 1
[15:41:11] Text:
Ja, der Print wird geladen, bloß der Name ist wohl irgendwie leer.
In der Datenbank steht als Testname "Hi".Klappt, ich musste die Länge mit einfügen
-
Hey Leute,
ich habe versucht an die Neuling Roller ein Textlabel anzuklatschen.
Doch wenn ich InGame bin sehe ich nichts ..Hier mal was ich alles habe
new stringx[128],Text3D:Roller3D,NewbieRollerVehs[8];NewbieRollerVehs[0] = AddStaticVehicleEx(462,1285.5205,-1537.9315,13.0822,254.8293,6,0,-1); // Newbie Roller 0 NewbieRollerVehs[1] = AddStaticVehicleEx(462,1285.4490,-1539.1919,13.0910,259.6533,6,0,-1); // Newbie Roller 1 NewbieRollerVehs[2] = AddStaticVehicleEx(462,1286.5742,-1534.9928,13.0933,244.8195,6,0,-1); // Newbie Roller 3
stock RookiRollerLabel(playerid){ for(new pv = 0; pv < sizeof(NewbieRollerVehs); pv++) { format(stringx,sizeof(stringx),"NO DM"); NewbieRollerVehs[pv] = Create3DTextLabel(stringx,0x23FF00FF,0.0,0.0,0.0,25.0,0,1); Attach3DTextLabelToVehicle(Roller3D,NewbieRollerVehs,0.0,0.0,2.0); } return 1;} -
-
NixMuss:
new stringx[128],Text3D:Roller3D[8],NewbieRollerVehs[8];NewbieRollerVehs[0] = AddStaticVehicleEx(462,1285.5205,-1537.9315,13.0822,254.8293,6,0,-1); // Newbie Roller 0
NewbieRollerVehs[1] = AddStaticVehicleEx(462,1285.4490,-1539.1919,13.0910,259.6533,6,0,-1); // Newbie Roller 1
NewbieRollerVehs[2] = AddStaticVehicleEx(462,1286.5742,-1534.9928,13.0933,244.8195,6,0,-1); // Newbie Roller 3stock RookiRollerLabel(playerid)
{
for(new pv = 0; pv < sizeof(NewbieRollerVehs); pv++)
{
format(stringx,sizeof(stringx),"NO DM");
Roller3D[pv] = Create3DTextLabel(stringx,0x23FF00FF,0.0,0.0,0.0,25.0,0,1);
Attach3DTextLabelToVehicle(Roller3D[pv],NewbieRollerVehs,0.0,0.0,2.0);
}
return 1;
} -
-
Attach3DTextLabelToVehicle(Roller3D[pv],NewbieRollerVehs[pv],0.0,0.0,2.0);
-
Attach3DTextLabelToVehicle(Roller3D[pv],NewbieRollerVehs[pv],0.0,0.0,2.0);
Man kann es immer noch nicht sehen
-
Ungetestet:
#define MAX_NROLLER 10
new NoobRoller[MAX_NROLLER];
new Text3D:Roller3DLabel[MAX_NROLLER];
new NoobRollerCounter;stock CreateNoobRoller(Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay) {
if(NoobRollerCounter == 10) return 0;
NoobRoller[NoobRollerCounter] = CreateVehicle(462, x, y, z, angle, color1, color2, respawn_delay);
Roller3DLabel[NoobRollerCounter] = Create3DTextLabel("NO DM", 0x23FF00FF, 0.0, 0.0, 0.0, 25.0, 0, 1);
Attach3DTextLabelToVehicle(Roller3DLabel[NoobRollerCounter], NoobRoller[NoobRollerCounter], 0.0, 0.0, 2.0);
NoobRollerCounter++;
return 1;
} -
Edgar: Kannst du vllt. sagen wie der Code dafür lautet mit Position und Skin ?
--
Kann mir da einer helfen ?
Ich hab einmal einen Pizza Shop und nen anderen Shop die eben 2 andere Funktionen mit Enter haben sollen
da kommt bei mir immer Error ..
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & 16) //Enter-Taste
{
if(IsPlayerInAnyVehicle(playerid))return 0;
else if(IsPlayerInPizza(playerid))
{
{
SetPlayerHealth(playerid, 100.0);
GivePlayerMoney(playerid, -20);
ApplyAnimation(playerid,"FOOD","EAT_Pizza", 3.0, 0, 0, 0, 0, 0);
}
else // error
{
GivePlayerHealth(playerid, 20.0);
GivePlayerMoney(playerid, -20);
ApplyAnimation(playerid,"FOOD","EAT_Pizza", 3.0, 0, 0, 0, 0, 0);
}
}
else if(IsPlayerInShop(playerid))
{
ShowPlayerDialog(playerid, DIALOG_SHOP, DIALOG_STYLE_LIST,"Shop","Weste\nLeben","Weiter","Abbrechen");
}
}
return 1;
} -
Erstellen:
CreateNoobRoller(1285.5205,-1537.9315,13.0822,254.8293,6,0,-1); // Newbie Roller 0Und bei deinem anderen Code fehlt nach
else if(IsPlayerInPizza(playerid))Die Abfrage, wann du dem Spieler die Health zu 100 setzen willst. Du hast darunter nur den else Fall, keinen if Fall davor.
-
-
Setze einen Timer, wenn du Enter gedrückt hast von 100ms, und zeige dem Spieler erst dann den Dialog.
Mit SetTimerEx. -
dcmd_admins(playerid,params[])
{
#pragma unused params
new string[128];
for(new i; i < MAX_PLAYERS; i++) {
if(!IsPlayerConnected(i) || !AccInfo[i][Level] || AccInfo[i][Hide]) continue;
format(string, sizeof string, "%sAdmin %s (ID:%i)- {0098D3}Level %d{FFFFFF}\n",string,PlayerName2(i),i, AccInfo[i][Level]);
}
if(!string[0]) return ShowPlayerDialog(playerid,NO_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins","\n\nThere are no admins\ncurrently available.","Close","");
return ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins",string,"Close","");
}Wie lasse ich einen Text über den String anzeigen? Beispielsweise "Following Admins are currently online:\n" und das nur einmal anstatt bei jedem Admin der online ist?
Habe ziemlich alles ausprobiert und bekomme dabei nie das raus, was ich eigentlich haben will :s