GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: ZeRo - 2009. December 22. - 18:56:43

Cím: strreplace
Írta: ZeRo - 2009. December 22. - 18:56:43
Amint a nevébol is kiderül, ezzel a függvénnyel módosíthatjuk egy sztring értékét. Pontosabban az lesz az értéke, amit a másik paraméterben megadunk( azaz egy másik sztring ). Mintha felülírnál egy fájlt, csak karakterlánccal.
 

stock strreplace( oldstring[  ], newstring[  ] ) {
new index = 0;
if( strcmp( oldstring, newstring, true ) == 0 ) return 0;
if( strlen( oldstring ) > strlen( newstring ) ) {
while( index < strlen( oldstring ) ) {
   oldstring[ index ] = newstring[ index ];
   index++;
        }
} else {
    while( index < strlen( newstring ) ) {
   oldstring[ index ] = newstring[ index ];
   index++;
}
}
return 1;
}

 
A függvény az oldstring karakterláncot fogja módosítani a newstring karakterláncra. Persze a newstring nem fog megváltozni. A függvény továbbá automatikusan kezeli a hosszúságot( helyesen formáz akkor is, ha az oldstring hosszabb a másiknál ).
 

public OnFilterScriptInit(  ) {
//Karakterláncok létrehozása
new Old[ 32 ],
New[ 32 ];
//Formázások
format( Old, sizeof Old, \"ZeRo\" );
format( New, sizeof New, \"strreplace\" );
//Alapérték kiíratása
print( Old );
print( New );
//A helyettesítés elvégzése
strreplace( Old, New );
//A végeredmény kiíratása
print( Old );
print( New );
return 1;
}

 
ZeRo
Cím: strreplace
Írta: Mike - 2009. December 22. - 22:03:06
Jó lett ;D ( azért csak jó, mert én ezekhez igazán nem értek xD De ha értenék azt mondanám Faja lett  ;D )
Cím: strreplace
Írta: Csabesz - 2009. December 22. - 22:24:36
Faja lett ;D
Cím: strreplace
Írta: ZeRo - 2009. December 23. - 12:56:42
Köszönöm.
ZeRo
Cím: strreplace
Írta: Epsilon - 2009. December 24. - 15:54:56
// estrreplace(oldstr[],newstr[])
#define estrreplace(%1,%2) format(%1,sizeof(%1),\"%s\",%2)